Tartalomjegyzék:
- Kellékek
- 1. lépés: Az Arduino IDE beállítása az Esp8266 fejlesztéshez
- 2. lépés: Töltse le a külső könyvtárakat
- 3. lépés: Írjon néhány kódot most
- 4. lépés: Áramköri diagram
- 5. lépés: Töltse fel a kódot az Esp8266 fájlba
- 6. lépés: Teszteljen mindent
Videó: MAX7219 LED Mátrix MQTT Esp8266 használatával: 6 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
Próbáltam csatlakoztatni a MAX7219 LED kijelzőmet egy MQTT szerverhez, és szöveget fogadni az MQTT előfizetésből.
de nem találtam megfelelő kódot az interneten, ezért elkezdtem építeni a sajátomat…
és az eredmény nagyon jól jön …
- bármilyen szöveget megjeleníthet a LED kijelzőn
- beállíthatja a kijelző intenzitását
- beállíthatja a görgetési sebességet
Kellékek
- Esp8266 fejlesztő tábla. (az én esetem a NODE MCU v1.0)
- MAX7219 LED mátrix kijelző.
Szükséges szoftver:
- Arduino IDE.
- MQTT szerver. (az én esetem Mosquitto)
Könyvtár szükséges:
- ESP8266WiFi.h
- MD_MAX72xx.h
- EspMQTTClient.h
1. lépés: Az Arduino IDE beállítása az Esp8266 fejlesztéshez
nyissa meg az Arduino beállításait, majd illessze be az alábbi URL -t az Aditional Boards Manager URL -címeibe:
arduino.esp8266.com/stable/package_esp8266com_index.json
majd az Eszközök> Táblák> Táblakezelő parancsot, és keresse meg az esp8266 kifejezést, és telepítse azt.
most az Arduino ide készen áll az esp8266 fejlesztésre.
2. lépés: Töltse le a külső könyvtárakat
most szükségünk van néhány könyvtárra a MAX7219 és az MQTT ügyfél számára.
töltsük le és állítsuk be a könyvtárakat
navigáljon a Vázlat> Könyvtár bevonása> Könyvtárak kezelése Arduino IDE -hez
és keresse meg az EspMQTTClient kifejezést, majd kattintson a Telepítés gombra
Megjegyzés: Telepítse az összes függő könyvtárat, ez fontos
Keresse meg ismét az MD_MAX72xx kifejezést, majd kattintson a Telepítés gombra
3. lépés: Írjon néhány kódot most
Most illessze be az alábbi kódot
#befoglalni
#include #include #include "EspMQTTClient.h" #define MAX_DEVICES 4 // az eszközök száma #define CLK_PIN D5 // vagy SCK #define DATA_PIN D7 // vagy MOSI #define CS_PIN D4 // vagy SS // beállíthatja bármelyik tűre #define HARDWARE_TYPE MD_MAX72XX:: PAROLA_HW // módosítsa a megjelenítési típusának megfelelően 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; // alapértelmezett görgetési késleltetés uint8_t INTENZITÁS = 5; // alapértelmezett intenzitás char curMessage [MESG_SIZE]; char newMessage [MESG_SIZE]; bool newMessageAvailable = hamis; 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_CHAR, S_SHOW_SPACE} állapot = S_IDLE; statikus char *p; statikus uint16_t curLen, showLen; statikus uint8_t cBuf [8]; uint8_t colData = 0; switch (állapot) {case S_IDLE: p = curMessage; if (newMessageAvailable) {strcpy (curMessage, newMessage); newMessageAvailable = hamis; } állapot = S_NEXT_CHAR; szünet; S_NEXT_CHAR eset: if (*p == '\ 0') állapot = S_IDLE; else {showLen = mx.getChar (*p ++, sizeof (cBuf) / sizeof (cBuf [0]), cBuf); curLen = 0; állapot = S_SHOW_CHAR; } szünet; eset S_SHOW_CHAR: colData = cBuf [curLen ++]; if (curLen = SCROLL_DELAY) {mx.transform (MD_MAX72XX:: TSL); // görgessen végig - a visszahívás betölti az összes adatot prevTime = millis (); // kiindulópont a következő alkalommal}} void setup () {Serial.begin (115200); mx.begin (); mx.control (MD_MAX72XX:: INTENZITÁS, INTENZITÁS); mx.setShiftDataInCallback (scrollDataSource); mx.setShiftDataOutCallback (scrollDataSink); curMessage [0] = newMessage [0] = '\ 0'; sprintf (curMessage, "Intelligens kijelző"); } void onConnectionEstablished () {// MQTT előfizetés témája a megjelenített szöveges ügyfélhez.subscribe ("leddisplay/text", (const String & payload) {sprintf (curMessage, payload.c_str ());});
// MQTT előfizetési téma a kijelző intenzitásának szabályozásához
client.subscribe ("leddisplay/intensity", (const String & payload) {mx.control (MD_MAX72XX:: INTENSITY, payload.toInt ());}); // MQTT előfizetés témája a kijelző görgetési sebességének vezérléséhez client.subscribe ("leddisplay/scroll", (const String & payload) {SCROLL_DELAY = payload.toInt ();}); } void loop () {client.loop (); scrollText (); }
Részletes információkért tekintse meg ezt az adattárat
github.com/souravj96/max7219-mqtt-esp8266
4. lépés: Áramköri diagram
csatlakoztassa a MAX7219 kijelzőt a NODE MCU -val
5. lépés: Töltse fel a kódot az Esp8266 fájlba
most válassza ki a megfelelő tábla típusát és soros portját, majd nyomja meg a feltöltést.
6. lépés: Teszteljen mindent
ha minden jól megy, akkor az esp8266 csatlakoztatva lesz az MQTT szerveréhez.
most, ha bármi megjelenik a megjelenített leddisplay/text témában.
{
topic: "leddisplay/text", payload: "az üzenete itt"}
ha be szeretné állítani a kijelző intenzitását
{
topic: "leddisplay/intensitás", hasznos teher: "2" // max 15 és min 0}
ha be szeretné állítani a kijelző görgetési sebességét
{
topic: "leddisplay/scroll", hasznos terhelés: "100" // max 255 és min 0}
Boldog kódolást
Ajánlott:
Internet/felhővezérelt otthoni automatizálás az Esp8266 használatával (aREST, MQTT, IoT): 7 lépés (képekkel)
Internet/felhővezérelt otthoni automatizálás az Esp8266 használatával (aREST, MQTT, IoT): MINDEN forrás a http://arest.io/ számára a felhőszolgáltatáshoz !! Az IoT a világ legtöbbet tárgyalt témája jelenleg !! A felhőalapú szerverek és szolgáltatások, amelyek ezt lehetővé teszik, a mai világ vonzó pontjai … A TÁVOLSÁGI KORLÁTOZÁS KIMUTATÁSA volt és van
Otthoni automatizálás az MQTT és az ESP8266 használatával: 6 lépés
Otthonautomatizálás az MQTT és az ESP8266 használatával: Napjainkban az otthoni automatizálás az IoT (tárgyak internete) felkapott korszakában van. Mindenki megpróbálja automatizálni az otthont valamilyen módon, akkor ez lehet távirányítható vagy kézi. És ami megkönnyíti számukra az életet. Vannak emberek technikái az irányításra
4 az 1 -ben MAX7219 pontmátrix kijelző modul bemutatója az Arduino UNO használatával: 5 lépés
4 az 1 -ben MAX7219 pontmátrix kijelző modul bemutatója az Arduino UNO használatával: Leírás: Könnyen kezelhető LED -mátrixot keres? Ennek a 4 az 1 -ben pontmátrix kijelző modulnak alkalmasnak kell lennie az Ön számára. Az egész modul négy darab 8x8 RED közös katód pontmátrixból áll, amelyek mindegyike MAX7219 IC -vel van felszerelve. Nagyszerű megjeleníteni a futó szöveget a
Neopixel Ws2812 Rainbow LED izzás M5stick-C - Szivárvány futtatása a Neopixel Ws2812 készüléken az M5stack M5stick C használatával Arduino IDE használatával: 5 lépés
Neopixel Ws2812 Rainbow LED izzás M5stick-C | Szivárvány futása a Neopixel Ws2812-en az M5stack M5stick C használatával Arduino IDE használatával: Sziasztok, srácok, ebben az oktatási útmutatóban megtanuljuk, hogyan kell használni a neopixel ws2812 LED-eket, vagy led szalagot vagy led mátrixot vagy led gyűrűt m5stack m5stick-C fejlesztőtáblával Arduino IDE-vel, és elkészítjük szivárványos mintát vele
Matrix Led X4 MAX7219 + ESP8266 12E + DS18b20 érzékelő (hőmérséklet): 6 lépés
Matrix Led X4 MAX7219 + ESP8266 12E + DS18b20 érzékelő (hőmérséklet): Ebben a lehetőségben gyors tesztet hajtunk végre az integrált MAX7219 által vezetett mátrixra ESP8266 modullal, és így nem túl egyszerű, leolvasjuk az érzékelő hőmérsékletét DS18B20. A későbbi oktatóanyagokban integráljuk más platformokra