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

Arduino Temp. Monitor y reloj en tiempo real con pantalla 3.2

Componentes y suministros

Arduino Due
× 1

Aplicaciones y servicios en línea

Arduino IDE

Acerca de este proyecto

Introducción

Queridos amigos, ¡bienvenidos a otro tutorial! Este es Nick de educ8s.tv y hoy vamos a ver cómo desarrollar este reloj y monitor de temperatura en tiempo real. ¡Empecemos!

Hace unas semanas, probé esta pantalla TFT a color de 3.2 ”para Arduino con Arduino Mega y Due. La pantalla funciona bien y construí un proyecto simple con ella. Es un monitor de temperatura y un reloj en tiempo real. Como puede ver en la parte superior, podemos ver la fecha y hora actual, podemos ver la temperatura en este momento, y en la parte inferior, el Arduino registra la temperatura mínima y máxima que ha medido. También intenté diseñar una interfaz de usuario básica solo con formas simples. Como puede ver, todo funciona bien y es un proyecto muy fácil y útil de construir. ¡Veamos cómo hacerlo!

Paso 1:obtenga todas las piezas

Las piezas necesarias para construir este proyecto son las siguientes:

  • Arduino Due
  • Una pantalla TFT a color de 3,2 "
  • Módulo RTC DS3231
  • Encabezados masculinos
  • Cables

El costo del proyecto ronda los 24 $. Necesita alrededor de 14 $ para Arduino Due, 8 $ para la pantalla y alrededor de 2 $ para el módulo RTC.

Paso 2:Módulo de reloj en tiempo real DS3231

El módulo de reloj de tiempo real DS3231 es como su nombre sugiere un reloj de tiempo real. Con su batería, puede mantener el tiempo durante años, ya que tiene un consumo de energía mínimo.

El DS3231 es un reloj en tiempo real (RTC) I2C extremadamente preciso y de bajo costo con un oscilador de cristal integrado con compensación de temperatura (TCXO) y un cristal. El dispositivo incorpora una entrada de batería y mantiene un cronometraje preciso cuando se interrumpe la alimentación principal del dispositivo. La integración del resonador de cristal mejora la precisión a largo plazo del dispositivo y reduce el recuento pieza-pieza en una línea de fabricación.

El RTC mantiene información de segundos, minutos, horas, día, fecha, mes y año. La fecha al final del mes se ajusta automáticamente para los meses con menos de 31 días, incluidas las correcciones por año bisiesto. El reloj funciona en formato de 24 horas o de 12 horas con un indicador AM / PM. Se proporcionan dos alarmas programables de hora del día y una salida de onda cuadrada programable. La dirección y los datos se transfieren en serie a través de un bus bidireccional I2C.

El costo del módulo es extremadamente bajo; ¡Cuesta alrededor de 2 $ incluida la batería!

Consíguelo aquí.

¡Lo usaremos para mantener el tiempo y obtener lecturas de temperatura a partir de él!

Paso 3:la pantalla TFT en color de 3,2 "(HX8357C o HX8357B)

Siempre quise tener una gran pantalla para mis proyectos Arduino. Entonces, hace unas semanas decidí comprar esta pantalla TFT a color de 3.2 pulgadas para Arduino Mega y Arduino Due porque el precio es muy tentador. Menos de 10 dólares por una pantalla TFT a color de 3,2 pulgadas. Con ese precio, no puedes equivocarte.

Consíguelo aquí.

La pantalla tiene una resolución de 480x320 píxeles y tiene un adaptador de tarjeta SD en la parte posterior. Hasta ahora no he utilizado la función de la tarjeta SD. Intentaré usarlo en el futuro. Si observa con atención, puede ver que la pantalla también usa un regulador de 3.3V, por lo que funciona bien con niveles lógicos de 5V y 3.3V.

La pantalla viene en dos variaciones. Uno de ellos usa el controlador HX8357C y el otro el controlador HX8357B. Afortunadamente, podemos usar la misma biblioteca para ambos.

DISPLAY Biblioteca.

Después de descargar la biblioteca, debe abrir la línea de comentario 13 del archivo User_Setup.h y descomentar la línea 14 si la pantalla que tiene usa el controlador HX8357C, como el mío.

Paso 4:Conexión de las piezas

Voy a usar Arduino Due para construir este proyecto, aunque podría usar el Arduino Mega un poco más barato pero más lento. Arduino Due es mucho más rápido que el Arduino Mega y tiene mucha memoria, por eso lo prefiero para este proyecto.

Al principio, tenemos que conectar todas las partes. Voy a usar estos encabezados masculinos para conectar el módulo RTC al Arduino DUE.

Necesitamos cuatro pines de cabecera. Dos para alimentación y dos para la interfaz I2C. Los doblamos así y conectamos uno al pin de 3.3V de la placa Arduino Due, el otro a GND y los otros dos al pin SDA y SCL de la placa. Con unos cables hembra, conectamos el módulo a la placa. Eso es.

Ahora podemos conectar la pantalla al tablero. No tienes que conectar estos dos pines a la placa Arduino, así que los dejaré flotando.

Ahora estamos listos para potenciar el proyecto. Como puede ver, ¡funciona bien! ¡Es así de fácil! Vayamos ahora a la computadora para ver el lado del software del proyecto.

Paso 5:el código del proyecto

Ahora estamos listos para echar un vistazo al código. Estamos usando dos bibliotecas en este proyecto:

  • Mostrar biblioteca
  • Biblioteca DS3231

¡Tienes que instalarlos y luego el proyecto se compilará perfectamente!

Lo primero que tenemos que hacer es configurar la hora en el módulo de reloj de tiempo real si aún no lo está. Para hacerlo, ingrese la fecha y hora actual en la función void setRTCTime,

  void setRTCTime () {DateTime dt (2016, 4, 4, 13, 56, 30, 1); // Año, mes, día, hora, minutos, segundos, día de la semana rtc.setDateTime (dt); }  

descomente la llamada a la función en la función de configuración:

  void setup () {rtc.begin (); tft.init (); tft.setRotation (1); tft.fillScreen (0xC618); retraso (100); printUI (); setRTCTime ();}  

Y sube el programa a Arduino. Ahora el tiempo está fijado. Pero, luego tenemos que comentar la llamada de la función setRTCTime nuevamente y cargar el programa en Arduino una vez más.

  void setup () {rtc.begin (); tft.init (); tft.setRotation (1); tft.fillScreen (0xC618); retraso (100); printUI (); // setRTCTime ();}  

Como puede ver, el código del proyecto es simple. Simplemente imprimimos la interfaz de usuario y luego mostramos la fecha, la hora y en ella.

  void loop () {temperatura de flotación =rtc.getTemperature (); getAndPrintTime (); printTemperature (temperatura); if (temperatura> maxTemperature) {maxTemperature =temperatura; updateMaxTemperature (); } si (temperatura  

Puede encontrar el código adjunto a este paso. Puede descargar la última versión del código desde el sitio web del proyecto aquí:http://educ8s.tv/arduino-real-time-clock-32/

DueRTC.ino

Paso 6:Pensamientos finales

Como puedes ver con unas pocas líneas de código y con muy bajo costo podemos construir un proyecto muy útil. Voy a trabajar más en este proyecto ya que se convertirá en una estación meteorológica avanzada, con más sensores, gráficos y capacidades wifi.

Dado que Arduino Due es muy rápido y tiene una tonelada de memoria, creo que es la placa Arduino ideal para usar. ¿Qué piensas sobre este proyecto? ¿Cómo quieres que evolucione?

Publique sus comentarios o ideas en la sección de comentarios a continuación.

Código

  • Fragmento de código n. ° 2
  • Fragmento de código n. ° 3
  • Fragmento de código n. ° 4
Fragmento de código n. ° 2 Texto sin formato
 configuración vacía () {rtc.begin (); tft.init (); tft.setRotation (1); tft.fillScreen (0xC618); retraso (100); printUI (); setRTCTime ();} 
Fragmento de código n. ° 3 Texto sin formato
 configuración vacía () {rtc.begin (); tft.init (); tft.setRotation (1); tft.fillScreen (0xC618); retraso (100); printUI (); // setRTCTime ();} 
Fragmento de código n.º 4 Texto sin formato
 bucle vacío () {temperatura de flotación =rtc.getTemperature (); getAndPrintTime (); printTemperature (temperatura); if (temperatura> maxTemperature) {maxTemperature =temperatura; updateMaxTemperature (); } si (temperatura  
Github
https://github.com/Bodmer/TFT_HX8357_Duehttps://github.com/Bodmer/TFT_HX8357_Due
Github
https://github.com/SodaqMoja/Sodaq_DS3231https://github.com/SodaqMoja/Sodaq_DS3231

Proceso de manufactura

  1. Control de un efecto con sensores reales
  2. Reloj Arduino con tiempos de oración islámicos
  3. Word Clock con resolución de tiempo mínima en palabras
  4. Jugando con Nextion Display
  5. TM1637 Reloj digital con configuración de hora y funcionalidad de alarma
  6. Voltímetro de bricolaje con Arduino y una pantalla Nokia 5110
  7. BME280 Temperatura, humedad y presión en la pantalla Nextion
  8. Control del servomotor con Arduino y MPU6050
  9. Módulo GPS u-blox LEA-6H 02 con Arduino y Python
  10. Reconocimiento y síntesis de voz con Arduino
  11. Reloj despertador simple con DS1302 RTC