Isi kandungan:
- Bekalan
- Langkah 1: Siapkan Arduino IDE untuk Pembangunan Esp8266
- Langkah 2: Muat turun Perpustakaan Luaran
- Langkah 3: Tulis Beberapa Kod Sekarang
- Langkah 4: Diagram Litar
- Langkah 5: Muat naik Kod ke Esp8266
- Langkah 6: Uji Segalanya
Video: MAX7219 LED Matrix MQTT Menggunakan Esp8266: 6 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:08
Saya cuba menyambungkan paparan LED MAX7219 saya ke pelayan MQTT dan menerima teks dari langganan MQTT untuk dipaparkan.
tetapi saya tidak mendapat kod yang sesuai di internet, jadi saya mula membina sendiri …
dan hasilnya cukup baik …
- anda boleh memaparkan teks pada paparan LED
- anda boleh menyesuaikan intensiti paparan
- anda boleh menetapkan kelajuan tatal
Bekalan
- Lembaga pembangunan esp8266. (kes saya NODE MCU v1.0)
- Paparan Matriks LED MAX7219.
Perisian yang diperlukan:
- Arduino IDE.
- Pelayan MQTT. (kes saya Mosquitto)
Perpustakaan diperlukan:
- ESP8266WiFi.h
- MD_MAX72xx.h
- EspMQTTClient.h
Langkah 1: Siapkan Arduino IDE untuk Pembangunan Esp8266
buka pilihan Arduino kemudian tampal URL di bawah dalam URL Pengurus Papan Aditional:
arduino.esp8266.com/stable/package_esp8266com_index.json
kemudian Alat> Papan> Pengurus Papan dan cari esp8266 dan pasangnya.
kini idea Arduino anda sudah siap untuk pengembangan esp8266.
Langkah 2: Muat turun Perpustakaan Luaran
sekarang kita memerlukan beberapa perpustakaan untuk MAX7219 dan MQTT Client.
mari memuat turun dan menubuhkan perpustakaan
arahkan ke Sketsa> Sertakan Perpustakaan> Uruskan Perpustakaan di Arduino IDE
dan cari klien EspMQTTC dan klik Pasang
NB: Pasang semua perpustakaan yang bergantung, penting
Sekali lagi cari MD_MAX72xx dan klik Pasang
Langkah 3: Tulis Beberapa Kod Sekarang
Sekarang tampal kod di bawah
#sertakan
#include #include #include "EspMQTTClient.h" #define MAX_DEVICES 4 // jumlah peranti anda #define CLK_PIN D5 // atau SCK #define DATA_PIN D7 // atau MOSI #define CS_PIN D4 // atau SS // anda boleh menetapkannya ke mana-mana pin #define HARDWARE_TYPE MD_MAX72XX:: PAROLA_HW // ubah mengikut jenis paparan anda 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; // kelewatan tatal lalai uint8_t INTENSITY = 5; // cur intensiti lalai charMessage [MESG_SIZE]; char newMessage [MESG_SIZE]; bool newMessageAvailable = salah; 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_, S_SHOW_ char statik * p; uint16_t curLen statik, showLen; statik uint8_t cBuf [8]; uint8_t colData = 0; tukar (keadaan) {case S_IDLE: p = curMessage; jika (newMessageAvailable) {strcpy (curMessage, newMessage); newMessageAvailable = salah; } negeri = S_NEXT_CHAR; rehat; kes S_NEXT_CHAR: jika (* p == '\ 0') nyatakan = S_IDLE; lain {showLen = mx.getChar (* p ++, sizeof (cBuf) / sizeof (cBuf [0]), cBuf); curLen = 0; nyatakan = S_SHOW_CHAR; } rehat; kes S_SHOW_CHAR: colData = cBuf [curLen ++]; jika (curLen = SCROLL_DELAY) {mx.transform (MD_MAX72XX:: TSL); // tatal bersama - panggilan balik akan memuatkan semua data prevTime = millis (); // titik permulaan untuk lain kali}} batal persediaan () {Serial.begin (115200); mx.begin (); mx.control (MD_MAX72XX:: INTENSITY, INTENSITY); mx.setShiftDataInCallback (scrollDataSource); mx.setShiftDataOutCallback (tatalDataSink); curMessage [0] = newMessage [0] = '\ 0'; sprintf (curMessage, "Paparan Pintar"); } void onConnectionEstolveded () {// topik langganan MQTT untuk klien teks paparan.subscribe ("leddisplay / text", (const String & payload) {sprintf (curMessage, payload.c_str ());});
// Topik langganan MQTT untuk kawalan intensiti paparan
client.subscribe ("leddisplay / شدت", (const String & payload) {mx.control (MD_MAX72XX:: INTENSITY, payload.toInt ());}); // Topik langganan MQTT untuk paparan pengendali kelajuan tatal pelanggan.subscribe ("leddisplay / scroll", (const String & payload) {SCROLL_DELAY = payload.toInt ();}); } gelung void () {client.loop (); tatal Teks (); }
Untuk maklumat terperinci, rujuk repositori ini
github.com/souravj96/max7219-mqtt-esp8266
Langkah 4: Diagram Litar
sambungkan paparan MAX7219 dengan NODE MCU
Langkah 5: Muat naik Kod ke Esp8266
sekarang pilih jenis papan dan port bersiri yang betul kemudian tekan muat naik.
Langkah 6: Uji Segalanya
jika semuanya betul, esp8266 anda akan disambungkan ke pelayan MQTT anda.
sekarang, jika ada yang akan diterbitkan mengenai topik leddisplay / teks yang akan dipaparkan.
{
topik: "leddisplay / text", muatan: "mesej anda di sini"}
jika anda mahu menetapkan intensiti paparan
{
topik: "leddisplay / intensiti", muatan: "2" // maksimum adalah 15 dan min 0}
jika anda mahu menetapkan kelajuan tatal paparan
{
topik: "leddisplay / scroll", muatan: "100" // maksimum ialah 255 dan min 0}
Selamat pengekodan
Disyorkan:
Cara Menggunakan Max7219 8x8 Dot Matrix Dengan "skiiiD": 9 Langkah
Cara Menggunakan Max7219 8x8 Dot Matrix Dengan "skiiiD": Ini adalah arahan video Max7219 8x8 Dot Matrix melalui " skiiiD " Sebelum bermula, di bawah ini adalah tutorial asas bagaimana menggunakan skiiiDhttps: //www.instructables.com/id / Bermula-W
Cara Membina 8x8 BIG LED Matrix (MAX7219 LED 10mm): 9 Langkah (dengan Gambar)
Bagaimana Membina Matriks LED 8x8 BIG (MAX7219 LED 10mm): Adakah anda bekerja dengan matriks LED 8x8 siap pakai sebagai paparan? Mereka datang dalam pelbagai saiz dan cukup menarik untuk digunakan. Ukuran besar yang tersedia adalah sekitar 60mm x 60mm. Walau bagaimanapun, jika anda mencari matriks LED siap pakai yang jauh lebih besar
Tutorial LED Arduino Smile MAX7219 Matrix: 4 Langkah
Tutorial Arduino Smile MAX7219 Matrix LED: Dalam tutorial ini " Mengendalikan Matriks Led Menggunakan Arduino ". Saya menunjukkan kepada anda cara menggunakan paparan matriks Led menggunakan Arduino. Dan dalam artikel ini, kita akan belajar membuat emotikon senyum menggunakan paparan matriks ini menggunakan Arduino juga. Bahan-bahan yang digunakan
Tutorial Modul Paparan 4 in 1 MAX7219 Dot Matrix dengan Menggunakan Arduino UNO: 5 Langkah
Tutorial Modul Paparan 4 in 1 MAX7219 Dot Matrix dengan Menggunakan Arduino UNO: Penerangan: Mencari matrik LED yang mudah dikawal? Modul Paparan Matriks 4 dalam 1 ini semestinya sesuai untuk anda. Seluruh modul terdapat dalam empat matriks katod dot matrik biasa 8x8 yang masing-masing dilengkapi dengan IC MAX7219. Hebat untuk memaparkan teks yang sedang berjalan dan
Matrix Led X4 MAX7219 + ESP8266 12E + Sensor DS18b20 (Suhu): 6 Langkah
Matrix Led X4 MAX7219 + ESP8266 12E + Sensor DS18b20 (Temperature): Dalam kesempatan ini kita akan melakukan ujian pantas ke matriks yang dipimpin dengan MAX7219 bersepadu dengan modul ESP8266 dan supaya tidak terlalu mudah kita akan membaca suhu sensor DS18B20.Dalam tutorial akan datang kami akan mengintegrasikannya ke plat lain