Obsah:
- Zásoby
- Krok 1: Nastavení Arduino IDE pro vývoj Esp8266
- Krok 2: Stažení externích knihoven
- Krok 3: Napište nějaký kód hned
- Krok 4: Schéma zapojení
- Krok 5: Nahrajte kód na Esp8266
- Krok 6: Vše otestujte
Video: MAX7219 LED Matrix MQTT pomocí Esp8266: 6 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:20
Pokoušel jsem se připojit svůj LED displej MAX7219 k serveru MQTT a obdržet text z předplatného MQTT k zobrazení.
ale na internetu jsem nedostal žádný vhodný kód, a tak jsem začal budovat vlastní…
a výsledek se dostaví docela dobře …
- na LED displeji můžete zobrazit libovolný text
- můžete upravit intenzitu zobrazení
- můžete nastavit rychlost posouvání
Zásoby
- Vývojová deska esp8266. (můj případ je NODE MCU v1.0)
- Maticový displej MAX7219 LED.
Potřebný software:
- Arduino IDE.
- Server MQTT. (můj případ Mosquitto)
Požadovaná knihovna:
- ESP8266WiFi.h
- MD_MAX72xx.h
- EspMQTTClient.h
Krok 1: Nastavení Arduino IDE pro vývoj Esp8266
otevřete předvolby Arduina a poté vložte níže uvedenou adresu URL do adres URL dalších správců desek:
arduino.esp8266.com/stable/package_esp8266com_index.json
poté Nástroje> Desky> Správce desek a vyhledejte esp8266 a nainstalujte jej.
nyní je váš Arduino ide připraven k vývoji esp8266.
Krok 2: Stažení externích knihoven
nyní potřebujeme nějaké knihovny pro MAX7219 a klienta MQTT.
stáhneme a nastavíme knihovny
přejděte na Sketch> Include Library> Manage Libraries on Arduino IDE
a vyhledejte EspMQTTClient a klikněte na Instalovat
Poznámka: Nainstalujte si všechny závislé knihovny, je to důležité
Znovu vyhledejte MD_MAX72xx a klikněte na Instalovat
Krok 3: Napište nějaký kód hned
Nyní vložte níže uvedený kód
#zahrnout
#include #include #include "EspMQTTClient.h" #define MAX_DEVICES 4 // počet vašich zařízení #define CLK_PIN D5 // nebo SCK #define DATA_PIN D7 // nebo MOSI #define CS_PIN D4 // nebo SS // můžete nastavit na jakýkoli pin #define HARDWARE_TYPE MD_MAX72XX:: PAROLA_HW // změna podle typu zobrazení MD_MAX72XX mx = MD_MAX72XX (HARDWARE_TYPE, CS_PIN, MAX_DEVICES); konst uint8_t MESG_SIZE = 255; konst uint8_t CHAR_SPACING = 1; uint8_t SCROLL_DELAY = 75; // výchozí zpoždění posouvání uint8_t INTENSITY = 5; // výchozí intenzita 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) {static enum {S_IDLE, S_NEXT_CHAR, S_SHSP_, S_SHOW_ statický znak *p; statický uint16_t curLen, showLen; statický uint8_t cBuf [8]; uint8_t colData = 0; switch (state) {case S_IDLE: p = curMessage; if (newMessageAvailable) {strcpy (curMessage, newMessage); newMessageAvailable = false; } stav = S_NEXT_CHAR; přestávka; případ S_NEXT_CHAR: if (*p == '\ 0') state = S_IDLE; else {showLen = mx.getChar (*p ++, sizeof (cBuf) / sizeof (cBuf [0]), cBuf); curLen = 0; stav = S_SHOW_CHAR; } přestávka; případ S_SHOW_CHAR: colData = cBuf [curLen ++]; if (curLen = SCROLL_DELAY) {mx.transform (MD_MAX72XX:: TSL); // posouvání podél - zpětné volání načte všechna data prevTime = millis (); // výchozí bod pro příště}} void setup () {Serial.begin (115200); mx.begin (); mx.control (MD_MAX72XX:: INTENSITY, INTENSITY); mx.setShiftDataInCallback (scrollDataSource); mx.setShiftDataOutCallback (scrollDataSink); curMessage [0] = newMessage [0] = '\ 0'; sprintf (curMessage, „Smart Display“); } void onConnectionEstablished () {// téma předplatného MQTT pro textový text client.subscribe ("leddisplay/text", (const String & payload) {sprintf (curMessage, payload.c_str ());});
// Téma předplatného MQTT pro ovládání intenzity zobrazení
client.subscribe ("leddisplay/intenzita", (const String & payload) {mx.control (MD_MAX72XX:: INTENSITY, payload.toInt ());}); // Téma předplatného MQTT pro zobrazení rychlosti posouvání klienta client.subscribe ("leddisplay/scroll", (const String & payload) {SCROLL_DELAY = payload.toInt ();}); } void loop () {client.loop (); scrollText (); }
Podrobné informace najdete v tomto úložišti
github.com/souravj96/max7219-mqtt-esp8266
Krok 4: Schéma zapojení
propojte displej MAX7219 s NODE MCU
Krok 5: Nahrajte kód na Esp8266
nyní vyberte správný typ desky a sériový port a poté klikněte na nahrát.
Krok 6: Vše otestujte
pokud je vše v pořádku, bude váš esp8266 připojen k vašemu serveru MQTT.
nyní, pokud bude něco publikováno na leddisplay/textové téma, které se zobrazí.
{
téma: "leddisplay/text", užitečné zatížení: "vaše zpráva zde"}
pokud chcete nastavit intenzitu zobrazení
{
téma: "leddisplay/intenzita", užitečné zatížení: "2" // max je 15 a min 0}
pokud chcete nastavit rychlost posouvání displeje
{
téma: "leddisplay/scroll", užitečné zatížení: "100" // max je 255 a min 0}
Šťastné kódování
Doporučuje:
Pořizujte a odesílejte obrázky pomocí kamery ESP32-Cam pomocí bezdrátového procesoru ESP8266 WeMos D1 R1 s Uno: 7 kroků
Zachyťte a odešlete obrázky pomocí ESP32-Cam pomocí ESP8266 WeMos D1 R1 Wifi procesoru s Uno: Zachyťte obrázek pomocí ESP32-Cam (OV2640) pomocí ESP8266 WeMos D1 R1 WiFI procesoru s Uno a odešlete jej na e-mail, uložte na Disk Google a odešlete na Whatsapp pomocí Twilio. Požadavky: ESP8266 WeMos D1 R1 WiFI procesor s Uno (https: // protosupplies
Internetové hodiny: Zobrazení data a času pomocí OLED pomocí ESP8266 NodeMCU s protokolem NTP: 6 kroků
Internetové hodiny: Zobrazení data a času pomocí OLED pomocí ESP8266 NodeMCU s protokolem NTP: Ahoj kluci v tomto návodu, postavíme internetové hodiny, které získají čas z internetu, takže tento projekt ke spuštění nebude potřebovat žádný RTC, bude k tomu potřebovat pouze funkční připojení k internetu A pro tento projekt potřebujete esp8266, který bude mít
4 v 1 MAX7219 Dot Matrix Display Module Tutorial pomocí Arduino UNO: 5 kroků
4 v 1 MAX7219 Dot Matrix Display Module Tutorial pomocí Arduino UNO: Popis: Hledáte snadno ovladatelnou LED matici? Tento modul displeje Matice displeje 4 v 1 by pro vás měl být vhodný. Celý modul je dodáván se čtyřmi společnými katodovými maticemi 8x8 RED se společnou katodou, které jsou vybaveny IC MAX7219. Skvělé pro zobrazení běžícího textu
Ovládání brány pomocí Google Assistent pomocí ESP8266 NodeMCU: 6 kroků
Ovládání brány pomocí Google Assistent pomocí ESP8266 NodeMCU: Toto je můj první projekt na instruktabile, takže pokud jsou možná vylepšení, komentujte níže. Cílem je použít asistenta Google k odeslání signálu na řídicí desku brány. Odesláním příkazu tedy dojde k relé, které uzavře
Matrix Led X4 MAX7219 + ESP8266 12E + senzor DS18b20 (teplota): 6 kroků
Matrix Led X4 MAX7219 + ESP8266 12E + senzor DS18b20 (teplota): Při této příležitosti provedeme rychlý test na matici LED s integrovaným MAX7219 s modulem ESP8266 a aby to nebylo příliš jednoduché, budeme číst teplotu senzoru DS18B20. V budoucích tutoriálech jej integrujeme do dalších plat