Orodha ya maudhui:
- Vifaa
- Hatua ya 1: Sanidi Arduino IDE ya Ukuzaji wa Esp8266
- Hatua ya 2: Pakua Maktaba za nje
- Hatua ya 3: Andika Nambari kadhaa Sasa
- Hatua ya 4: Mchoro wa Mzunguko
- Hatua ya 5: Pakia Nambari kwa Esp8266
- Hatua ya 6: Jaribu kila kitu
Video: MAX7219 LED Matrix MQTT Kutumia Esp8266: 6 Hatua
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:50
Nilikuwa najaribu kuunganisha onyesho langu la MAX7219 la LED kwenye seva ya MQTT na kupokea maandishi kutoka kwa usajili wa MQTT kuonyesha.
lakini sikupata nambari yoyote inayofaa kwenye wavuti, kwa hivyo nilianza kujenga yangu mwenyewe…
na matokeo huja vizuri kabisa…
- unaweza kuonyesha maandishi yoyote kwenye onyesho lililoongozwa
- unaweza kurekebisha ukubwa wa onyesho
- unaweza kuweka kasi ya kusogeza
Vifaa
- Bodi ya maendeleo ya esp8266. (kesi yangu ni NODE MCU v1.0)
- Maonyesho ya Matrix ya MAX7219 ya LED.
Programu inahitajika:
- Arduino IDE.
- Seva ya MQTT. (kesi yangu Mosquitto)
Maktaba inahitajika:
- ESP8266WiFi.h
- MD_MAX72xx.h
- EspMQTTClient.h
Hatua ya 1: Sanidi Arduino IDE ya Ukuzaji wa Esp8266
fungua upendeleo wa Arduino kisha ubandike URL hapa chini katika URL za Meneja wa Bodi za Ziada:
arduino.esp8266.com/stable/package_esp8266com_index.json
kisha Zana> Bodi> Meneja wa Bodi na utafute esp8266 na uisakinishe.
sasa maoni yako ya Arduino iko tayari kwa maendeleo ya esp8266.
Hatua ya 2: Pakua Maktaba za nje
sasa tunahitaji maktaba kadhaa za MAX7219 na Mteja wa MQTT.
wacha tupakue na tuweke maktaba
nenda kwa Mchoro> Jumuisha Maktaba> Dhibiti Maktaba kwenye Arduino IDE
na utafute EspMQTTClient na ubonyeze Sakinisha
NB: Sakinisha maktaba zote tegemezi, ni muhimu
Tafuta tena MD_MAX72xx na ubonyeze Sakinisha
Hatua ya 3: Andika Nambari kadhaa Sasa
Sasa weka nambari iliyo hapa chini
# pamoja
#jumuisha # pamoja na # pamoja na "EspMQTTClient.h" #fafanua MAX_DEVICES 4 // hesabu ya kifaa chako #fafanua CLK_PIN D5 // au SCK #fafanua DATA_PIN D7 // au MOSI #fafanua CS_PIN D4 // au SS // unaweza kuiweka kwa pini yoyote #fafanua HARDWARE_TYPE MD_MAX72XX:: PAROLA_HW // badilika kulingana na aina yako ya onyesho 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; // kuchelewesha kwa kusogeza kwa uint8_t UKALI = 5; // kiwango cha chaguo-msingi cha charMessage [MESG_SIZE]; char newMessage [MESG_SIZE]; bool newMessageAvailable = uwongo; batili 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_SAR tuli st * p; tuli uint16_t curLen, onyeshaLen; tuli uint8_t cBuf [8]; uint8_t colData = 0; kubadili (hali) {kesi S_IDLE: p = curMessage; ikiwa (newMessageAvailable) {strcpy (curMessage, newMessage); newMessageAvailable = uwongo; } hali = S_NEXT_CHAR; kuvunja; kesi S_NEXT_CHAR: ikiwa (* p == '\ 0') state = S_IDLE; mwingine {showLen = mx.getChar (* p ++, sizeof (cBuf) / sizeof (cBuf [0]), cBuf); curLen = 0; hali = S_SHOW_CHAR; } kuvunja; kesi S_SHOW_CHAR: colData = cBuf [curLen ++]; ikiwa (curLen = SCROLL_DELAY) {mx.transform (MD_MAX72XX:: TSL); // songa kando - upigaji simu utapakia data zote prevTime = millis (); // hatua ya kuanza kwa wakati ujao}} usanidi batili () {Serial.begin (115200); kuanza (); Udhibiti wa mx (MD_MAX72XX:: UKALI, UKALI); mx.setShiftDataInCallback (scrollDataSource); mx.setShiftDataOutCallback (scrollDataSink); curMessage [0] = newMessage [0] = '\ 0'; sprintf (curMessage, "Smart Display"); } batili juu yaConnectionEstablished () {// MQTT mada ya usajili wa onyesho la mteja wa maandishi. jiandikishe ("leddisplay / text", (const String & payload) {sprintf (curMessage, payload.c_str ());}););
Mada ya usajili wa MQTT kwa udhibiti wa kiwango cha kuonyesha
mteja.subscribe ("leddisplay / intensitet", (const String & payload) {mx.control (MD_MAX72XX:: INTENSITY, payload.toInt ());}); Mada ya usajili wa MQTT kwa mteja wa kudhibiti kasi ya kudhibiti kitabu. Jiandikishe ("leddisplay / scroll", (const String & payload) {SCROLL_DELAY = payload.toInt ();}); } kitanzi batili () {client.loop (); scrollText (); }
Kwa habari ya kina, rejelea hifadhi hii
github.com/souravj96/max7219-mqtt-esp8266
Hatua ya 4: Mchoro wa Mzunguko
unganisha onyesho la MAX7219 na NODE MCU
Hatua ya 5: Pakia Nambari kwa Esp8266
sasa chagua aina yako sahihi ya bodi na bandari ya serial kisha gonga pakia.
Hatua ya 6: Jaribu kila kitu
ikiwa kila kitu kitaenda sawa basi esp8266 yako itaunganishwa na seva yako ya MQTT.
sasa, ikiwa chochote kitachapishwa kwenye mada ya uchezaji / mada ya maandishi ambayo itaonyeshwa.
{
mada: "onyesho / maandishi", malipo ya malipo: "ujumbe wako hapa"}
ikiwa unataka kuweka ukubwa wa onyesho
{
mada: "onyesho / nguvu", malipo ya malipo: "2" // max ni 15 na min 0}
ikiwa unataka kuweka kasi ya kusogeza ya onyesho
{
mada: "onyesha / onyesha", malipo ya malipo: "100" // max ni 255 na min 0}
Furaha ya kuweka alama
Ilipendekeza:
Jinsi ya kutumia Matrix ya Doti ya Max7219 8x8 Pamoja na "skiiiD": Hatua 9
Jinsi ya Kutumia Max7219 8x8 Dot Matrix Na "skiiiD": Hii ni maagizo ya video ya Max7219 8x8 Dot Matrix kupitia " skiiiD " Kabla ya kuanza, chini ni mafunzo ya msingi ya jinsi ya kutumia skiiiDhttps: //www.instructables.com/id / Kuanza-W
Jinsi ya Kujenga 8x8 BIG LED Matrix (MAX7219 LED 10mm): Hatua 9 (na Picha)
Jinsi ya Kujenga Matrix 8x8 BIG LED (MAX7219 LED 10mm): Je! Umefanya kazi na tumbo tayari la 8x8 la LED kama maonyesho? Zinakuja kwa saizi anuwai na zinavutia kufanya kazi nazo. Ukubwa mkubwa unaopatikana kwa urahisi ni karibu 60mm x 60mm. Walakini, ikiwa unatafuta tumbo kubwa zaidi la LED tayari,
4 katika 1 MAX7219 Dot Matrix Onyesha Mafunzo ya Moduli kwa Kutumia Arduino UNO: Hatua 5
4 katika 1 MAX7219 Dot Matrix Onyesha Mafunzo ya Moduli kwa Kutumia Arduino UNO: Maelezo: Unatafuta rahisi kudhibiti tumbo la LED? Moduli hii ya 4 katika 1 Dot Matrix Display inapaswa kukufaa. Moduli nzima inakuja kwa matone manne ya 8x8 RED ya kawaida ya cathode ambayo imewekwa na MAX7219 IC kila moja. Inafurahisha sana kuonyesha maandishi
Kutumia Kijijini Kina waya bila kutumia 2.4Ghz NRF24L01 Module Na Arduino - Nrf24l01 4 Channel / 6 Kituo cha Mpokeaji wa Kituo cha Quadcopter - Helikopta ya Rc - Ndege ya Rc Kutumia Arduino: Hatua 5 (na Picha)
Kutumia Kijijini Kina waya bila kutumia 2.4Ghz NRF24L01 Module Na Arduino | Nrf24l01 4 Channel / 6 Channel Transmitter kipokeaji cha Quadcopter | Helikopta ya Rc | Ndege ya Rc Kutumia Arduino: Kuendesha gari la Rc | Quadcopter | Drone | Ndege ya RC | Boti ya RC, siku zote tunahitaji kipokezi na mtumaji, tuseme kwa RC QUADCOPTER tunahitaji kipitishaji na mpokeaji wa kituo 6 na aina hiyo ya TX na RX ni ya gharama kubwa sana, kwa hivyo tutafanya moja kwenye yetu
Matrix Led X4 MAX7219 + ESP8266 12E + Sensor DS18b20 (Joto): Hatua 6
Matrix Led X4 MAX7219 + ESP8266 12E + Sensor DS18b20 (Joto): Katika fursa hii tutafanya mtihani wa haraka kwa matrix iliyoongozwa na MAX7219 iliyounganishwa na moduli ESP8266 na kwa hivyo sio rahisi sana tutasoma joto la sensa DS18B20. Katika mafunzo ya siku zijazo tutaiunganisha na uwanja mwingine