Tabla de contenido:

Reloj, pantalla LCD, infrarrojos para configurar: 6 pasos
Reloj, pantalla LCD, infrarrojos para configurar: 6 pasos

Video: Reloj, pantalla LCD, infrarrojos para configurar: 6 pasos

Video: Reloj, pantalla LCD, infrarrojos para configurar: 6 pasos
Video: Real Time Clock - Modulo RTC DS3231 - Configuracion y Programacion 2024, Noviembre
Anonim
Reloj, pantalla LCD, infrarrojos para configurar
Reloj, pantalla LCD, infrarrojos para configurar
Reloj, pantalla LCD, infrarrojos para configurar
Reloj, pantalla LCD, infrarrojos para configurar

Construya un reloj de tiempo real que mantenga el tiempo activo en unos pocos minutos al año. El código y los componentes se pueden reutilizar fácilmente en otros proyectos.

Este proyecto requiere una cantidad mínima de cableado y sin soldaduras. El cronometrador es un reloj de tiempo real DS3231. La hora se muestra en una económica pantalla LCD 1602. Ambos módulos utilizan comunicaciones I2C. I2C solo usa 2 cables por módulo cuando se conecta a un Arduino. Estoy usando un Arduino Nano porque encaja muy bien en una placa de pruebas. Las siguientes instrucciones funcionarán con un Arduino Uno, ya que tiene los mismos números de pin que el Nano para este proyecto. El otro componente es el receptor de infrarrojos. Le permite usar un control remoto común, como el control remoto de TV, para configurar la hora tal como lo haría en nuestro televisor inteligente. El receptor de infrarrojos solo requiere un cable para conectarlo al Arduino.

El primer paso es probar el Arduino y conectarlo a la placa de pruebas. Los siguientes pasos están diseñados para funcionar de forma independiente. Cada paso tiene instrucciones de cableado e instrucciones de prueba. Cuando construyo proyectos, cableo y pruebo cada componente para confirmar que están funcionando. Esto ayuda a integrar una cantidad de componentes porque sé que cada trabajo y yo puedo enfocarme en los requisitos de integración.

Este Instructable requiere que tenga instalado Arduino IDE. También debe tener las habilidades básicas para descargar un programa de bocetos de Arduino desde los enlaces de este proyecto, crear un directorio para el programa (el nombre del directorio es el mismo que el del programa). Los siguientes pasos son cargar, ver y editar el programa en el IDE. Luego, cargue el programa a través de un cable USB en su placa Arduino.

Suministros

  • Nano V3 ATmega328P CH340G Micro placa controladora para Arduino. Como alternativa, puede utilizar un Uno.
  • Reloj de tiempo real DS3231 y batería CR2032.
  • 1602 LCD con módulo I2C
  • Receptor de infrarrojos y mando a distancia. Usé un kit de módulo de control remoto inalámbrico por infrarrojos que venía con un receptor de infrarrojos y un control remoto de infrarrojos.
  • Tablero de circuitos
  • Cables de alambre
  • Adaptador de pared de 5 voltios

Compré las piezas en eBay, principalmente a distribuidores de Hong Kong o China. En ocasiones, los distribuidores estadounidenses tienen piezas iguales o similares a precios razonables y entregas más rápidas. Las piezas de China tardan de 3 a 6 semanas en ser entregadas. Los distribuidores que he usado han sido todos confiables.

Costos aproximados: Nano $ 3, DS3231 $ 1, LCD $ 3, kit de infrarrojos $ 1, placa de pruebas $ 2, paquete de 40 cables de alambre $ 1, $ 1 por un adaptador de pared de 5 voltios. Total, alrededor de $ 11. Tenga en cuenta que compré el Nano y la pantalla LCD con los pines de la placa de pruebas ya soldados en su lugar, ya que mis habilidades de soldadura son deficientes. Para la batería del reloj, compré un paquete de 5 baterías de litio CR2032 por aproximadamente $ 1.25. También compré un paquete de 5 DS3231 porque me gustan los relojes. Este proyecto usa 1 tablero. Compré un paquete de 3 protoboard por alrededor de $ 7; un mejor trato que comprar una tabla individual.

Paso 1: agregue el Arduino Nano a la placa de pruebas

Agregue el Arduino Nano a la placa de pruebas
Agregue el Arduino Nano a la placa de pruebas

Conecte el Arduino Nano a la placa de pruebas. O, si lo prefiere, puede usar un Arduino Uno para este proyecto; ambos usan los mismos pines para este proyecto. Conecte el Nano (o Uno) a su computadora mediante un cable USB.

Conecte la energía y la tierra desde el Arduino a la barra de energía de la placa de pruebas. Conecte el pin Arduino 5+ a la barra positiva de la placa de pruebas. Conecte el pin Arduino GRN (tierra) a la barra negativa (tierra) de la placa de pruebas. Esto será utilizado por otros componentes.

Descargue y ejecute el programa de prueba básico de Arduino: arduinoTest.ino. Al ejecutar el programa, la luz LED integrada se encenderá durante 1 segundo y luego se apagará durante 1 segundo. Además, se publican mensajes que se pueden ver en Arduino IDE Tools / Serial Monitor.

+++ Configuración.

+ Inicializó el pin digital LED integrado para la salida. El LED está apagado. ++ Ir al bucle. + Contador de bucle = 1 + Contador de bucle = 2 + Contador de bucle = 3…

Como ejercicio, cambie el tiempo de retraso de la luz parpadeante, cargue el programa modificado y confirme el cambio.

En la foto de arriba hay una caja de kit de cables de puente de placa de pruebas sin soldadura de 140 piezas que puede obtener por 3 a 5 dólares. Hacen placas más ordenadas que utilizando cables largos para conexiones cortas.

Paso 2: agregue el módulo de reloj DS3231 y conéctelo al Arduino

Agregue el módulo de reloj DS3231 y conéctelo al Arduino
Agregue el módulo de reloj DS3231 y conéctelo al Arduino

Conecte el módulo del reloj en la placa de pruebas. Conecte el pin GND del módulo de reloj, a la tira de la barra de tierra de la placa de pruebas. Conecte el pin VCC del módulo de reloj, a la tira de barra positiva de la placa de pruebas. Conecte el pin SDA (datos) del módulo de reloj al pin A4 del Arduino (pin de datos I2C). Conecte el pin SCL (reloj) del módulo de reloj al pin A5 del Arduino (pin de reloj I2C).

En el IDE de Arduino, instale una biblioteca de reloj DS3231. Seleccione Herramientas / Administrar bibliotecas. Filtre su búsqueda escribiendo "rtclib". Seleccione RTClib de Adafruit (como referencia, el enlace de la biblioteca).

Descargue y ejecute el programa de prueba básico: clockTest.ino. Al ejecutar el programa, se publican mensajes de la hora del reloj que se pueden ver en Arduino IDE Tools / Serial Monitor.

+++ Configuración.

+ Reloj ajustado. ++ Ir al bucle. ---------------------------------------- + Fecha y hora actuales: 2020/3 / 22 (domingo) 11:42: 3 + Fecha y hora actual: 2020/3/22 (domingo) 11:42: 4 + Fecha y hora actual: 2020/3/22 (domingo) 11: 42: 5…

Como ejercicio, use rtc.adjust () para configurar la fecha y hora del reloj, cargue el programa modificado y confirme el cambio.

rtc.adjust (DateTime (2020, 3, 19, 10, 59, 50)); // Primer día de primavera de 2020.

Paso 3: agregue el módulo de pantalla LCD 1602 y conéctelo al Arduino

Agregue el módulo de pantalla LCD 1602 y conéctelo al Arduino
Agregue el módulo de pantalla LCD 1602 y conéctelo al Arduino

Enchufe el módulo LCD en la placa de pruebas. Conecte el pin GND del módulo de reloj, a la tira de la barra de tierra de la placa de pruebas. Conecte el pin VCC del módulo de reloj, a la tira de barra positiva de la placa de pruebas. Conecte el pin SDA (datos) del módulo de reloj al pin A4 del Arduino (pin de datos I2C). Conecte el pin SCL (reloj) del módulo de reloj al pin A5 del Arduino (pin de reloj I2C).

En el IDE de Arduino, instale una biblioteca LCD 1602. Seleccione Herramientas / Administrar bibliotecas. Filtre su búsqueda escribiendo "LiquidCrystal". Seleccione LiquidCrystal I2C de Frank de Barbander (como referencia, el enlace de la biblioteca).

Descargue y ejecute el programa de prueba básico: lcd1602Test.ino. Al ejecutar el programa, se publican mensajes de la hora del reloj que se pueden ver en Arduino IDE Tools / Serial Monitor.

+++ Configuración.

+ LCD listo para usar. +++ Ir al bucle. + el Contador = 1 + el Contador = 2 + el Contador = 3…

Como ejercicio, cambie los mensajes de la pantalla LCD, cargue el programa modificado y confirme el cambio.

Paso 4: agregue el receptor de infrarrojos y conéctelo al Arduino

Agregue el receptor de infrarrojos y conéctelo al Arduino
Agregue el receptor de infrarrojos y conéctelo al Arduino

Enchufe los cables del cable hembra a macho en el receptor de infrarrojos (extremos hembra). Conecte la clavija de tierra del módulo de reloj a la tira de la barra de tierra de la placa de pruebas. Conecte la clavija de alimentación del módulo de reloj a la tira de barra positiva de la placa de pruebas. Conecte el pin de salida del receptor de infrarrojos al pin Arduino A1.

Conecte el receptor de infrarrojos, pines de arriba a la derecha:

Más a la izquierda (junto a la X) - Nano pin A1 Centro - 5V Derecha - tierra

A1 + - - Conexiones de nano pines

| | | - Pines del receptor de infrarrojos --------- | S | | | | --- | | | | | | --- | | | ---------

En el IDE de Arduino, instale una biblioteca de infrarrojos. Seleccione Herramientas / Administrar bibliotecas. Filtre su búsqueda escribiendo "IRremote". Seleccione IRremote de Shirriff (como referencia, el enlace de la biblioteca).

Descargue y ejecute el programa de prueba básico: infraredReceiverTest.ino. Cuando ejecute el programa, apunte su control remoto al receptor y presione varios botones como el número del 0 al 9. Los mensajes en serie se emiten (impresos) que se pueden ver en Arduino IDE Tools / Serial Monitor.

+++ Configuración.

+ Inicializó el receptor de infrarrojos. ++ Ir al bucle. + Tecla OK - Alternar + Tecla> - siguiente + Tecla <- anterior + Tecla arriba + Tecla abajo + Tecla 1: + Tecla 2: + Tecla 3: + Tecla 4: + Tecla 6: + Tecla 7: + Tecla 8: + Tecla 9: + Tecla 0: + Tecla * (Retorno) + Tecla # (Salir)

Como ejercicio, use un control remoto de TV para ver los valores impresos. A continuación, puede modificar el programa para utilizar los valores de la instrucción switch de la función infraredSwitch (). Por ejemplo, presione la tecla "0" y obtenga el valor de su control remoto, por ejemplo, "0xE0E08877". Luego, agregue un caso en la declaración de cambio como en el siguiente fragmento de código.

caso 0xFF9867:

case 0xE0E08877: Serial.print ("+ Tecla 0:"); Serial.println (""); rotura;

Paso 5: Cargue el programa Clock Project Arduino Sketch y pruébelo

Cargue el programa Clock Project Arduino Sketch y pruébelo
Cargue el programa Clock Project Arduino Sketch y pruébelo
Cargue el programa Clock Project Arduino Sketch y pruébelo
Cargue el programa Clock Project Arduino Sketch y pruébelo
Cargue el programa Clock Project Arduino Sketch y pruébelo
Cargue el programa Clock Project Arduino Sketch y pruébelo

Ahora que todos los componentes están agregados a la placa de pruebas, cableados y probados; es hora de cargar el programa principal del reloj y ejecutarlo. El programa de reloj obtiene la hora del módulo de reloj, muestra la hora en la pantalla LCD y le permite configurar la hora mediante un control remoto por infrarrojos.

Descargue y ejecute el programa de reloj del proyecto: clockLcdSet.ino.

Cuando se inicia el programa, mostrará la hora del DS3231 en la pantalla LCD 1602. Los mensajes se pueden ver en Arduino IDE Tools / Serial Monitor.

+++ Configuración.

+ Conjunto de LCD. + syncCountWithClock, theCounterHours = 13 theCounterMinutes = 12 theCounterSeconds = 13 + Reloj configurado y sincronizado con variables de programa. + Receptor de infrarrojos habilitado. ++ Ir al bucle. + clockPulseMinute (), theCounterMinutes = 15 + clockPulseMinute (), theCounterMinutes = 16 + clockPulseMinute (), theCounterMinutes = 17…

Apunte su control remoto al receptor y presione el botón de flecha hacia la derecha. Se mostrará el año para configurarlo. Presione el botón de flecha hacia la derecha varias veces para ver que puede configurar el año, mes, día, hora, minuto y segundos. Para establecer un valor de tiempo, vaya al valor. Utilice las flechas hacia arriba y hacia abajo para establecer el valor de visualización. Luego use la tecla "OK" para configurar el valor del reloj. Se establece un valor a la vez.

Paso 6: fuente de alimentación externa

Fuente de alimentación externa
Fuente de alimentación externa

Ahora que su reloj está probado y funcionando, puede desconectarlo de su computadora y usar una fuente de alimentación independiente. Para simplificar, utilizo un adaptador de pared de 5 voltios, que se puede comprar por alrededor de un dólar, y un cable USB, otro dólar. El cable conecta el Arduino al adaptador de pared de + 5V. Dado que los pines de alimentación y tierra de Arduino están conectados a la placa de pruebas, eso alimentará los otros componentes.

Debido a su simplicidad y bajo costo, utilizo esta misma combinación para impulsar otros proyectos.

Espero que haya tenido éxito y haya disfrutado construyendo un reloj LCD controlado por infrarrojos.

Recomendado: