Kazalo:
- Zaloge
- 1. korak: Namestite Arduino IDE za razvoj Esp8266
- 2. korak: Prenesite zunanje knjižnice
- 3. korak: Napišite kodo zdaj
- 4. korak: Shema vezja
- 5. korak: Naložite kodo na Esp8266
- 6. korak: Preizkusite vse
Video: MAX7219 LED Matrix MQTT z uporabo Esp8266: 6 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
Poskušal sem povezati svoj LED zaslon MAX7219 s strežnikom MQTT in prejeti besedilo iz naročnine na MQTT za prikaz.
vendar na internetu nisem dobil ustrezne kode, zato sem začel graditi svojo …
in rezultat je zelo dober …
- na LED zaslonu lahko prikažete poljubno besedilo
- lahko prilagodite intenzivnost prikaza
- lahko nastavite hitrost drsenja
Zaloge
- Razvojna plošča esp8266. (v mojem primeru je to NODE MCU v1.0)
- MAX7219 LED matrični zaslon.
Potrebna programska oprema:
- Arduino IDE.
- Strežnik MQTT. (moj primer Mosquitto)
Potrebna knjižnica:
- ESP8266WiFi.h
- MD_MAX72xx.h
- EspMQTTClient.h
1. korak: Namestite Arduino IDE za razvoj Esp8266
odprite nastavitve Arduina in nato prilepite spodnji URL v URL -je upravitelja dodatnih plošč:
arduino.esp8266.com/stable/package_esp8266com_index.json
nato Orodja> Plošče> Upravitelj plošč in poiščite esp8266 ter ga namestite.
zdaj je vaš Arduino ide pripravljen za razvoj esp8266.
2. korak: Prenesite zunanje knjižnice
zdaj potrebujemo nekaj knjižnic za odjemalca MAX7219 in MQTT.
naložimo in nastavimo knjižnice
pojdite na Sketch> Include Library> Manage Libraries v Arduino IDE
in poiščite EspMQTTClient in kliknite Namesti
Opomba: Namestite vse odvisne knjižnice, pomembno je
Ponovno poiščite MD_MAX72xx in kliknite Namesti
3. korak: Napišite kodo zdaj
Zdaj prilepite spodnjo kodo
#vključi
#include #include #include "EspMQTTClient.h" #define MAX_DEVICES 4 // število vaših naprav #define CLK_PIN D5 // ali SCK #define DATA_PIN D7 // ali MOSI #define CS_PIN D4 // ali SS // lahko nastavite na kateri koli pin #define HARDWARE_TYPE MD_MAX72XX:: PAROLA_HW // spremenite glede na vrsto 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; // privzeta zakasnitev drsenja uint8_t INTENSITY = 5; // privzeta intenzivnost 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čno naštevanje {S_IDLE statični char *p; static uint16_t curLen, showLen; statični 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; zlom; primer 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; } prelom; primer S_SHOW_CHAR: colData = cBuf [curLen ++]; if (curLen = SCROLL_DELAY) {mx.transform (MD_MAX72XX:: TSL); // pomikanje po - povratni klic bo naložil vse podatke prevTime = millis (); // izhodišče za naslednjič}} 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, "Pametni zaslon"); } void onConnectionEstablished () {// Tema naročnine na MQTT za odjemalca prikaznega besedila.subscribe ("leddisplay/text", (const String & payload) {sprintf (curMessage, payload.c_str ());});
// Naročninska tema MQTT za nadzor intenzivnosti prikaza
client.subscribe ("leddisplay/intenzivnost", (const String & payload) {mx.control (MD_MAX72XX:: INTENSITY, payload.toInt ());}); // Tema naročnine na MQTT za odjemalca za nadzor hitrosti drsenja zaslona.subscribe ("leddisplay/scroll", (const String & payload) {SCROLL_DELAY = payload.toInt ();}); } void loop () {client.loop (); scrollText (); }
Podrobne informacije najdete v tem skladišču
github.com/souravj96/max7219-mqtt-esp8266
4. korak: Shema vezja
povežite zaslon MAX7219 z NODE MCU
5. korak: Naložite kodo na Esp8266
zdaj izberite pravo vrsto plošče in serijska vrata, nato pritisnite nalaganje.
6. korak: Preizkusite vse
če bo vse v redu, bo vaš esp8266 povezan s strežnikom MQTT.
zdaj, če bo kaj objavljeno o temi leddisplay/text, ki bo prikazana.
{
topic: "leddisplay/text", koristna obremenitev: "your message here"}
če želite nastaviti intenzivnost prikaza
{
tema: "leddisplay/intenzivnost", koristna obremenitev: "2" // max je 15 in min 0}
če želite nastaviti hitrost drsenja zaslona
{
topic: "leddisplay/scroll", koristna obremenitev: "100" // max je 255 in min 0}
Veselo kodiranje
Priporočena:
Domača avtomatizacija z internetom/v oblaku z uporabo Esp8266 (aREST, MQTT, IoT): 7 korakov (s slikami)
Domača avtomatizacija, ki jo nadzira internet/oblak z uporabo Esp8266 (aREST, MQTT, IoT): VSE zasluge http://arest.io/ za storitev v oblaku !! IoT trenutno najbolj obravnavana tema na svetu !! Strežniki in storitve v oblaku, ki to omogočajo, so privlačna točka današnjega sveta
Domača avtomatizacija z uporabo MQTT in ESP8266: 6 korakov
Domača avtomatizacija z uporabo MQTT in ESP8266: Danes je avtomatizacija doma v trendu in prihajajoča doba IoT (Internet of Things). Vsak poskuša avtomatizirati dom na nek način, potem pa ga je mogoče daljinsko upravljati ali ročno. In kar jim olajša življenje. Obstajajo človeške tehnike za nadzor
4 v 1 MAX7219 Dot Matrix Display Module Tutorial z uporabo Arduino UNO: 5 korakov
4 v 1 MAX7219 Dot Matrix Display Module Tutorial z uporabo Arduino UNO: Opis: Iščete LED matrico za enostavno upravljanje? Ta modul matričnega prikaza 4 v 1 bi moral biti primeren za vas. Celoten modul je na voljo v štirih matrikah 8x8 RDEČE s skupno katodo, opremljenih z IC MAX7219 IC. Odlično za prikaz tekočega besedila
Neopixel Ws2812 Rainbow LED Glow z M5stick-C - Running Rainbow na Neopixel Ws2812 z uporabo M5stack M5stick C z uporabo Arduino IDE: 5 korakov
Neopixel Ws2812 Rainbow LED Glow z M5stick-C | Running Rainbow na Neopixel Ws2812 z uporabo M5stack M5stick C z uporabo Arduino IDE: Pozdravljeni fantje, v tem navodilu se bomo naučili uporabljati LED diode neopixel ws2812 ali LED trak ali LED matrico ali LED obroč z razvojno ploščo m5stack m5stick-C z Arduino IDE in naredili bomo mavrični vzorec z njim
Matrix Led X4 MAX7219 + ESP8266 12E + senzor DS18b20 (temperatura): 6 korakov
Matrični LED X4 MAX7219 + ESP8266 12E + senzor DS18b20 (temperatura): Ob tej priložnosti bomo izvedli hiter preizkus matrike z integriranim MAX7219 z modulom ESP8266 in tako, da ni zelo preprosto, bomo prebrali temperaturo senzorja DS18B20. V prihodnjih vajah ga bomo vključili v drugo platformo