Étape 3: programmation
Vous devrez également ajouter la bibliothèque de l’accéléromètre. Si vous n’avez pas ajouté une bibliothèque avant, créez un dossier appelé « bibliothèques » dans votre dossier de sketch Arduino et puis déplacer le dossier de l’accéléromètre à l’intérieur du dossier ci-joint bibliothèques dans votre nouveau dossier "bibliothèques".
total_points - contrôle le nombre de points de données enregistrées
loop_time de long non signé const - contrôles à quelle fréquence les données sont enregistrement ex. 5 correspond à 5ms.
Afin que le programme puisse fonctionner correctement le AcceleroMMA7361 bibliothèque s’ajoutent à votre dossier de bibliothèque Arduino et le programme de redémarrage.
Le nombre maximal de points de données peuvent être collectées sur l’Arduino SRAM est 700. Points de données supplémentaires peuvent être collectées avec une carte SD ou un stockage supplémentaire.
Le facteur d’échelle pour les valeurs trouvées "x" est : ((x/100)-1) / accélération due à la pesanteur). Accélération de la pesanteur est environ égal à 9,8. Les valeurs à l’échelle sont en m/s ^ 2.
Pour modifier la fréquence données points sont recueillies Ouvrez le fichier de programme et changent le loop_time entier constant de votre heure désirée. Ce nombre est en millisecondes.
Les LEDs correspondent à chacun des boutons et l’action suivante. Le bouton plus éloigné de l’accéléromètre met la LED verte allumée et les valeurs de registres. Le voyant s’éteint lorsque vous appuyez sur à nouveau et valeurs seront arrête sont recueillis. La LED rouge correspond au bouton le plus proche de l’accéléromètre et s’allume lorsque les valeurs sont transmises au moniteur série.
La LED rouge clignote deux fois au début pour indiquer que le démarrage de la boucle et la calibration est terminée et données peuvent maintenant être recueillies.
Le code plus simple pour cela pour s’assurer que tout fonctionne est :
Lorsque reposait sur quelque chose de l’axe Z devrait lire à peu près 1 et l’axe X et Y 0 chaque.
AcceleroMMA7361 accelero ;
int x ;
int y ;
int z ;
void setup()
{
Serial.Begin(9600) ;
Accelero.Begin (13, 12, 11, 10, A0, A1, A2) ;
accelero.setARefVoltage(5) ; définit la tension AREF à 3,3 v
accelero.setSensitivity(LOW) ; définit la sensibilité à +/-6G
Accelero.CALIBRATE() ;
}
void loop()
{
x = accelero.getXAccel() ;
y = accelero.getYAccel() ;
z = accelero.getZAccel() ;
Serial.Print ("\nx:") ;
Serial.Print(x) ;
Serial.Print ("\ty:") ;
Serial.Print(y) ;
Serial.Print ("\tz:") ;
Serial.Print(z) ;
Serial.Print("\tG*10^-2") ;
Delay(500) ; rendre lisible
}