Étape 4: Téléchargement de votre code et obtenir, ça marche !
La pointe sur la deuxième photo illustre la réflexion sur le papier brillant dans chaque période de rotation. J’ai compté le temps entre ces pointes et obtenir la vitesse de rotation de la roue.
Sur la troisième photo, on voit la vitesse de votre roue dans serial monitor dans le logiciel Arduino.
Si tu as un Tube numérique, allez à la page suivante et copier celui-là.
/*************************************************************************
* Nom du fichier : Détecteur de vitesse.
* Auteur : Yuwei
* Mise à jour : Yuwei
* Date : 3/13/2014
* Description : J’utilise un Makeblock Me-LightSensor faire un détecteur de vitesse de roue.
Vous pouvez connecter cette Me-LightSensor à le PORT_3, PORT_7, PORT_6, PORT_8 de Me-plinthe.
* Copyright (C) 2013 Maker œuvres Technology Co., Ltd. Tous droits réservés.
* http://www.makeblock.cc/
**************************************************************************/
#include < Makeblock.h >
#include < Arduino.h >
#include < SoftwareSerial.h >
#include < Wire.h >
MeLightSensor lightSensor(PORT_6) ;
MeDCMotor motor1(M1) ;
motorSpeed uint8_t = 100 ;
valeur int = 0 ; une variable pour valeur du lightSensor
int count = 0 ;
int buff [3] ;
int somme = 0 ;
int omega ;
public static int matrice [3] = {-1, 4, -1} ;
void setup()
{
initialiser une communication série à 9600 bps
Serial.Begin(9600) ;
lightSensor.lightOn() ;
}
long time0 = 0 ;
void loop()
{
valeur = lightSensor.read() ;
motor1.Run(motorSpeed) ;
lire la valeur lightSensor :
Buff [0] = buff [1] ;
Buff [1] = buff [2] ;
Buff [2] = value ;
somme = matrice [0] * buff [0] + matrice [1] * chamois [1] + matrice [2] * buff [2] ;
Serial.println(Sum) ; Décommentez cette ligne et commentez les 15 prochains lignes si vous souhaitez afficher les données dans les graphiques de série
if(Sum >750)
{
Count ++ ;
long t=millis() ;
deltaT long = t-time0 ;
if(DeltaT>100)
{
oméga = 360000/deltaT ;
Vous pouvez utiliser Printf fuction si vous ajoutez la bibliothèque « printf » à imprimer classe.
plus de détails sur http://playground.arduino.cc/Main/Printf#.UyE3NxSSz9F
Serial.Print(Omega) ;
Serial.println("RAD/s") ;
}
time0 = t ;
}
Delay(2) ;
}