Mundarija:
- Ta'minotlar
- 1 -qadam: Esp8266 ishlab chiqish uchun Arduino IDE -ni o'rnating
- 2 -qadam: Tashqi kutubxonalarni yuklab oling
- 3 -qadam: Endi kod yozing
- 4 -qadam: O'chirish diagrammasi
- 5 -qadam: Kodni Esp8266 -ga yuklang
- 6 -qadam: Hammasini sinab ko'ring
Video: MAX7219 LED Matrix MQTT Esp8266 yordamida: 6 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:24
Men MAX7219 LED displeyimni MQTT serveriga ulashga va MQTT obunasidan matnni ko'rsatishga harakat qilardim.
lekin men Internetda mos kodni olmadim, shuning uchun men o'z kodimni yaratishni boshladim …
va natija juda yaxshi …
- har qanday matnni LED displeyda ko'rsatish mumkin
- Siz ekranning intensivligini sozlashingiz mumkin
- aylantirish tezligini belgilashingiz mumkin
Ta'minotlar
- Esp8266 ishlab chiqish paneli. (mening ishim bu NODE MCU v1.0)
- MAX7219 LED matritsali displey.
Kerakli dasturiy ta'minot:
- Arduino IDE.
- MQTT serveri. (Mening ishim chivin)
Kutubxona kerak:
- ESP8266WiFi.h
- MD_MAX72xx.h
- EspMQTTClient.h
1 -qadam: Esp8266 ishlab chiqish uchun Arduino IDE -ni o'rnating
Arduino -ning afzalliklarini oching, so'ng quyidagi URL -ni qo'shimcha taxtalar menejeri URL -lariga joylashtiring:
arduino.esp8266.com/stable/package_esp8266com_index.json
keyin asboblar> taxtalar> taxtalar menejeri va esp8266 ni qidiring va o'rnating.
Endi sizning Arduino ideangiz esp8266 ishlab chiqishga tayyor.
2 -qadam: Tashqi kutubxonalarni yuklab oling
endi bizga MAX7219 va MQTT Client uchun kutubxonalar kerak.
kutubxonalarni yuklab olamiz va o'rnatamiz
Sketch> Kutubxonani qo'shish> Arduino IDE -dagi kutubxonalarni boshqarish -ga o'ting
va EspMQTTClient -ni qidiring va O'rnatish -ni bosing
Eslatma: Barcha qaram kutubxonalarni o'rnating, bu juda muhim
Yana MD_MAX72xx -ni qidiring va O'rnatish -ni bosing
3 -qadam: Endi kod yozing
Endi quyidagi kodni joylashtiring
#qo'shing
#include #include #include "EspMQTTClient.h" #MAX_DEVICES 4 ni aniqlang // qurilmangiz sonini aniqlang #CLK_PIN D5 ni belgilang // yoki SCK #DATA_PIN D7 ni belgilang // yoki MOSIni belgilang #CS_PIN D4 ni belgilang // yoki SS // uni sozlashingiz mumkin. har qanday pinga #define HARDWARE_TYPE MD_MAX72XX:: PAROLA_HW // displey turiga qarab o'zgartirish 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; // standart aylantirish kechikishi uint8_t INTENSITY = 5; // standart intensivlik char curMessage [MESG_SIZE]; char newMessage [MESG_SIZE]; bool newMessageAvailable = noto'g'ri; 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_ statik char *p; statik uint16_t curLen, showLen; statik uint8_t cBuf [8]; uint8_t colData = 0; switch (holat) {case S_IDLE: p = curMessage; if (newMessageAvailable) {strcpy (curMessage, newMessage); newMessageAvailable = noto'g'ri; } holat = S_NEXT_CHAR; tanaffus; holat S_NEXT_CHAR: agar (*p == '\ 0') holat = S_IDLE; boshqa {showLen = mx.getChar (*p ++, sizeof (cBuf) / sizeof (cBuf [0]), cBuf); curLen = 0; davlat = S_SHOW_CHAR; } tanaffus; holat S_SHOW_CHAR: colData = cBuf [curLen ++]; agar (curLen = SCROLL_DELAY) {mx.transform (MD_MAX72XX:: TSL); // oldinga siljiting - qayta qo'ng'iroq barcha ma'lumotlarni yuklaydi prevTime = millis (); // keyingi safar boshlanish nuqtasi}} 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, "Aqlli displey"); } void onConnectionEstablished () {// MQTT obunasi mavzusi matnli mijozni ko'rsatish uchun.subscribe ("leddisplay/text", (const String & payload) {sprintf (curMessage, payload.c_str ());});
// Displey intensivligini nazorat qilish uchun MQTT obunasi mavzusi
client.subscribe ("leddisplay/intensivligi", (const String & payload) {mx.control (MD_MAX72XX:: INTENSITY, payload.toInt ());}); // MQTT obunasi mavzusi displeyda aylantirish tezligini boshqarish client.subscribe ("leddisplay/scroll", (const String & payload) {SCROLL_DELAY = payload.toInt ();}); } void loop () {client.loop (); scrollText (); }
Batafsil ma'lumot uchun ushbu omborga qarang
github.com/souravj96/max7219-mqtt-esp8266
4 -qadam: O'chirish diagrammasi
MAX7219 displeyini NODE MCU bilan ulang
5 -qadam: Kodni Esp8266 -ga yuklang
Endi to'g'ri taxta turini va ketma -ket portni tanlang, so'ngra yuklashni bosing.
6 -qadam: Hammasini sinab ko'ring
agar hamma narsa to'g'ri bo'lsa, sizning esp8266 sizning MQTT serveringizga ulanadi.
endi, agar biror narsa ko'rsatiladigan LEDdisplay/matn mavzusida e'lon qilinsa.
{
mavzu: "leddisplay/text", foydali yuk: "bu erda sizning xabaringiz"}
agar siz ekranning intensivligini sozlamoqchi bo'lsangiz
{
mavzu: "leddisplay/intensivligi", yuk: "2" // maksimal 15 va min 0}
Agar siz ekranning aylanish tezligini o'rnatmoqchi bo'lsangiz
{
mavzu: "leddisplay/scroll", yuk: "100" // maksimal 255 va min 0}
Baxtli kodlash
Tavsiya:
LED MATRIX MAX7219 ni ARDUINO bilan boshqarish: 9 qadam
LED MATRIX MAX7219 ni ARDUINO bilan boshqarish: Ushbu qo'llanmada biz MAX7219 Led matritsasini Arduino yordamida oddiy matnni ko'rsatish orqali boshqarishni o'rganamiz
Internet soati: NTP protokoli bilan ESP8266 NodeMCU yordamida OLED yordamida sana va vaqtni ko'rsatish: 6 qadam
Internet soati: NTP protokoli bilan ESP8266 NodeMCU yordamida OLED yordamida sana va vaqtni ko'rsatish: Salom bolalar, biz Internetdan vaqt oladigan Internet soatini quramiz, shuning uchun bu loyihani ishga tushirish uchun hech qanday RTC kerak emas, unga faqat ishlaydigan Internet aloqasi Va bu loyiha uchun sizga esp8266 kerak bo'ladi, u
Arduino UNO yordamida 4 ta 1 MAX7219 nuqta matritsali displey moduli bo'yicha qo'llanma: 5 qadam
Arduino UNO yordamida MAX7219 nuqta matritsali displey moduli bo'yicha 4 ta o'quv qo'llanma: Tavsif: LED matritsasini boshqarish osonmi? Bu 4 tasi 1 nuqta matritsali displey moduli sizga mos bo'lishi kerak. Butun modul har biri MAX7219 IC bilan jihozlangan to'rtta 8x8 RED umumiy katodli nuqta matritsasida keladi. Ishlayotgan matnni ko'rsatish juda yaxshi
M5stick-C bilan Neopixel Ws2812 kamalakli LED yoritgichi - Arduino IDE yordamida M5stack M5stick C yordamida Neopixel Ws2812 da kamalakni ishga tushirish: 5 qadam
M5stick-C bilan Neopixel Ws2812 kamalakli LED yoritgichi | Arduino IDE yordamida M5stack M5stick C yordamida Neopixel Ws2812 da Rainbow-ni ishga tushiring: Salom bolalar, biz bu ko'rsatmalarni o'qib beramiz, biz neopixel ws2812 LEDlarini yoki LED tasmasini yoki LED matritsasini yoki LED halqasini m5stack m5stick-C Arduino IDE bilan ishlab chiqish platasi bilan ishlatishni o'rganamiz. u bilan kamalak namunasi
Matrix Led X4 MAX7219 + ESP8266 12E + Sensor DS18b20 (harorat): 6 qadam
Matrix Led X4 MAX7219 + ESP8266 12E + Sensor DS18b20 (Harorat): Bunday imkoniyatda biz ESP8266 moduli o'rnatilgan MAX7219 bilan boshqariladigan matritsani tez sinovdan o'tkazamiz va shuning uchun sensorning haroratini o'qiymiz. DS18B20. Kelgusi darslarda biz uni boshqa platalarga qo'shamiz