INHOUDSOPGAWE:
- Voorrade
- Stap 1: Stel Arduino IDE op vir Esp8266 -ontwikkeling
- Stap 2: Laai eksterne biblioteke af
- Stap 3: Skryf nou 'n paar kode
- Stap 4: Kringdiagram
- Stap 5: Laai kode op na Esp8266
- Stap 6: Toets alles
Video: MAX7219 LED Matrix MQTT Gebruik Esp8266: 6 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
Ek het probeer om my MAX7219 LED -skerm aan te sluit op 'n MQTT -bediener en 'n teks van die MQTT -intekening te ontvang om te vertoon.
maar ek het nie 'n geskikte kode op die internet gekry nie, so ek het my eie begin bou …
en die resultaat kom baie goed …
- u kan enige teks op LED -skerm vertoon
- u kan die intensiteit van die skerm aanpas
- u kan die blaassnelheid instel
Voorrade
- 'N Ontwikkelingsbord van esp8266. (my saak is NODE MCU v1.0)
- MAX7219 LED Matrix Display.
Sagteware benodig:
- Arduino IDE.
- 'N MQTT -bediener. (my geval Mosquitto)
Biblioteek benodig:
- ESP8266WiFi.h
- MD_MAX72xx.h
- EspMQTTClient.h
Stap 1: Stel Arduino IDE op vir Esp8266 -ontwikkeling
maak die voorkeure van Arduino oop en plak dan die onderstaande URL in die URL's van die Aditional Boards Manager:
arduino.esp8266.com/stable/package_esp8266com_index.json
dan Tools> Boards> Boards Manager en soek esp8266 en installeer dit.
nou is u Arduino -idee gereed vir esp8266 -ontwikkeling.
Stap 2: Laai eksterne biblioteke af
nou benodig ons 'n paar biblioteke vir MAX7219 en MQTT Client.
laat ons die biblioteke aflaai en opstel
navigeer na Skets> Sluit biblioteek in> Bestuur biblioteke op Arduino IDE
en soek na EspMQTTClient en klik op Installeer
NB: installeer alle afhanklike biblioteke, dit is belangrik
Soek weer na MD_MAX72xx en klik op Installeer
Stap 3: Skryf nou 'n paar kode
Plak nou die onderstaande kode
#insluit
#include #include #include "EspMQTTClient.h" #define MAX_DEVICES 4 // your device count #define CLK_PIN D5 // or SCK #define DATA_PIN D7 // or MOSI #define CS_PIN D4 // or SS // you can set it na enige pen #definieer HARDWARE_TYPE MD_MAX72XX:: PAROLA_HW // verander volgens u tipe skerm 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; // standaardrolvertraging uint8_t INTENSITEIT = 5; // standaard intensiteit char curMessage [MESG_SIZE]; char newMessage [MESG_SIZE]; bool newMessageAvailable = false; void scrollDataSink (uint8_t dev, MD_MAX72XX:: transformType_t t, uint8_t col) {} uint8_t scrollDataSource (uint8_t dev, MD_MAX72XX:: transformType_t t) {static enum {S_IDLE, S_NEXT_CHAR, S_SHOW_; statiese char *p; statiese uint16_t curLen, showLen; statiese uint8_t cBuf [8]; uint8_t colData = 0; switch (state) {case S_IDLE: p = curMessage; if (newMessageAvailable) {strcpy (curMessage, newMessage); newMessageAvailable = false; } staat = S_NEXT_CHAR; breek; saak S_NEXT_CHAR: as (*p == '\ 0') toestand = S_IDLE; anders {showLen = mx.getChar (*p ++, sizeof (cBuf) / sizeof (cBuf [0]), cBuf); curLen = 0; staat = S_SHOW_CHAR; } breek; geval S_SHOW_CHAR: colData = cBuf [curLen ++]; as (curLen = SCROLL_DELAY) {mx.transform (MD_MAX72XX:: TSL); // blaai saam - die terugbel laai al die data prevTime = millis (); // beginpunt vir die volgende keer}} leemte -opstelling () {Serial.begin (115200); mx.begin (); mx.control (MD_MAX72XX:: INTENSITEIT, INTENSITEIT); mx.setShiftDataInCallback (scrollDataSource); mx.setShiftDataOutCallback (scrollDataSink); curMessage [0] = newMessage [0] = '\ 0'; sprintf (curMessage, "Smart Display"); } void onConnectionEstablished () {// MQTT -intekeningonderwerp vir vertoningstekst client.subscribe ("leddisplay/text", (const String & payload) {sprintf (curMessage, payload.c_str ());});
// MQTT -intekeningonderwerp vir die beheer van die vertoningintensiteit
client.subscribe ("leddisplay/intensiteit", (const String & payload) {mx.control (MD_MAX72XX:: INTENSITY, payload.toInt ());}); // MQTT -intekeningonderwerp vir vertoonrolspoedbeheer client.subscribe ("leddisplay/scroll", (const String & payload) {SCROLL_DELAY = payload.toInt ();}); } leemte -lus () {client.loop (); scrollText (); }
Raadpleeg hierdie bewaarplek vir meer inligting
github.com/souravj96/max7219-mqtt-esp8266
Stap 4: Kringdiagram
verbind MAX7219 -skerm met NODE MCU
Stap 5: Laai kode op na Esp8266
kies nou u korrekte bordtipe en seriële poort en druk dan oplaai.
Stap 6: Toets alles
as alles reg is, word u esp8266 aan u MQTT -bediener gekoppel.
nou, as daar iets gepubliseer sal word oor leddisplay/teksonderwerp wat vertoon sal word.
{
onderwerp: "leddisplay/text", laai: "u boodskap hier"}
as u die intensiteit van die vertoning wil instel
{
onderwerp: "leddisplay/intensiteit", loonvrag: "2" // maksimum is 15 en min 0}
as u die bladsnelheid van die vertoning wil stel
{
onderwerp: "leddisplay/scroll", loonvrag: "100" // maksimum is 255 en min 0}
Gelukkige kodering
Aanbeveel:
IoT Smart Clock Dot Matrix Gebruik Wemos ESP8266 - ESP Matrix: 12 stappe (met foto's)
IoT Smart Clock Dot Matrix Gebruik Wemos ESP8266-ESP Matrix: Maak jou eie IoT Smart Clock wat kan: Display Clock met 'n pragtige animasie-ikoon Display Reminder-1 to Reminder-5 Display Calendar Display Moslem Gebedstye Weer Weerinligting Nuus Vertoon Advies Vertoon Bitcoin koers vertoon
Arduino: Potentio -aanwyser gebruik Led Matrix MAX7219: 4 stappe
Arduino: Potentio -aanwyser gebruik Led Matrix MAX7219: In die vorige tutoriaal het ek 'n potensiometer -aanduiding gemaak met behulp van die RGB -ring neo pixels led. jy kan dit sien in hierdie artikel " Potentio Indicator Uses RGB Neopixel " En vandag sal ek die potensiaalaanwyser wys met behulp van die MAX7219 led met
Hoe om Max7219 8x8 Dot Matrix te gebruik met "skiiiD": 9 stappe
Hoe om Max7219 8x8 Dot Matrix te gebruik met "skiiiD": Dit is 'n video -instruksie van Max7219 8x8 Dot Matrix via "skiiiD" Voor aanvang, hieronder is 'n basiese handleiding vir die gebruik van skiiiDhttps: //www.instructables.com/id /Aan die gang-W
Hoe om Wemos ESP-Wroom-02 D1 Mini WiFi-module ESP8266 + 18650 te gebruik deur Blynk te gebruik: 10 stappe
Hoe om Wemos ESP-Wroom-02 D1 Mini WiFi-module ESP8266 + 18650 te gebruik deur Blynk te gebruik: Spesifikasie: Versoenbaar met nodemcu 18650 laaistelselintegrasie aansluiting kan gebruik word vir slaapmodus · 1 voeg by
Hoe om Arduino WeMos D1 WiFi UNO ESP8266 IOT IDE -versoenbare bord te gebruik deur Blynk te gebruik: 10 stappe
Hoe om Arduino WeMos D1 WiFi UNO ESP8266 IOT IDE -versoenbare bord te gebruik deur Blynk te gebruik: Arduino WeMos D1 WiFi UNO ESP8266 IOT IDE -versoenbare bord Beskrywing: WiFi ESP8266 Development Board WEMOS D1. WEMOS D1 is 'n WIFI -ontwikkelingsbord gebaseer op ESP8266 12E. Die funksionering is soortgelyk aan dié van NODEMCU, behalwe dat die hardeware gebou is