Paso 3: El Sketch de Arduino
Aquí está el bosquejo que utilizo para correr el cronómetro.
/ / Carga bibliotecas para LCD mostrarán y crearan y objeto de lcd#include < Wire.h > #include < LiquidCrystal_I2C.h > LiquidCrystal_I2C lcd (0x27, 2, 1, 0, 4, 5, 6, 7, 3, positivo); / / Inicializar variables / / Alto valor para que la primera vuelta es siempre una mejor vueltachar pasado [16]; char mejor [16]; void setup() {/ / inicializar la pantalla LCD/ / inicializar la comunicación serial a 9600 bps/ / enciende el sensor de infrarrojos/ / un objeto se detecta/ / registro de la hora actual/ / reproducir un sonido/ / calcular el tiempo de vuelta/ rearme el reloj/ Compruebe si se trata de la mejor vuelta si (vuelta < bestLap) {bestLap = vuelta;} / / Calcular los segundos y milisegundos para imprimir más de tiempo de vuelta / / Imprimir el tiempo de vuelta en el puerto serie sprintf (último, "último: % 02u\"%03u ", sec, milisegundos); Serial.println(Last); / / Imprimir el tiempo de vuelta en la pantalla LCD / / Establecer el cursor en la primera línea de diplay lcd.print(last); / / Calcular los segundos y milisegundos para imprimir mejor del mejor tiempo de vuelta unsigned int bestSec = bestLap / 1000; unsigned int bestMsec = bestLap - bestSec * 1000; / / Imprimir el mejor tiempo de vuelta en el puerto serie sprintf (mejor, "mejor: % 02u\"%03u ", bestSec, bestMsec); Serial.println(Best); / / Imprimir el mejor tiempo de vuelta en la pantalla LCD / / Establecer el cursor en la segunda línea de la pantalla / / Necesario para evitar que el coche provoca múltiples detecciones