Мазмуну:
- Жабдуулар
- 1 -кадам: Esp8266 өнүктүрүү үчүн Arduino IDE орнотуу
- 2 -кадам: Тышкы китепканаларды жүктөп алыңыз
- 3 -кадам: Азыр код жазыңыз
- 4 -кадам: Райондук диаграмма
- 5 -кадам: Кодду Esp8266ге жүктөө
- 6 -кадам: Бардыгын сыноо
Video: MAX7219 LED Matrix MQTT Esp8266 колдонуу: 6 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:39
Мен MAX7219 LED дисплейимди MQTT серверине туташтырууга жана MQTT жазылуусунан дисплейди көрүүгө аракет кылып жаттым.
бирок мен интернеттен эч кандай ылайыктуу кодду алган жокмун, ошондуктан мен өзүмдүн кодумду кура баштадым …
жана натыйжасы абдан жакшы келет …
- сиз каалаган дисплейди дисплейде көрсөтө аласыз
- дисплейдин интенсивдүүлүгүн жөндөй аласыз
- жылдыруу ылдамдыгын орното аласыз
Жабдуулар
- Esp8266 өнүктүрүү тактасы. (Менин учурда бул NODE MCU v1.0)
- MAX7219 LED Matrix Display.
Программалык камсыздоо керек:
- Arduino IDE.
- MQTT сервери. (менин ишим Mosquitto)
Китепкана талап кылынат:
- ESP8266WiFi.h
- MD_MAX72xx.h
- EspMQTTClient.h
1 -кадам: Esp8266 өнүктүрүү үчүн Arduino IDE орнотуу
Arduino артыкчылыктарын ачыңыз, андан кийин төмөнкү URLди кошумча такталар менеджеринин URL дарегине чаптаңыз:
arduino.esp8266.com/stable/package_esp8266com_index.json
анда Куралдар> Такта> Такта менеджери жана esp8266 издеп, аны орнотуңуз.
азыр сиздин Arduino ide esp8266 иштеп чыгууга даяр.
2 -кадам: Тышкы китепканаларды жүктөп алыңыз
азыр бизге MAX7219 жана MQTT Client үчүн кээ бир китепканалар керек.
китепканаларды жүктөп алалы жана орнотолу
өтүңүз Sketch> Китепкананы кошуу> Arduino IDEдеги китепканаларды башкаруу
жана EspMQTTClient издеп, Орнотууну чыкылдатыңыз
Эскертүү: Бардык көз каранды китепканаларды орнотуңуз, бул маанилүү
Дагы MD_MAX72xx издеп, Орнотууну чыкылдатыңыз
3 -кадам: Азыр код жазыңыз
Эми төмөнкү кодду чаптаңыз
#кошуу
#include #include #include "EspMQTTClient.h" #MAX_DEVICES 4ти аныктоо // түзмөгүңүздүн санын #аныктоо CLK_PIN D5 // же SCK #define DATA_PIN D7 // же MOSI #define CS_PIN D4 // же SS // сиз муну орното аласыз каалаган пинге #define HARDWARE_TYPE MD_MAX72XX:: PAROLA_HW // дисплейиңиздин түрүнө жараша өзгөртүү 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; // демейки жылдыруу кечигүүсү uint8_t INTENSITY = 5; // демейки интенсивдүүлүк 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_NEX_CHOW_, S_NEX_CHOW_, S_NEX_CHOW_ статикалык чар *п; static uint16_t curLen, showLen; статикалык uint8_t cBuf [8]; uint8_t colData = 0; switch (state) {case S_IDLE: p = curMessage; if (newMessageAvailable) {strcpy (curMessage, newMessage); newMessageAvailable = жалган; } абал = S_NEXT_CHAR; тыныгуу; case S_NEXT_CHAR: if (*p == '\ 0') state = S_IDLE; башка {showLen = mx.getChar (*p ++, sizeof (cBuf) / sizeof (cBuf [0]), cBuf); curLen = 0; абал = S_SHOW_CHAR; } тыныгуу; учурда S_SHOW_CHAR: colData = cBuf [curLen ++]; эгер (curLen = SCROLL_DELAY) {mx.transform (MD_MAX72XX:: TSL); // жылдырыңыз - кайра чалуу бардык маалыматтарды жүктөйт prevTime = millis (); // кийинки жолу башталуу чекити}} 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 () {// MQTT жазылуу темасы дисплей клиенти.subscribe ("leddisplay/text", (const String & payload) {sprintf (curMessage, payload.c_str ());});
// MQTT жазылуу темасы дисплейдин интенсивдүүлүгүн көзөмөлдөө үчүн
client.subscribe ("leddisplay/intensity", (const String & payload) {mx.control (MD_MAX72XX:: INTENSITY, payload.toInt ());}); // MQTT жазылуу темасы дисплейдин ылдамдыгын контролдоо client.subscribe ("leddisplay/scroll", (const String & payload) {SCROLL_DELAY = payload.toInt ();}); } void loop () {client.loop (); scrollText (); }
Толук маалымат алуу үчүн бул репозиторийге кайрылыңыз
github.com/souravj96/max7219-mqtt-esp8266
4 -кадам: Райондук диаграмма
MAX7219 дисплейин NODE MCU менен туташтырыңыз
5 -кадам: Кодду Esp8266ге жүктөө
азыр өзүңүздүн тактаңыздын түрүн жана сериялык портун тандап, анан жүктөп коюңуз.
6 -кадам: Бардыгын сыноо
эгер баары туура болсо, анда esp8266 сиздин MQTT сервериңизге туташат.
азыр, эгерде бир нерсе көрсөтүлө турган leddisplay/text темасында жарыяланса.
{
тема: "leddisplay/text", пайдалуу жүк: "сиздин билдирүүңүз бул жерде"}
эгерде дисплейдин интенсивдүүлүгүн орноткуңуз келсе
{
тема: "leddisplay/intensity", пайдалуу жүк: "2" // максимум 15 жана мин 0}
эгер сиз дисплейдин ылдамдыгын орноткуңуз келсе
{
тема: "leddisplay/scroll", пайдалуу жүк: "100" // максимум 255 жана мин 0}
Бактылуу коддоо
Сунушталууда:
IoT Smart Clock Dot Matrix Wemos колдонуу ESP8266 - ESP матрицасы: 12 кадам (сүрөттөр менен)
IoT Smart Clock Dot Matrix Wemos ESP8266-ESP Матрицасын колдонуу: Өз IoT Акылдуу Саатыңызды жасай алат: Чоң сулуу анимация сөлөкөтү менен Дисплей Эскерткич-1ден Эскертүү-5ге чейин Күндү көрсөтүү Мусулман Намаз убактысын көрсөтүү Аба ырайы маалыматын көрсөтүү Жаңылыктар Дисплей Кеңешин көрсөтүү Bitcoin курсунун дисплейи
Neopixel Ws2812 Rainbow LED жарыгы M5stick-C - менен Rainbowту Neopixel Ws2812де иштетүү M5stack M5stick Cди колдонуу Arduino IDEди колдонуу: 5 кадам
Neopixel Ws2812 Rainbow LED Glow with M5stick-C | Rainbow боюнча Neopixel Ws2812де чуркоо M5stack M5stick Cди колдонуу Arduino IDEди колдонуу: Салам балдар бул көрсөтмөлөрдө биз неопиксел ws2812 светодиоддорун же LED тилкесин же LED матрицасын же LED шакегин m5stack m5stick-C өнүктүрүү тактасы менен Arduino IDE менен колдонууну үйрөнөбүз жана биз жасайбыз. аны менен асан -үсөн үлгүсү
Wemos ESP-Wroom-02 D1 Mini WiFi модулун кантип колдонуу керек Blynkти колдонуу менен ESP8266 + 18650: 10 кадам
Wemos ESP-Wroom-02 D1 Mini WiFi модулун кантип колдонуу керек Blynkти колдонуу менен ESP8266 + 18650: Мүнөздөмөсү: nodemcu 18650 кубаттоо тутумунун интеграциясы менен шайкеш келет. туташтыргычы уйку режиминде колдонулушу мүмкүн · 1 кошуу
Blynkти колдонуу менен Arduino WeMos D1 WiFi UNO ESP8266 IOT IDEге шайкеш келген тактаны кантип колдонуу керек: 10 кадам
Blynkти колдонуу менен Arduino WeMos D1 WiFi UNO ESP8266 IOT IDEге шайкеш келген тактаны кантип колдонсо болот: Arduino WeMos D1 WiFi UNO ESP8266 IOT IDE Compatible Board Description: Description: WiFi ESP8266 Development Board WEMOS D1. WEMOS D1 - ESP8266 12Eге негизделген WIFI өнүктүрүү тактасы. Иштөө тутуму NODEMCUга окшош, бирок аппараттык жабдуулар бузулган
Matrix Led X4 MAX7219 + ESP8266 12E + Сенсор DS18b20 (Температура): 6 кадам
Matrix Led X4 MAX7219 + ESP8266 12E + Сенсор DS18b20 (Температура): Бул мүмкүнчүлүктө биз ESP8266 модулу менен интеграцияланган MAX7219 жетектелген матрицага тез тест өткөрөбүз жана анча жөнөкөй эмес болгондуктан сенсордун температурасын окуйбуз. DS18B20. Келечектеги окуу куралдарында биз аны башка платформага киргизебиз