
Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-23 14:37

Pokušavao sam spojiti svoj MAX7219 LED ekran na MQTT server i primiti tekst od MQTT pretplate za prikaz.
ali nisam dobio odgovarajući kod na internetu, pa sam počeo graditi vlastiti …
a rezultat je sasvim dobar …
- možete prikazati bilo koji tekst na LED ekranu
- možete podesiti intenzitet prikaza
- možete postaviti brzinu pomicanja
Supplies
- Razvojna ploča esp8266. (u mom slučaju to je NODE MCU v1.0)
- MAX7219 LED matrični ekran.
Potreban softver:
- Arduino IDE.
- MQTT server. (moj slučaj komarac)
Potrebna biblioteka:
- ESP8266WiFi.h
- MD_MAX72xx.h
- EspMQTTClient.h
Korak 1: Postavite Arduino IDE za razvoj Esp8266

otvorite postavke Arduina, a zatim zalijepite donji URL u URL -ove upravitelja dodatnih ploča:
arduino.esp8266.com/stable/package_esp8266com_index.json
zatim Alati> Ploče> Upravitelj ploča i potražite esp8266 te ga instalirajte.
sada je vaš Arduino ide spreman za razvoj esp8266.
Korak 2: Preuzmite vanjske biblioteke
sada nam trebaju neke biblioteke za MAX7219 i MQTT Client.
preuzmimo i postavimo biblioteke
idite na Sketch> Include Library> Manage Libraries na Arduino IDE
i potražite EspMQTTClient i kliknite Instaliraj
Napomena: Instalirajte sve zavisne biblioteke, važno je
Ponovo potražite MD_MAX72xx i kliknite Instaliraj
Korak 3: Odmah napišite neki kod
Sada zalijepite donji kod
#include
#include #include #include "EspMQTTClient.h" #define MAX_DEVICES 4 // broj vaših uređaja #define CLK_PIN D5 // ili SCK #define DATA_PIN D7 // ili MOSI #define CS_PIN D4 // ili SS // možete postaviti na bilo koji pin #define HARDWARE_TYPE MD_MAX72XX:: PAROLA_HW // promijeni prema tipu prikaza 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; // zadano kašnjenje pomicanja uint8_t INTENSITY = 5; // zadani intenzitet 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) {statičko nabrojanje {S_IDLE statički char *p; static uint16_t curLen, showLen; statički uint8_t cBuf [8]; uint8_t colData = 0; switch (stanje) {case S_IDLE: p = curMessage; if (newMessageAvailable) {strcpy (curMessage, newMessage); newMessageAvailable = false; } stanje = S_NEXT_CHAR; break; slučaj S_NEXT_CHAR: if (*p == '\ 0') stanje = S_IDLE; else {showLen = mx.getChar (*p ++, sizeof (cBuf) / sizeof (cBuf [0]), cBuf); curLen = 0; stanje = S_SHOW_CHAR; } break; slučaj S_SHOW_CHAR: colData = cBuf [curLen ++]; if (curLen = SCROLL_DELAY) {mx.transform (MD_MAX72XX:: TSL); // pomerajte se - povratni poziv će učitati sve podatke prevTime = millis (); // polazište za sljedeći put}} void setup () {Serial.begin (115200); mx.begin (); mx.control (MD_MAX72XX:: INTENZITET, INTENZITET); mx.setShiftDataInCallback (scrollDataSource); mx.setShiftDataOutCallback (scrollDataSink); curMessage [0] = newMessage [0] = '\ 0'; sprintf (curMessage, "Smart Display"); } void onConnectionEstablished () {// Tema pretplate na MQTT za prikaz teksta client.subscribe ("leddisplay/text", (const String & payload) {sprintf (curMessage, payload.c_str ());});
// Tema pretplate na MQTT za kontrolu intenziteta prikaza
client.subscribe ("leddisplay/intenzitet", (const niz i korisni teret) {mx.control (MD_MAX72XX:: INTENSITY, payload.toInt ());}); // Tema pretplate na MQTT za kontrolu brzine pomicanja ekrana client.subscribe ("leddisplay/scroll", (const String & payload) {SCROLL_DELAY = payload.toInt ();}); } void loop () {client.loop (); scrollText (); }
Za detaljne informacije, pogledajte ovo spremište
github.com/souravj96/max7219-mqtt-esp8266
Korak 4: Dijagram kola

povežite zaslon MAX7219 s NODE MCU
Korak 5: Otpremite kôd na Esp8266

sada odaberite ispravnu vrstu ploče i serijski port, a zatim pritisnite upload.
Korak 6: Sve testirajte
ako sve prođe kako treba, vaš esp8266 će biti spojen na vaš MQTT server.
sada, ako će nešto biti objavljeno na leddisplay/tekstualnoj temi koja će biti prikazana.
{
tema: "leddisplay/text", korisni teret: "vaša poruka ovdje"}
ako želite postaviti intenzitet prikaza
{
tema: "leddisplay/intenzitet", korisni teret: "2" // max je 15 i min 0}
ako želite postaviti brzinu pomicanja zaslona
{
tema: "leddisplay/scroll", korisni teret: "100" // max je 255 i min 0}
Sretno kodiranje
Preporučuje se:
UPRAVLJAČKA LED MATRIX MAX7219 S ARDUINOM: 9 koraka

KONTROLNA LED MATRIX MAX7219 S ARDUINOM: U ovom vodiču naučit ćemo kako kontrolirati LED matricu MAX7219 s Arduinom prikazivanjem jednostavnog teksta. Pogledajte demonstracijski video
Snimite i pošaljite slike pomoću ESP32-Cam pomoću ESP8266 WeMos D1 R1 Wifi procesora sa Uno: 7 koraka

Snimite i pošaljite slike pomoću ESP32-Cam pomoću ESP8266 WeMos D1 R1 Wifi procesora sa Uno: Snimite sliku pomoću ESP32-Cam (OV2640) pomoću ESP8266 WeMos D1 R1 WiFI procesora sa Uno-om i pošaljite ga na e-poštu, sačuvajte na Google disku i pošaljite na Whatsapp koristi Twilio.Zahtjevi: ESP8266 WeMos D1 R1 WiFI procesor sa Uno (https: // protosupplies
Arduino Smile MAX7219 Matrix LED vodič: 4 koraka

Arduino Smile MAX7219 Matrix LED Tutorial: U ovom vodiču " Upravljanje LED matricom pomoću Arduina ". Pokazat ću vam kako koristiti Led matrične zaslone pomoću Arduina. I u ovom ćemo članku naučiti stvarati emotikone za osmijeh koristeći ovaj matrični zaslon koristeći i Arduino. Korišteni sastojci
Arduino Max7219 Led Matrix Display Tutorial: 4 koraka

Arduino Max7219 Led Matrix Display Tutorial: Zdravo momci, u ovom uputstvu ćemo naučiti kako koristiti LED matrični ekran sa max7219 upravljačkim programom ekrana sa Arduinom za prikaz animacije i teksta na ovom LED Matrix ekranu
Matrix Led X4 MAX7219 + ESP8266 12E + senzor DS18b20 (temperatura): 6 koraka

Matrični LED X4 MAX7219 + ESP8266 12E + senzor DS18b20 (temperatura): Ovom prilikom izvršit ćemo brzo testiranje matrice sa integriranim MAX7219 s modulom ESP8266 i tako da nije jednostavno očitati ćemo temperaturu senzora DS18B20. U budućim vodičima integrirat ćemo ga na drugu platformu