Përmbajtje:
- Furnizimet
- Hapi 1: Konfiguroni Arduino IDE për zhvillimin Esp8266
- Hapi 2: Shkarkoni Bibliotekat e Jashtme
- Hapi 3: Shkruani Disa Kod Tani
- Hapi 4: Diagrami i Qarkut
- Hapi 5: Ngarko kodin në Esp8266
- Hapi 6: Provoni gjithçka
Video: MAX7219 LED Matrix MQTT Duke përdorur Esp8266: 6 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:12
Po përpiqesha të lidhja ekranin tim MAX7219 LED me një server MQTT dhe të merrja një tekst nga pajtimi MQTT për tu shfaqur.
por unë nuk mora asnjë kod të përshtatshëm në internet, kështu që fillova të ndërtoj timen…
dhe rezultati vjen mjaft mirë …
- mund të shfaqni çdo tekst në ekranin led
- mund të rregulloni intensitetin e ekranit
- mund të vendosni shpejtësinë e rrotullimit
Furnizimet
- Një bord zhvillimi esp8266. (rasti im është NODE MCU v1.0)
- MAX7219 Ekran i Matricës LED.
Softueri i nevojshëm:
- Arduino IDE.
- Një server MQTT. (rasti im Mushkonja)
Kërkohet biblioteka:
- ESP8266WiFi.h
- MD_MAX72xx.h
- EspMQTTClient.h
Hapi 1: Konfiguroni Arduino IDE për zhvillimin Esp8266
hapni preferencat e Arduino pastaj ngjitni URL -në e mëposhtme në URL -të e Menaxherit të Bordeve Shtesë:
arduino.esp8266.com/stable/package_esp8266com_index.json
pastaj Tools> Boards> Boards Manager dhe kërkoni për esp8266 dhe instalojeni.
tani ideja juaj Arduino është gati për zhvillimin esp8266.
Hapi 2: Shkarkoni Bibliotekat e Jashtme
tani na duhen disa biblioteka për MAX7219 dhe MQTT Client.
le të shkarkojmë dhe krijojmë bibliotekat
lundroni te Sketch> Përfshini Bibliotekën> Menaxhoni Bibliotekat në Arduino IDE
dhe kërkoni për EspMQTTClient dhe klikoni Instalo
NB: Instaloni të gjitha bibliotekat e varura, është e rëndësishme
Kërkoni përsëri për MD_MAX72xx dhe klikoni Instalo
Hapi 3: Shkruani Disa Kod Tani
Tani ngjitni kodin e mëposhtëm
#përfshi
#include #include #include "EspMQTTClient.h" #define MAX_DEVICES 4 // numërimi i pajisjes tuaj #përcaktoni CLK_PIN D5 // ose SCK #define DATA_PIN D7 // ose MOSI #define CS_PIN D4 // ose SS // mund ta vendosni për çdo pin #përcaktoni HARDWARE_TYPE MD_MAX72XX:: PAROLA_HW // ndryshoni sipas llojit të ekranit tuaj 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; // vonesa e parazgjedhur e lëvizjes uint8_t INTENSITET = 5; // intensiteti i parazgjedhur i kurorës së mesazhit [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) {enum statik {S_IDLE, S_NEXT_CHOW, S_NEXT_CHAR,; karik statik *p; statike uint16_t curLen, showLen; statike uint8_t cBuf [8]; uint8_t colData = 0; switch (gjendja) {case S_IDLE: p = curMessage; if (newMessageAvailable) {strcpy (curMessage, newMessage); newMessageAvailable = false; } gjendja = S_NEXT_CHAR; pushim; rasti S_NEXT_CHAR: nëse (*p == '\ 0') gjendja = S_IDLE; else {showLen = mx.getChar (*p ++, sizeof (cBuf) / sizeof (cBuf [0]), cBuf); curLen = 0; gjendja = S_SHOW_CHAR; } pushim; rasti S_SHOW_CHAR: colData = cBuf [curLen ++]; nëse (curLen = SCROLL_DELAY) {mx.transform (MD_MAX72XX:: TSL); // lundroni - thirrja do të ngarkojë të gjitha të dhënat paraprake = millis (); // pika fillestare për herën tjetër}} void setup () {Serial.begin (115200); mx.filloj (); mx.control (MD_MAX72XX:: Intensiteti, Intensiteti); mx.setShiftDataInCallback (scrollDataSource); mx.setShiftDataOutCallback (scrollDataSink); curMessage [0] = newMessage [0] = '\ 0'; sprintf (curMessage, "Smart Display"); } void onConnectionEstablished () {// Tema e abonimit MQTT për klientin e tekstit të shfaqur. abonohu ("leddisplay/text", (const String & payload) {sprintf (curMessage, payload.c_str ());});
// Tema e pajtimit MQTT për kontrollin e intensitetit të ekranit
client.subscribe ("leddisplay/intensiteti", (const String & payload) {mx.control (MD_MAX72XX:: INTENSITETI, payload.toInt ());}); // Tema e abonimit MQTT për klientin e kontrollit të shpejtësisë së lëvizjes së ekranit. Abonohu ("leddisplay/scroll", (const String & payload) {SCROLL_DELAY = payload.toInt ();}); } void loop () {client.loop (); scrollText (); }
Për informacion të detajuar, referojuni këtij depoja
github.com/souravj96/max7219-mqtt-esp8266
Hapi 4: Diagrami i Qarkut
lidhni ekranin MAX7219 me NODE MCU
Hapi 5: Ngarko kodin në Esp8266
tani zgjidhni llojin tuaj të saktë të bordit dhe portin serik, pastaj shtypni ngarkimin.
Hapi 6: Provoni gjithçka
nëse gjithçka shkon si duhet atëherë esp8266 juaj do të lidhet me serverin tuaj MQTT.
tani, nëse ndonjë gjë do të publikohet në temën leddisplay/tekst që do të shfaqet.
{
tema: "leddisplay/text", ngarkesa: "mesazhi juaj këtu"}
nëse doni të vendosni intensitetin e shfaqjes
{
tema: "leddisplay/intensiteti", ngarkesa: "2" // max është 15 dhe min 0}
nëse doni të vendosni shpejtësinë e lëvizjes së ekranit
{
tema: "leddisplay/scroll", ngarkesa: "100" // max është 255 dhe min 0}
Kodim i lumtur
Recommended:
DIY -- Si të bëni një robot merimangë i cili mund të kontrollohet duke përdorur smartphone duke përdorur Arduino Uno: 6 hapa
DIY || Si të bëni një robot merimangë i cili mund të kontrollohet duke përdorur smartphone duke përdorur Arduino Uno: Ndërsa bëni një robot merimangë, mund të mësoni shumë gjëra për robotikën. Ashtu si bërja e robotëve është edhe argëtuese, edhe sfiduese. Në këtë video ne do t'ju tregojmë se si të bëni një robot Spider, të cilin mund ta përdorim duke përdorur smartphone -in tonë (Androi
Kontrolli i udhëhequr në të gjithë botën duke përdorur internetin duke përdorur Arduino: 4 hapa
Kontrolli i udhëhequr në të gjithë botën duke përdorur internetin duke përdorur Arduino: Përshëndetje, unë jam Rithik. Ne do të bëjmë një led të kontrolluar nga interneti duke përdorur telefonin tuaj. Ne do të përdorim softuer si Arduino IDE dhe Blynk. Simpleshtë e thjeshtë dhe nëse keni sukses mund të kontrolloni sa më shumë komponentë elektronikë që dëshironi Gjërat që Ne Nevojë: Hardware:
Monitorimi i përshpejtimit duke përdorur Raspberry Pi dhe AIS328DQTR duke përdorur Python: 6 hapa
Monitorimi i përshpejtimit duke përdorur Raspberry Pi dhe AIS328DQTR Duke përdorur Python: Përshpejtimi është i kufizuar, mendoj sipas disa ligjeve të Fizikës.- Terry Riley Një cheetah përdor përshpejtim të mahnitshëm dhe ndryshime të shpejta në shpejtësi kur ndiqni. Krijesa më e shpejtë në breg, herë pas here, përdor ritmin e saj të lartë për të kapur prenë.
Neopixel Ws2812 Rainbow LED shkëlqim me M5stick-C - Running Rainbow në Neopixel Ws2812 Duke përdorur M5stack M5stick C Duke përdorur Arduino IDE: 5 hapa
Neopixel Ws2812 Rainbow LED Shkëlqen Me M5stick-C | Running Rainbow në Neopixel Ws2812 Duke përdorur M5stack M5stick C Duke përdorur Arduino IDE: Përshëndetje djema në këtë udhëzues do të mësojmë se si të përdorim LED neopixel ws2812 ose shirit led ose matricë led ose unazë led me bordin e zhvillimit m5stack m5stick-C me Arduino IDE dhe ne do të bëjmë një model ylberi me të
Raspberry Pi Duke folur me ESP8266 Duke përdorur MQTT: 8 hapa
Raspberry Pi Duke folur me ESP8266 Duke përdorur MQTT: Në këtë projekt, unë do të shpjegoj se çfarë është protokolli MQTT dhe si përdoret për të komunikuar midis pajisjeve. Pastaj, si një demonstrim praktik, unë do të demonstroj se si të vendosni një sistem klienti dhe ndërmjetësi, ku një modul ESP8266 si dhe RPi tal