Taula de continguts:
- Subministraments
- Pas 1: Configureu Arduino IDE per al desenvolupament Esp8266
- Pas 2: baixeu biblioteques externes
- Pas 3: escriviu ara algun codi
- Pas 4: Diagrama de circuits
- Pas 5: pengeu el codi a Esp8266
- Pas 6: proveu-ho tot
Vídeo: MAX7219 LED Matrix MQTT mitjançant Esp8266: 6 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:12
Intentava connectar la pantalla LED MAX7219 a un servidor MQTT i rebre un text de la subscripció MQTT per mostrar.
però no vaig obtenir cap codi adequat a Internet, així que vaig començar a construir el meu propi …
i el resultat arriba força bé …
- podeu mostrar qualsevol text a la pantalla LED
- podeu ajustar la intensitat de la pantalla
- podeu configurar la velocitat de desplaçament
Subministraments
- Una placa de desenvolupament esp8266. (el meu cas és NODE MCU v1.0)
- Pantalla LED de matriu MAX7219.
Programari necessari:
- IDE Arduino.
- Un servidor MQTT. (el meu cas Mosquitto)
Biblioteca obligatòria:
- ESP8266WiFi.h
- MD_MAX72xx.h
- EspMQTTClient.h
Pas 1: Configureu Arduino IDE per al desenvolupament Esp8266
obriu les preferències d'Arduino i, a continuació, enganxeu l'URL següent als URL del gestor de taules addicionals:
arduino.esp8266.com/stable/package_esp8266com_index.json
després Eines> Taulers> Gestor de taulers i cerqueu esp8266 i instal·leu-lo.
ara el vostre ide Arduino està preparat per al desenvolupament de l'esp8266.
Pas 2: baixeu biblioteques externes
ara necessitem algunes biblioteques per al client MAX7219 i MQTT.
descarregem i configurem les biblioteques
aneu a Sketch> Inclou biblioteca> Gestiona biblioteques a Arduino IDE
i cerqueu EspMQTTClient i feu clic a Instal·la
Nota: instal·leu totes les biblioteques dependents, és important
Torneu a buscar MD_MAX72xx i feu clic a Instal·la
Pas 3: escriviu ara algun codi
Ara enganxeu el codi següent
#incloure
#include #include #include "EspMQTTClient.h" #define MAX_DEVICES 4 // count your device #define CLK_PIN D5 // or SCK #define DATA_PIN D7 // or MOSI #define CS_PIN D4 // or SS // you can set it a qualsevol pin #define HARDWARE_TYPE MD_MAX72XX:: PAROLA_HW // canvia segons el tipus de pantalla MD_MAX72XX mx = MD_MAX72XX (HARDWARE_TYPE, CS_PIN, MAX_DEVICES); const uint8_t MESG_SIZE = 255; const uint8_t CHAR_SPACING = 1; uint8_t SCROLL_DELAY = 75; // retard de desplaçament per defecte uint8_t INTENSITAT = 5; // intensitat per defecte char curMessage [MESG_SIZE]; char newMessage [MESG_SIZE]; bool newMessageAvailable = fals; void scrollDataSink (uint8_t dev, MD_MAX72XX:: transformType_t t, uint8_t col) {} uint8_t scrollDataSource (uint8_t dev, MD_MAX72XX:: transformType_t t) {estat estàtic {S_IDLE, S_NEXT_CHAR, S_SHOW_ estàtic char * p; static uint16_t curLen, showLen; static uint8_t cBuf [8]; uint8_t colData = 0; commutador (estat) {cas S_IDLE: p = curMessage; if (newMessageAvailable) {strcpy (curMessage, newMessage); newMessageAvailable = false; } estat = S_NEXT_CHAR; trencar; cas S_NEXT_CHAR: if (* p == '\ 0') state = S_IDLE; else {showLen = mx.getChar (* p ++, sizeof (cBuf) / sizeof (cBuf [0]), cBuf); curLen = 0; estat = S_SHOW_CHAR; } trencar; cas S_SHOW_CHAR: colData = cBuf [curLen ++]; if (curLen = SCROLL_DELAY) {mx.transform (MD_MAX72XX:: TSL); // desplaçar-se: la devolució de trucada carregarà totes les dades prevTime = millis (); // punt de partida per a la propera vegada}} void setup () {Serial.begin (115200); mx.begin (); mx.control (MD_MAX72XX:: INTENSITAT, INTENSITAT); mx.setShiftDataInCallback (scrollDataSource); mx.setShiftDataOutCallback (scrollDataSink); curMessage [0] = newMessage [0] = '\ 0'; sprintf (curMessage, "Pantalla intel·ligent"); } void onConnectionEstablished () {// Tema de subscripció MQTT per al text de visualització client.subscribe ("leddisplay / text", (const String & payload) {sprintf (curMessage, payload.c_str ());});
// Tema de subscripció MQTT per al control de la intensitat de visualització
client.subscribe ("leddisplay / intensitat", (const String & payload) {mx.control (MD_MAX72XX:: INTENSITY, payload.toInt ());}); // Tema de subscripció a MQTT per a control de velocitat de desplaçament client.subscribe ("leddisplay / scroll", (const String & payload) {SCROLL_DELAY = payload.toInt ();}); } void loop () {client.loop (); scrollText (); }
Per obtenir informació detallada, consulteu aquest dipòsit
github.com/souravj96/max7219-mqtt-esp8266
Pas 4: Diagrama de circuits
connecteu la pantalla MAX7219 amb NODE MCU
Pas 5: pengeu el codi a Esp8266
ara trieu el tipus de placa i el port sèrie correctes i, a continuació, premeu Carrega.
Pas 6: proveu-ho tot
si tot va bé, el vostre esp8266 es connectarà al vostre servidor MQTT.
ara, si es publicarà alguna cosa sobre leddisplay / tema de text que es mostrarà.
{
topic: "leddisplay / text", payload: "el vostre missatge aquí"}
si voleu configurar la intensitat de visualització
{
tema: "leddisplay / intensitat", càrrega útil: "2" // màxim és 15 i mínim 0}
si voleu configurar la velocitat de desplaçament de la pantalla
{
tema: "leddisplay / scroll", càrrega útil: "100" // el màxim és de 255 i el mínim de 0}
Feliç codificació
Recomanat:
Control de led mitjançant l'aplicació Blynk mitjançant Nodemcu a través d'Internet: 5 passos
Control de led mitjançant l'aplicació Blynk mitjançant Nodemcu a través d'Internet: Hola a tothom avui us mostrarem com podeu controlar un LED mitjançant un telèfon intel·ligent a través d'Internet
Bricolatge -- Com fer un robot aranya que es pugui controlar mitjançant un telèfon intel·ligent mitjançant Arduino Uno: 6 passos
Bricolatge || Com fer un robot aranya que es pugui controlar mitjançant un telèfon intel·ligent mitjançant Arduino Uno: mentre es fabrica un robot aranya, es pot aprendre tantes coses sobre robòtica. Com fer robots, és divertit i alhora difícil. En aquest vídeo us mostrarem com fer un robot Spider, que podem utilitzar amb el nostre telèfon intel·ligent (Androi
Com fer diverses converses ESP mitjançant ESP-NOW mitjançant ESP32 i ESP8266: 8 passos
Com fer diverses converses ESP mitjançant ESP-NOW Utilitzant ESP32 i ESP8266: en el meu projecte en curs, necessito diverses ESP per parlar entre elles sense un encaminador. Per fer-ho, utilitzaré l’ESP-NOW per fer que la comunicació sense fils entre si no tingui un encaminador a l’ESP
Tutorial del mòdul de visualització de matriu de punts 4 en 1 MAX7219 mitjançant Arduino UNO: 5 passos
Tutorial del mòdul de visualització de matriu de punts MAX7219 4 en 1 mitjançant Arduino UNO: Descripció: Cerqueu una matriu LED fàcil de controlar? Aquest mòdul de visualització de matriu de punts 4 en 1 us hauria de ser adequat. Tot el mòdul inclou quatre matrius de punts de càtode comuns de 8x8 VERMELL que estan equipats amb IC MAX7219 cadascun. Genial per mostrar text en execució a
Matrix Led X4 MAX7219 + ESP8266 12E + Sensor DS18b20 (temperatura): 6 passos
Matrix Led X4 MAX7219 + ESP8266 12E + Sensor DS18b20 (temperatura): En aquesta oportunitat realitzarem una prova ràpida a una matriu LED amb el MAX7219 integrat amb el mòdul ESP8266 i perquè no sigui molt senzill llegirem la temperatura d’un sensor DS18B20.En futurs tutorials l’integrarem a altres plataformes