Étape 3: L’esquisse de l’Arduino
Voici l’esquisse que j’utilise pour lancer le chronomètre.
/ / Bibliothèques de charge pour LCD affichent et créer et objet lcd#include < Wire.h > #include < LiquidCrystal_I2C.h > lcd LiquidCrystal_I2C (0 x 27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE) ; / / Initialiser des variables / / Haute valeur afin que le premier tour est toujours un chronochar last [16]; char mieux [16] ; void setup() {/ / initialiser l’afficheur LCD/ / initialiser la communication série à 9600 bps/ / allumez le récepteur IR/ / un objet est détecté/ / enregistrer à l’heure actuelle/ / émet un signal sonore/ / calculer le temps au tour/ / Réinitialiser l’horloge/ / vérifier si c’est le meilleur tour si (tour < bestLap) {bestLap = tour;} / / Calculer les secondes et les millisecondes pour une impression plus agréable de Chrono / / Imprimer le temps au tour sur le port série sprintf (enfin, "Last: % 02u\"%03u ", sec, msec) ; Serial.println(Last) ; / / Imprimer le chrono sur l’écran LCD / / Définir le curseur sur la première ligne de diplay lcd.print(last) ; / / Calculer les secondes et les millisecondes pour une impression plus agréable du meilleur chrono unsigned int bestSec = bestLap / 1000 ; unsigned int bestMsec = bestLap - bestSec * 1000 ; / / Imprimer le meilleur temps sur le port série sprintf (meilleur, "Best: % 02u\"%03u ", bestSec, bestMsec) ; Serial.println(Best) ; / / Imprimer le meilleur temps sur l’écran LCD / / Définir le curseur sur la deuxième ligne d’affichage / / Nécessaire pour éviter que la voiture déclenche plusieurs détections