Mientras buscaba en la caja de electrónica de mi Pandora, me encontré con la hermosa PCD8544, o el nombre más familiar, el Nokia 5110 LCD.
Esta increíble pieza de hardware es totalmente programable usando Arduino o ESP8266 / NodeMCU. Gracias a Adafruit y bbx10 para sus bibliotecas que hacen nuestras vidas más fáciles. La pantalla tiene una resolución de 84 × 48 píxeles. Cada píxel solo puede estar encendido o apagado, de modo que allí lo tienes, una pantalla monocromática.
En este tutorial vamos a buscar redes WiFi, mostrar su SSID, dirección MAC (BSSID), el tipo de cifrado y la potencia de la señal (RSSI);
Las partes
- NodeMCU o ESP8266 con ciertos pines expuestos.
- PCD8544 Nokia 5110 LCD
- 8 cables de puente
- 5 resistencias a 1k Ohm más o menos (estas pueden no ser necesarias ya que el nivel de voltaje del pin ESP8266 es 3.3v, pero es mejor estar seguro)
- 1 resistencia de 220 ohmios para LED (esto es importante)
Estoy usando 2 paneles pequeños pero obviamente puedes usar uno grande o incluso soldar todo en un veroboard.
El cableado
- LCD Pin —–> NodeMCU
- RST ——-> D2 (resistencia en serie)
- CE ——-> D1 (resistencia en serie)
- DC ——-> D6 (resistencia en serie)
- DIN ——-> D7 (resistencia en serie)
- CLK ——-> D5 (resistencia en serie)
- VCC ——-> 3.3v
- Luz ——> iether 3.3v o GND depende de la placa. (Resistencia de 220 ohmios)
- GND ——-> GND
Por favor, asegúrese de conectar VCC a 3.3v. La pantalla LCD es NO 5V tolerante
El código
#include "ESP8266WiFi.h" #incluir #incluir //https://github.com/adafruit/Adafruit-GFX-Library #incluir #incluir //https://github.com/bbx10/Adafruit-PCD8544-Nokia-5110-LCD-library/tree/esp8266 Adafruit_PCD8544 display = Adafruit_PCD8544 (14, 13, 12, 5, 4); void setup () { Serial.begin (115200); // Establezca esp8266 en el modo de estación y desconecte de cualquier AP conectado previamente a WiFi.mode (WIFI_STA); WiFi.disconnect (); retraso (100); Serial.println ("Escáner WiFi con las bibliotecas Adafruit PCD8544 y GFX"); display.begin (); display.setContrast (40); // ajustar para su pantalla (si ve una pantalla negra, intente bajar el valor, si todas las blancas intentan aumentarla) Max 127) display.clearDisplay (); retraso (2000); display.clearDisplay (); display.setTextSize (0); display.setTextColor (BLACK); display.setCursor (0,0); display.println ("Runtime"); display.setCursor (0,10); display.println ("Proyectos"); display.setCursor (0,20); display.println ("WiFi Scanner"); display.display (); retraso (2000); Serial.println ("Configuración realizada"); } void loop () { Serial.println ("Exploración iniciada"); display.clearDisplay (); display.setTextSize (1); display.setTextColor (BLACK); display.setCursor (0,0); display.println ("Scan started"); display.display (); int networksFound = WiFi.scanNetworks (); Serial.println ("Escaneo completo"); display.setCursor (0,10); display.println ("Escaneo completo"); display.display (); retraso (2000); if (networksFound == 0) { Serial.println ("No se encontraron redes"); display.clearDisplay (); display.setCursor (0,0); display.println ("Sin Redes"); display.setCursor (0,10); display.println ("Encontrado"); display.display (); } más { Serial.print ("Visualización"); Serial.print (networksFound); Serial.println ("redes"); display.print ("Visualización"); display.print (networksFound); display.println ("redes"); display.display (); retraso (2000); display.clearDisplay (); display.setCursor (0,0); display.print ("Visualización"); display.println (networkFound); display.setCursor (0,10); display.println ("Redes"); display.display (); for (int i = 0; i
Conclusión
En este tutorial, solo estamos usando una porción muy pequeña de las funciones proporcionadas por las bibliotecas. Ante todo:
-
- display.print () que imprime texto en la pantalla
-
- display.clearDisplay () que borra la pantalla
-
- display.setCursor () que establece el cursor en una posición en la pantalla
-
- y lo más importante … display.display