Estación meteorológica con una pantalla grande ST7920: 4 pasos
Estación meteorológica con una pantalla grande ST7920: 4 pasos
Anonim
Estación meteorológica con una pantalla grande ST7920
Estación meteorológica con una pantalla grande ST7920
Estación meteorológica con una pantalla grande ST7920
Estación meteorológica con una pantalla grande ST7920
Estación meteorológica con una pantalla grande ST7920
Estación meteorológica con una pantalla grande ST7920

Queridos amigos, ¡bienvenidos a otro Instructable! En este tutorial, vamos a echar un primer vistazo a esta gran pantalla LCD y vamos a construir un monitor de temperatura y humedad con él.

Siempre quise encontrar una pantalla similar a la pantalla que usa mi impresora 3D porque es grande y económica, por lo que puede ser muy útil para muchos proyectos. Después de mirar a mi alrededor, descubrí que la pantalla que usa mi impresora es esta. Una gran pantalla de 3,2”con el controlador ST7920 y una resolución de 128x64 píxeles. ¡Frio! Como puede ver, es mucho más grande que la mayoría de las pantallas que usamos hasta ahora en nuestros proyectos, por lo que será útil en muchos proyectos futuros. ¡Solo cuesta alrededor de $ 6!

Puedes conseguirlo aquí →

Suministros

  1. Pantalla LCD ST7920 →
  2. Arduino Uno →
  3. Sensor DHT22 →
  4. Protoboard →
  5. Cables →

Paso 1: Conexión con Arduino

Conexión con Arduino
Conexión con Arduino
Conexión con Arduino
Conexión con Arduino
Conexión con Arduino
Conexión con Arduino

Veamos ahora cómo usarlo con Arduino. Hoy voy a usar un Arduino Uno, pero funciona con muchas placas Arduino.

La pantalla utiliza la interfaz SPI para comunicarse con el microcontrolador, por lo que debemos conectarlo a los pines SPI de hardware de la placa Arduino.

Como puede ver, la pantalla tiene muchos pines para conectar, pero no se preocupe, no necesitamos conectar todos estos pines, solo 9 de ellos y solo 4 de ellos a los pines digitales de la placa Arduino Uno.

El primer pin que es GND va a Arduino GND. El segundo pin, que es Vcc, va a la salida Arduino 5V. El pin RS va al pin digital 10. El pin R / W va al pin digital 11. El pin E va al pin digital 13. El pin PSB va a GND, el pin RST va al pin digital 8, BLA va a la salida de 3.3V del Arduino y el pin BLK va a GND. ¡Eso es, nuestra pantalla está lista para usar!

Podemos hacer nuestra vida más fácil si conectamos todos los pines GND de la pantalla juntos.

Paso 2: biblioteca para la pantalla

Biblioteca para la pantalla
Biblioteca para la pantalla
Biblioteca para la pantalla
Biblioteca para la pantalla
Biblioteca para la pantalla
Biblioteca para la pantalla
Biblioteca para la pantalla
Biblioteca para la pantalla

Ahora veamos el software que necesitamos para manejar esta pantalla.

Voy a usar la biblioteca u8g para manejar esta pantalla. En primer lugar, instalemos la biblioteca. Abrimos el IDE de Arduino y desde el menú seleccionamos Sketch → Incluir biblioteca → Administrar bibliotecas y buscamos la biblioteca U8G2. ¡Lo seleccionamos y presionamos instalar! Eso es todo, nuestra biblioteca está lista para usar.

Ahora vayamos a Archivo → Ejemplos y, a partir de los ejemplos proporcionados con la biblioteca, ejecutemos el ejemplo de GraphicsText. Solo necesitamos hacer un cambio en el boceto antes de subirlo al tablero. Dado que la biblioteca U8G admite muchas pantallas, tenemos que seleccionar el constructor apropiado para nuestra pantalla. Entonces buscamos el código para “ST7920” y de los constructores disponibles, seleccionamos usar el HW_SPI. Descomentamos esta línea así y estamos listos para subir el boceto al Arduino. Después de unos segundos, el boceto está listo y funcionando.

Si no puede ver nada en la pantalla, debe ajustar el contraste de la pantalla con este pequeño potenciómetro que se encuentra en la parte posterior de la pantalla

Ahora veamos el boceto de demostración durante unos segundos. Como puede ver, este boceto de ejemplo demuestra las capacidades de la biblioteca y de la pantalla. Podemos lograr algunas animaciones geniales con esta pantalla, es bastante capaz. Por eso se utiliza en tantas impresoras 3D.

Paso 3: Construyamos una estación meteorológica

Construyamos una estación meteorológica
Construyamos una estación meteorológica
Construyamos una estación meteorológica
Construyamos una estación meteorológica
Construyamos una estación meteorológica
Construyamos una estación meteorológica
Construyamos una estación meteorológica
Construyamos una estación meteorológica

Construyamos ahora algo útil. Conectemos un sensor de temperatura y humedad DHT22 al Arduino. Solo necesitamos energía y un cable de señal que lo conecto al pin digital 7. Para facilitar las cosas también he usado una pequeña placa de pruebas. Puede encontrar el diagrama esquemático adjunto aquí.

Como puede ver, el proyecto está funcionando bien y muestra la temperatura y la humedad en tiempo real.

Echemos ahora un vistazo rápido al código del proyecto. ¡Con solo 60 líneas de código, podemos construir un proyecto como este! ¡Cuan genial es eso! Todo lo que necesitamos hacer para usar la pantalla es usar este constructor:

U8G2_ST7920_128X64_1_HW_SPI u8g2 (U8G2_R0, / * CS = * / 10, / * reiniciar = * / 8);

inicialice la pantalla en la función de configuración:

u8g2.begin (); u8g2.enableUTF8Print (); u8g2.setFont (u8g2_font_helvB10_tf); u8g2.setColorIndex (1);

y luego todo lo que hacemos es dibujar los marcos y las cuerdas para la temperatura y la humedad:

u8g2.drawFrame (0, 0, 128, 31);

u8g2.drawFrame (0, 33, 128, 31); u8g2.drawStr (15, 13, "Temperatura");

Lo último que tenemos que hacer es leer la temperatura y la humedad del sensor y mostrar la lectura también en la pantalla.

vacío readTemperature ()

{float t = dht.readTemperature (); dtostrf (t, 3, 1, temperatura); }

Como siempre puedes encontrar el código del proyecto adjunto aquí.

Paso 4: Pensamientos finales

Pensamientos finales
Pensamientos finales

Como reflexión final, creo que esta pantalla es muy útil en proyectos en los que necesitamos una pantalla grande y no necesitamos color. Es económico y fácil de usar. Creo que lo voy a utilizar en algunos proyectos futuros.

Me encantaría saber tu opinión sobre esta pantalla. ¿Qué tipo de aplicaciones crees que se beneficiarán de una pantalla como esta? Gracias por sus ideas y por leer este Instructable. ¡Te veré la próxima vez!