
Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-23 14:40

Üritasin ühendada oma MAX7219 LED -ekraani MQTT -serveriga ja saada kuvamiseks MQTT -i tellimusest teksti.
kuid ma ei saanud Internetist sobivat koodi, nii et hakkasin omaenda ehitama …
ja tulemus tuleb päris hea …
- saate LED -ekraanil kuvada mis tahes teksti
- saate reguleerida ekraani intensiivsust
- saate reguleerida kerimiskiirust
Tarvikud
- Esp8266 arendusplaat. (minu puhul on see NODE MCU v1.0)
- MAX7219 LED -maatriksekraan.
Vajalik tarkvara:
- Arduino IDE.
- MQTT server. (minu juhtum Mosquitto)
Vajalik raamatukogu:
- ESP8266WiFi.h
- MD_MAX72xx.h
- EspMQTTClient.h
Samm: seadistage Arduino IDE Esp8266 arendamiseks

avage Arduino eelistused ja kleepige allolev URL täiendavate tahvlite halduri URL -idesse:
arduino.esp8266.com/stable/package_esp8266com_index.json
seejärel Tööriistad> Tahvlid> Tahvlite haldur ja otsige esp8266 ning installige see.
nüüd on teie Arduino ide esp8266 arendamiseks valmis.
Samm: laadige alla välised raamatukogud
nüüd vajame MAX7219 ja MQTT kliendi jaoks mõnda teeki.
laadime alla ja seadistame raamatukogud
navigeerige Arduino IDE -sse Sketch> Include Library> Manage Libraries
ja otsige üles EspMQTTClient ja klõpsake Install
NB: Installige kõik sõltuvad teegid, see on oluline
Otsige uuesti otsingut MD_MAX72xx ja klõpsake nuppu Installi
Samm: kirjutage kohe kood
Nüüd kleepige allolev kood
#kaasake
#include #include #include "EspMQTTClient.h" #define MAX_DEVICES 4 // teie seadmete arv #define CLK_PIN D5 // või SCK #define DATA_PIN D7 // või MOSI #define CS_PIN D4 // või SS // saate selle määrata suvalisele tihvtile #define HARDWARE_TYPE MD_MAX72XX:: PAROLA_HW // muuta vastavalt teie kuvatüübile 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; // vaikimisi kerimise viivitus uint8_t INTENSITEET = 5; // vaikimisi intensiivsus char curMessage [MESG_SIZE]; char newMessage [MESG_SIZE]; bool newMessageAvailable = vale; void scrollDataSink (uint8_t dev, MD_MAX72XX:: transformType_t t, uint8_t col) {} uint8_t scrollDataSource (uint8_t dev, MD_MAX72XX:: transformType_t t) {staatiline enum {S_IDLE, S_NEXSCH_SARCH, S_NEXT_CHAR_ staatiline süsi *p; staatiline uint16_t curLen, showLen; staatiline uint8_t cBuf [8]; uint8_t colData = 0; lüliti (olek) {case S_IDLE: p = curMessage; if (newMessageAvailable) {strcpy (curMessage, newMessage); newMessageAvailable = vale; } olek = S_NEXT_CHAR; murda; juhtum S_NEXT_CHAR: kui (*p == '\ 0') olek = S_IDLE; else {showLen = mx.getChar (*p ++, sizeof (cBuf) / sizeof (cBuf [0]), cBuf); curLen = 0; olek = S_SHOW_CHAR; } murda; juhtum S_SHOW_CHAR: colData = cBuf [curLen ++]; if (curLen = SCROLL_DELAY) {mx.transform (MD_MAX72XX:: TSL); // keri mööda - tagasihelistamine laadib kõik andmed prevTime = millis (); // järgmise aja alguspunkt}} void setup () {Serial.begin (115200); mx.begin (); mx.kontroll (MD_MAX72XX:: INTENSITEET, INTENSITEET); mx.setShiftDataInCallback (scrollDataSource); mx.setShiftDataOutCallback (scrollDataSink); curMessage [0] = newMessage [0] = '\ 0'; sprintf (curMessage, "Nutikas ekraan"); } void onConnectionEstablished () {// MQTT tellimusteema kuvatava teksti jaoks client.subscribe ("leddisplay/text", (const String & payload) {sprintf (curMessage, payload.c_str ());});
// MQTT tellimusteema kuva intensiivsuse juhtimiseks
client.subscribe ("leddisplay/intensity", (const String & kasulik koormus) {mx.control (MD_MAX72XX:: INTENSITY, payload.toInt ());}); // MQTT tellimusteema kuvari kerimiskiiruse juhtimise kliendile.subscribe ("leddisplay/scroll", (const String & kasulik koormus) {SCROLL_DELAY = payload.toInt ();}); } void loop () {client.loop (); scrollText (); }
Üksikasjalikku teavet leiate sellest hoidlast
github.com/souravj96/max7219-mqtt-esp8266
4. samm: vooluahela skeem

ühendage MAX7219 ekraan NODE MCU -ga
Samm: laadige kood esp8266 -sse üles

valige nüüd õige plaadi tüüp ja jadaport, seejärel klõpsake üleslaadimist.
6. samm: testige kõike
kui kõik läheb õigesti, ühendatakse teie esp8266 teie MQTT -serveriga.
nüüd, kui LEDdisplay/tekstiteemal midagi avaldatakse, mida kuvatakse.
{
teema: "leddisplay/text", kasulik koormus: "teie sõnum siin"}
kui soovite ekraani intensiivsust määrata
{
teema: "LED -ekraan/intensiivsus", kasulik koormus: "2" // max on 15 ja min 0}
kui soovite seadistada ekraani kerimiskiirust
{
teema: "leddisplay/scroll", kasulik koormus: "100" // max on 255 ja min 0}
Head kodeerimist
Soovitan:
Kuidas kasutada Max7219 8x8 punktmaatriksit "skiiiD" abil: 9 sammu

Kuidas kasutada Max7219 8x8 punktmaatriksit koos "skiiiD" -ga: see on videojuhend Max7219 8x8 Dot Matrix'ist "skiiiD" kaudu. Enne alustamist on allpool skiiiD kasutamise põhiõpetus .https: //www.instructables.com/id /Alustamine-W
4 ühes MAX7219 punktmaatriksi kuvamooduli õpetus Arduino UNO abil: 5 sammu

4 ühes MAX7219 punktmaatriksi kuvamooduli õpetus Arduino UNO abil: Kirjeldus: Kas otsite hõlpsasti juhitavat LED -maatriksit? See 4 in 1 Dot Matrix Display moodul peaks teile sobima. Kogu moodul on varustatud nelja 8x8 RED ühise katood -punktmaatriksiga, mis on varustatud MAX7219 IC -ga. Suurepärane kuvada jooksvat teksti a
Neopixel Ws2812 Rainbow LED-helendus koos M5stick-C - Vikerkaare käivitamine Neopixel Ws2812 -l M5stack M5stick C abil Arduino IDE abil: 5 sammu

Neopixel Ws2812 Rainbow LED-helendus koos M5stick-C | Vikerkaare jooksmine Neopixel Ws2812-l M5stack M5stick C kasutamine Arduino IDE kasutamine: Tere poisid, selles juhendis õpime, kuidas kasutada neopixel ws2812 LED-e või led-riba või led-maatriksit või led-rõngast koos m5stack m5stick-C arendusplaadiga Arduino IDE-ga ja teeme vikerkaare muster koos sellega
Kella tegemine M5stick C abil Arduino IDE abil RTC reaalajas kell M5stack M5stick-C abil: 4 sammu

Kella tegemine M5stick C abil, kasutades Arduino IDE | RTC reaalajas kell koos M5stack M5stick-C-ga: Tere, selles juhendis olevad poisid, me õpime, kuidas Arduino IDE abil kella m5stick-C arendusplaadiga teha. Nii kuvab m5stick kuupäeva, kellaaja ja amp; kuunädal ekraanil
Juhtige LED -plaati telefoni teel NodeMCU, ESP8266 ja MAX7219 abil: 8 sammu

Juhtige LED -plaati telefoni teel NodeMCU, ESP8266 ja MAX7219 abil: soovin kasutada telefoni LED -plaadi juhtimiseks suunatulena. Seega toimib ESP8266 pääsupunktina, mikrokontrollerina ja ka serverina. Veebiserveril on lihtne veebileht, millel on kolm nuppu: pöörake vasakule, paremale ja pöörake SOS -i. Teksti