Агуулгын хүснэгт:
- Хангамж
- Алхам 1: Esp8266 хөгжүүлэлтэд зориулж Arduino IDE -ийг тохируулна уу
- Алхам 2: Гадаад номын санг татаж авах
- Алхам 3: Одоо хэдэн код бичээрэй
- Алхам 4: Хэлхээ диаграм
- Алхам 5: Кодыг Esp8266 руу байршуулна уу
- Алхам 6: Бүгдийг туршиж үзээрэй
Видео: MAX7219 LED Matrix MQTT нь Esp8266: 6 алхамыг ашигладаг
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:01
Би MAX7219 LED дэлгэцээ MQTT серверт холбож, MQTT захиалгаас текстийг хүлээн авахыг оролдож байна.
гэхдээ би интернетэд тохирох код аваагүй тул би өөрөө бүтээж эхлэв …
мөн үр дүн нь маш сайн ирдэг …
- Та ямар ч текстийг LED дэлгэц дээр харуулах боломжтой
- Та дэлгэцийн эрчмийг тохируулж болно
- та гүйлгэх хурдыг тохируулж болно
Хангамж
- Esp8266 хөгжлийн самбар. (миний хувьд энэ бол NODE MCU v1.0)
- MAX7219 LED матрицын дэлгэц.
Шаардлагатай програм хангамж:
- Arduino IDE.
- MQTT сервер. (миний шумуул)
Номын сан шаардлагатай:
- ESP8266WiFi.h
- MD_MAX72xx.h
- EspMQTTClient.h
Алхам 1: Esp8266 хөгжүүлэлтэд зориулж Arduino IDE -ийг тохируулна уу
Arduino -ийн тохиргоог нээгээд доорх URL -г Aditional Board Board Manager URL -д оруулна уу.
arduino.esp8266.com/stable/package_esp8266com_index.json
дараа нь Хэрэгслүүд> Самбарууд> Самбарын менежерийг хайж esp8266 -ийг хайж олоод суулгаарай.
одоо таны Arduino ide esp8266 боловсруулахад бэлэн боллоо.
Алхам 2: Гадаад номын санг татаж авах
одоо бидэнд MAX7219 болон MQTT Client -ийн зарим номын сан хэрэгтэй байна.
номын санг татаж аваад тохируулцгаая
Sketch> Номын санг оруулах> Arduino IDE дээрх номын санг удирдах хэсэгт очно уу
EspMQTTClient -ийг хайж олоод Install дээр дарна уу
Тэмдэглэл: Бүх хамааралтай номын санг суулгах нь чухал юм
MD_MAX72xx -ийг дахин хайгаад Install дээр дарна уу
Алхам 3: Одоо хэдэн код бичээрэй
Одоо доорх кодыг оруулна уу
#оруулах
#include #include #include "EspMQTTClient.h" #MAX_DEVICES 4 -ийг тодорхойлно // таны төхөөрөмжийн тоог #CLK_PIN D5 / эсвэл SCK #define DATA_PIN D7 // эсвэл MOSI -ийг тодорхойлно уу #CS_PIN D4 // эсвэл SS // үүнийг тохируулж болно. дурын зүү рүү #тодорхойлох 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 charMessage [MESG_SIZE]; char newMessage [MESG_SIZE]; bool newMessageAvailable = худал; 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_NEXT_CHAR_, S_NEX_CHOW_, S_NEX_CHOW_ статик char *p; статик 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; завсарлага; тохиолдолд S_NEXT_CHAR: хэрэв (*p == '\ 0') төлөв = S_IDLE; өөр {showLen = mx.getChar (*p ++, sizeof (cBuf) / sizeof (cBuf [0]), cBuf); curLen = 0; төлөв = S_SHOW_CHAR; } завсарлага; тохиолдол S_SHOW_CHAR: colData = cBuf [curLen ++]; if (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, "Ухаалаг дэлгэц"); } void onConnectionEstablished () {// MQTT захиалгын сэдэв харуулах текст клиент.subscribe ("leddisplay/text", (const String & payload) {sprintf (curMessage, payload.c_str ());});
// Дэлгэцийн эрч хүчийг хянах MQTT захиалгын сэдэв
client.subscribe ("leddisplay/эрчим", (const String & payload) {mx.control (MD_MAX72XX:: INTENSITY, payload.toInt ());}); // MQTT захиалгын сэдэв дэлгэцийн гүйлгэх хурдыг хянах клиент.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/текст сэдвээр ямар нэгэн зүйл нийтлэх юм бол харуулах болно.
{
сэдэв: "leddisplay/текст", ачаалал: "энд таны зурвас"}
Хэрэв та дэлгэцийн эрчмийг тохируулахыг хүсч байвал
{
сэдэв: "leddisplay/эрчим", ачаалал: "2" // дээд тал нь 15 ба мин 0}
Хэрэв та дэлгэцийн гүйлгэх хурдыг тохируулахыг хүсч байвал
{
сэдэв: "leddisplay/гүйлгэх", ачаалал: "100" // хамгийн их нь 255 ба мин 0}
Аз жаргалтай кодчилол
Зөвлөмж болгож буй:
Google туслах - Гэрийн автоматжуулалт Esp8266: 6 алхамыг ашигладаг
Google туслах | Esp8266 ашиглан гэрийн автоматжуулалт: Энэ зааварт би танд google туслахаар хянагддаг гэрийн автоматжуулалтыг үзүүлэх болно
P10 Led (DMD) Arduino Nano V.3: 4 алхамыг ашигладаг
P10 Led (DMD) Arduino Nano V.3 -ийг ашиглах нь: Өмнөх нийтлэлдээ. Би Arduino дээр Output төхөөрөмжийг хэрхэн ашиглах талаар аль хэдийн харуулсан. Гаралтын төхөөрөмжүүд нь " 7-сегмент ", " RGB бөгж ", " Led матриц " ба "2x16 LCD". Энэ нийтлэлд би танд хэрхэн яаж
Arduino: Potentio заагч нь LED Matrix MAX7219: 4 алхамыг ашигладаг
Arduino: Potentio индикатор нь LED матрицыг ашигладаг MAX7219: Өмнөх заавар дээр би RGB бөгжний нео пикселийг ашиглан потенциометрийн заалт хийсэн. Та үүнийг "Потенцио индикатор нь RGB неопикселийг ашигладаг" гэсэн нийтлэлээс харж болно, мөн өнөөдөр би MAX7219 удирдсан метат ашиглан хүчжүүлэгч индикаторыг үзүүлэх болно
ESP8266: 8 алхамыг ашигладаг IoT -ийн шилдэг төслүүд
ESP8266 ашигладаг IoT -ийн шилдэг төслүүд: Өнөө үед Машин нь үүл дээр хуваалцах боломжтой өгөгдлийг хянах, дүн шинжилгээ хийх, идэвхжүүлэгчийг идэвхжүүлэх гэх мэт олон зорилгоор ашигладаг. Машинууд хоорондоо ярьж байна. ESP8266 нь уг ажлыг гүйцэтгэдэг модулийн нэг юм
RFID RC-522 ба Arduino Mega: 6 алхамыг ашигладаг энгийн супермаркетын програм
RFID RC-522 ба Arduino Mega-ийг ашигладаг энгийн супермаркетын програм: Залуус аа, миний өөр хичээл дээр дахин уулзаж байгаадаа баяртай байна, энд би танд RFID RC-522 ба Arduino ашиглан боловсруулж буй энгийн супермаркетын програм үүсгэхэд туслах болно. энгийн GUI.Тэмдэглэл: ажиллаж байхдаа Arduino цуваа мониторыг бүү ажиллуулаарай