Агуулгын хүснэгт:
- Хангамж
- Алхам 1: Arduino IDE -ийг ESP32 -ийг дэмжихээр тохируулна уу
- Алхам 2: LED матрицыг ESP32 -тэй холбоно уу
- Алхам 3: Үүнийг нэгтгэх
- Алхам 4: Arduino IDE ба INO файл
- Алхам 5: Код
Видео: LED матриц дээр ESP32 гүйлгэх WordClock: 5 алхам (зурагтай)
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:01
Энэ төсөлд би ESP32, LED матриц, навчин тамхины хайрцаг бүхий Scrolling WordClock бүтээсэн.
WordClock бол дэлгэц дээр хэвлэх эсвэл унших гартай байхаас илүүтэйгээр цагийг заадаг цаг юм. Энэ цаг нь үдээс хойш 3 цагаас 10 минут өнгөрч байгааг харуулах болно. Тэр ч байтугай үдээс оройны хоорондох тодорхой бус хугацааны хувьд Prevening (Big Bang Theory -аас) нэрийг ашиглахаар би үүнийг програмчилсан. 16:00 цагт эхэлнэ.
ESP32 бол гайхалтай, тэд маш хөгжилтэй, маш хямдхан тул хэрэв та Arduino програмчлах дуртай бол ESP32 10 доллараас бага үнээр юу хийж чадахыг та үнэхээр гайхах болно. Тэд Arduino IDE ашигладаг бөгөөд програмчлахад хялбар байдаг. Үүнийг хэрхэн яаж хийхийг би энэ зааварчилгаанд харуулах болно.
Хангамж
- ESP32 - Amazon дээр ойролцоогоор 10 доллар
- LED матриц (max7219) (ба утаснууд) - 9 доллар амазон
- Тамхины хайрцаг
- USB цахилгаан кабель
- Esp32 индэрт зориулсан нэмэлт 3d принтер
Алхам 1: Arduino IDE -ийг ESP32 -ийг дэмжихээр тохируулна уу
Arduino IDE авах:
- Хөтөч дээр https://www.arduino.cc/ руу очно уу.
- Програм хангамж, дараа нь Татаж авах дээр дарж ARDUINO 1.8.12 -ийг авна уу
Arduino IDE дээрээ ESP32 дэмжлэгийг нэмнэ үү.
- Arduino IDE -ийг ажиллуулна уу
- Файл цэс, дараа нь Тохиргоо дээр дарна уу.
"Тохиргоо" хэсэгт орсны дараа "Нэмэлт зөвлөлийн менежер" хэсэгт дараах мөрийг нэмж үйлдвэрлэгчийн дэмжлэгийг нэмнэ үү.
dl.espressif.com/dl/package_esp32_index.js
Энэ нь самбарыг IDE дээр нэмэх боломжийг бидэнд олгоно
Багаж хэрэгслийн цэс, дараа нь самбар руу очиж самбарын менежерт очно уу
Дараа нь "ESP" хайж, Expressif -ээр багцыг нэмнэ үү.
Эцэст нь бид "Хэрэгслүүд" цэс рүү, дараа нь "Самбар" руу буцаж очоод доош гүйлгэж ESP32 төхөөрөмжөө олохыг хүсч байна.
Минийх бол "ESP32 Wrover Module" юм
Алхам 2: LED матрицыг ESP32 -тэй холбоно уу
LED матриц нь 8x8 хэмжээтэй дөрвөн LED гэрлээс бүрдэх бөгөөд MAX7219 чипийг ашигладаг. Энэ нь бидэнд матриц дахь 8x32 LED буюу 256 LED өгдөг.
Esp32 нь миний TinkerCad дээр үүсгэсэн зогсоол дээр сууж байна. Миний эзэмшигч нь тээглүүрээ дээш харсан тул та утас холбож болно.
LED матриц нь SPI (Цуваа захын интерфэйс) ашиглан ESP32 -тэй холбогддог.
Эмэгтэй/Эмэгтэй утас, холбогч тээглүүрийг дараах байдлаар ашиглана.
- ESP32 - матриц дээрх VCC -ээс 5v хүртэл
- ESP32 - матриц дээр GND -аас GND хүртэл
- ESP32 - Матриц дээрх CS5 руу PIN5 (G5)
- ESP32 - PIN23 (G23) -ийг Matrix дээр Din рүү шилжүүлэх
- ESP32 - 18 (G18) зүүг Matrix дээрх CLK руу холбоно уу
Бусад тээглүүр ашиглах боломжтой, эсвэл таны ESP32 -д өөр зүү байгаа бол.
Алхам 3: Үүнийг нэгтгэх
Дараа нь би LED дэлгэц тавих газар өгөхийн тулд навчин тамхины хайрцгийг таслав. Хайрцаг зөөлөн бөгөөд би сахлын хутга хэрэглэж чадсан. Дараа нь гөлгөр болгохын тулд зүлгүүрээр хийсэн.
Би мөн цахилгааны утсыг ар талаас нь таслав. Би дөнгөж USB тэжээл ашигласан. Хэрэв би утасгүй байхыг хүсч байсан бол тамхины хайрцагт USB утасны цэнэглэгч батерейг нэмж болно.
Алхам 4: Arduino IDE ба INO файл
Хамгийн сайн хэсэг бол код юм. Гэхдээ эхлээд бид програмыг дэлгэцийг илүү энгийн байдлаар ашиглах боломжийг олгохын тулд номын сан нэмэх ёстой. Би MD_MAX72xx номын санг нэмсэн.
Номын санг нэмэхийн тулд "Ноорог" цэс дээр дараад "Номын санг оруулах" ба "Номын санг удирдах" дээр дарна уу, энэ нь ачаалагдах бөгөөд танд MD_MAX72xx номын санг хайх боломжийг олгоно. Суулгах дээр дарахад л танд байна.
Дараа нь миний Arduino INO файлыг аваарай.
github.com/aapicella/wordClock/blob/master/Word_Clock_LED_NTP_final_.ino
Ino файлыг Arduino IDE дээрээ ачаална уу.
ESP32 -ээс USB -ийг компьютерт холбоно уу.
"Ноорог" дээр дарж, байршуулна уу
Энэ үед цаг ажиллахгүй, ESP32 нь юу ч харуулахгүй. Яагаад? WordClock интернэтэд холбогдож цаг авахын тулд бид таны WIFI -г код руу оруулах ёстой. Энэ зөв … дараагийн алхам ->.
Алхам 5: Код
Эцэст нь бид дуртай хэсэгтээ хүрч чадлаа. Хөтөлбөр. Хэрэв та сонирхож байгаа бол би үүнийг дээрээс нь доош нь авч үзэх болно. Хөтөлбөрийг гэрийн интернеттэйгээ ажиллахын тулд та эдгээр мөрүүдийг өөрчлөх хэрэгтэй.
// Сүлжээнийхээ мэдээллийг оруулна уу
const char *ssid = "xxxxxx";
const char *нууц үг = "xxxxxx";
Хөтөлбөр нь нэлээд төвөгтэй боловч маш хөгжилтэй байдаг.
"Prevening" -г идэвхгүй болгохын тулд утгыг худал болгож өөрчилнө үү.
const boolean PREVENING = үнэн; //Агуу тэсрэлтийн онол.
Гүйлгэсний дараа дижитал цагийг харуулахыг идэвхгүй болгохын тулд үүнийг худал болгож өөрчилнө үү.
const boolean DISPLAY_DIGITAL = үнэн; // гүйлгэсний дараа дижитал цаг харуулахыг асаана уу.
Цагийг гүйлгэх:
Би интернэт дэх цагийн серверээс NTP (Network Time Protocol) ашиглан цаг авдаг. Цаг нь timeinfo гэж нэрлэгддэг хувьсагчтай бөгөөд бид үүнээс цаг, минутыг авдаг
int цаг = timeinfo.tm_hour; /// 0-23
int минут = timeinfo.tm_min; // 0-59
Дараа нь AM эсвэл PM -ийг шалгана уу
Түүний AM бол <12 цаг
Би "theTime" нэртэй мөр үүсгэж, үүнийг эхлүүлнэ үү
theTime = "Энэ бол";
Тоог үг болгон авахын тулд би 30 хүртэлх тооны үгсийн массив үүсгэсэн
const char *тоо = {
"0", "Нэг", "Хоёр", "Гурав", "Дөрөв", "Тав", "Зургаа", "Долоо", "Найман", "Есөн", "Арав", "Арван нэгэн", "Арван хоёр "," Арван гурав "," Арван дөрөв "," Улирал "," Арван зургаа "," Арван долоон "," Арван найм "," Арван ес "," Хорин "," Хорин нэг "," Хорин хоёр "," Хорин гурав "," Хорин дөрөв "," Хорин тав "," Хорин зургаа "," Хорин долоон "," Хорин найм "," Хорин ес "," Хагас өнгөрсөн "};
12:05 буюу таван минут арван хоёр өнгөрөхөд үнэхээр Arduino руу очно
тоо [5] өнгөрсөн тоонууд [12]
"Өнгөрсөн минутууд" эсвэл "Минутууд руу" байгаа эсэхийг тодорхойлохын тулд бид зөвхөн минутуудыг хардаг. Хэрэв минут нь <31 бол энэ нь "Өнгөрсөн минутууд" бөгөөд хэрэв минут нь 31-ээс их бол бид "To Minutes To" -г ашигладаг боловч [60-минут] тоог ашигладаг тул 12:50 нь 60-50 минут эсвэл тоо [10] байх болно. бидэнд 10 -аас 12 минут хүртэл өг.
Мэдээжийн хэрэг, 15, 30, 45 гэх мэт бусад дүрмүүд байдаг бөгөөд бид түүний хагас хагас буюу дөрөвний нэгийг ашигладаггүй, хэрэв минут 0 бол цаг нь "Арван цаг" эсвэл Үд.
Үүнийг нэгтгэхийн тулд би бүх зүйлийг String theTime -д хавсаргаад LED матриц дээр харуулна. Би If хэллэгийг ашигладаг. Би хэргийг ашиглах ёстой байсан, гэхдээ тэдгээрийг үргэлжлүүлэн нэмж оруулах нь илүү хялбар байсан.
Бидний жишээнд 12:05
theTime = "Энэ"
хэрэв минут <31 бол "Өнгөрсөн минутууд" -ийг ашиглана уу, өөрөөр хэлбэл "Минут руу"
theTime + = тоо [5] + "Өнгөрсөн минут" + тоо [12] + "O'Clock" // Тэмдэглэл: + = тэмдэглэгээг хавсаргав.
Дараа нь бид өглөө, үдээс хойш эсвэл орой эсэхийг тодорхойлохын тулд цагийг хардаг.
theTime+= "Орой"
Матриц руу орох эцсийн мөр нь:
"Орой арван хоёр цаг өнгөрч байхад таван минут өнгөрч байна"
Энэ төсөл бичихэд маш хөгжилтэй байсан. Хэрэв танд таалагдсан бол Зүрх сэтгэл дээр дарж надад саналаа өгөөрэй.
Зөвлөмж болгож буй:
Текстийг I2C 0.91 "128X32 OLED DISPLAY дээр хэрхэн гүйлгэх вэ: 6 алхам
Текстийг I2C 0.91 "128X32 OLED DISPLAY дээр хэрхэн гүйлгэх вэ: Энэхүү гарын авлагад Arduino болон Visuino програм хангамжийг ашиглан I2C 0.91 " 128X32 OLED DISPLAY дээр текстийг хэрхэн гүйлгэх талаар сурах болно
Python дээр үнэхээр гайхалтай матриц хий!: 6 алхам
Python дээр үнэхээр гайхалтай матриц хий !: Сайн уу залуусаа! Энэхүү зааварчилгаа нь Python дээр матриц хэрхэн хийхийг танд заах болно. Ихэвчлэн хүмүүс Багцад матриц хийх нь амархан байдаг. Гэхдээ энэ удаад би хүчирхэг компьютерийн хэл дээр хэрхэн матриц хийхийг танд үзүүлэх болно
Dotter - Arduino дээр суурилсан асар том цэг матриц хэвлэгч: 13 алхам (зурагтай)
Dotter - Arduino дээр суурилсан асар том цэгэн матриц хэвлэгч: Сайн байна уу, энэхүү зааварчилгаанд тавтай морилно уу :) Би бол Nikodem Bartnik, 18 настай. Би 4 жилийн хугацаанд олон зүйл, робот, төхөөрөмж хийсэн. Гэхдээ энэ төсөл нь хэмжээний хувьд хамгийн том нь байж магадгүй юм. Энэ нь бас маш сайн зохион бүтээгдсэн гэж би бодож байна
PIC16F877 микроконтроллер ашиглан 16x64 P10 гүйлгэх LED дэлгэц: 5 алхам (зурагтай)
PIC16F877 микроконтроллер ашиглан 16x64 P10 гүйлгэх LED дэлгэц: Энэхүү зааварчилгаанд 16 x 64 (p10) LED матриц дэлгэцийг PICI6F877A микроконтроллертой хэрхэн холбох талаар тайлбарласан болно. Өгөгдлийг EEPROM -д хадгалагдсан UART -ээр дамжуулан микроконтроллер руу илгээдэг бөгөөд өгөгдлийг LED матрицын дэлгэц дээр харуулах болно. Энэ нь
Уйтгартай гүйлгэх дугуй дарах арилгагч (гөлгөр гүйлгэх): 5 алхам
Уйтгартай гүйлгэх дугуй арилгагч дээр дарна уу (гөлгөр гүйлгэх): гүйлгэх хүрдний чимээнд та бухимдаж байна уу? Энэ товчлуурыг гүйлгээнээс гаргах боломж энд байна. Хэрэв та хулганаа хугалсан бол миний буруу биш. Би энэ горимыг logitech хулганаар хийж байна. Энэ нь бусад хулгана дээр ажиллах болно гэдэгт би итгэлтэй биш байна