Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Cronómetro Arduino Nano LCD sin potenciómetro

Componentes y suministros

Breadboard (genérico)
× 1
Arduino Nano R3
× 1
LCD estándar Adafruit - 16x2 blanco sobre azul
× 1
Interruptor de botón SparkFun de 12 mm
× 3
Resistencia de 10k ohmios
× 5
Resistencia 221 ohm
× 1
Cables de puente (genéricos)
× 26

Acerca de este proyecto

¡Hola a todos!

Este proyecto es un proyecto de aprendizaje simple para comenzar con LCD. En este proyecto estoy usando Arduino NANO y LCD QUAPASS 1602A 16x2. Este cronómetro puede contar horas, minutos y segundos. También puede cambiar el brillo de la pantalla LCD.

Con solo un pequeño cambio de código, también puede contar centésimos, pero mi pantalla LCD no funciona porque la pantalla no se puede actualizar tan rápido.

He configurado tiempos casi perfectos para mi cronómetro (mi cronómetro tiene una desviación de alrededor del 15%, por lo que si lo ejecuta durante 10 minutos reales, serán 10 minutos y 2 segundos en mi cronómetro). Entonces, si va a cambiar algo en el subprograma de inicio (en el subprograma del programa llamado cronómetro), también deberá cambiar los tiempos debido al tiempo de ejecución de Arduino en cada código.

PASO 1

Conecte los cables al Arduino y al LCD de esta manera (mire lo que se muestra en SCHEMATIC).

PASO 2

Copie y pegue mi código a continuación en su IDE de Arduino. Y ahora conecte su Arduino en una unidad USB. Haga clic en el botón de carga y su programa debería estar ejecutándose.

PASO 3

Diviértete con mi cronómetro LCD simple y fácil de hacer.

Si tiene alguna pregunta, déjela en los comentarios.

Código

  • Código
Código Arduino
Este es el código de mi cronómetro. Simplemente cópielo en Arduino IDE y cárguelo en su Arduino.
 / * Programa de cronómetro LCD simple con botones de parada, inicio, reinicio y vuelta. * /// incluye biblioteca para LCD # incluye  // configuración up LCD INPUT pinsLiquidCrystal lcd (12,11,5,4,3,2); // ajuste de horas, minutos, segundos y milisegundos a 0int h =0; int m =0; int s =0; int ms =0; // define el pin para todos los botonesconst int start_pin =8; const int stop1_pin =9; const int reset_pin =10; // define puntos de partida (en mi caso 0) int start =0; int stop1 =0; int reset =0; int shine_pin =6; // define el pin para configurar el brilloint brillo =100; // puede cambiar este número para cambiar el brillo void setup () {analogWrite (brillo_pin, brillo); // esto establece el brillo en el pin 6 lcd.begin (16, 2); // LCD de inicio // definiendo pines si son pines INPUT o OUTPUT pinMode (start_pin, INPUT); pinMode (parada1_pin, ENTRADA); pinMode (reset_pin, ENTRADA); pinMode (brillo_pin, SALIDA);} bucle vacío () {lcd.setCursor (0,1); lcd.print ("CRONÓMETRO"); lcd.setCursor (0,0); lcd.print ("HORA:"); lcd.print (h); lcd.print (":"); lcd.print (m); lcd.print (":"); lcd.print (s); inicio =digitalRead (inicio_pin); // leer el estado del botón if (inicio ==ALTO) {cronómetro (); // va al cronómetro del subprograma}} // -------------------- SUB PROGRAMAS ----------------- -------- cronómetro anulado () {lcd.setCursor (0,0); // establecer el punto de inicio en lcd lcd.print ("HORA:"); // escribiendo TIEMPO lcd.print (h); // horas de escritura lcd.print (":"); lcd.print (m); // escribiendo actas lcd.print (":"); lcd.print (s); // escribiendo segundos ms =ms + 10; retraso (10); si (ms ==590) {lcd.clear (); // borra LCD} if (ms ==590) // if estado para contar segundos {ms =0; s =s + 1; } if (s ==60) // if estado para contar los minutos {s =0; m =m + 1; } if (m ==60) // if estado para contar las horas {m =00; h =h + 01; } lcd.setCursor (0,1); lcd.print ("CRONÓMETRO"); parada1 =lectura digital (parada1_pin); // leyendo el estado del botón if (stop1 ==HIGH) // comprobando si el botón está presionado {stopwatch_stop (); // yendo al subprograma} else {cronómetro (); // yendo al subprograma}} void stopwatch_stop () {lcd.setCursor (0,0); lcd.print ("HORA:"); lcd.print (h); lcd.print (":"); lcd.print (m); lcd.print (":"); lcd.print (s); lcd.setCursor (0,1); lcd.print ("CRONÓMETRO"); inicio =digitalRead (inicio_pin); // leer el estado del botón if (inicio ==ALTO) {cronómetro (); // yendo al subprograma} reset =digitalRead (reset_pin); // leer el estado del botón if (reset ==HIGH) {stopwatch_reset (); // yendo al subprograma loop (); } if (reset ==LOW) {stopwatch_stop (); // yendo al subprograma}} void stopwatch_reset () {lcd.clear (); lcd.setCursor (0,1); lcd.print ("CRONÓMETRO"); h =00; // establecer horas a 0 m =00; // establecer minutos en 0 s =00; // establecer segundos en 0 return; // salir del programa y regresar al punto donde ingresó al programa} 
Biblioteca
Esta es la biblioteca que necesita para LCD.https://github.com/arduino-libraries/LiquidCrystal

Esquemas

Este es un esquema de mi circuito.

Proceso de manufactura

  1. DIY Osciloscopio Arduino simple de 20 kHz en Nokia 5110 LCD
  2. Persianas inteligentes
  3. Iron Man
  4. Sensor de obstáculos simple con Arduino
  5. Encuéntrame
  6. Control del humidificador Arduino
  7. Osciloscopio DIY de 10Hz-50kHz en pantalla LCD de 128x64
  8. Joystick de Arduino
  9. Podómetro (Arduino 101)
  10. Mezclador de colores Arduino
  11. ¡Amigo de AI LCD!