Բովանդակություն:
- Պարագաներ
- Քայլ 1. Կարգավորեք ձեր Arduino IDE- ն ՝ ESP32- ին աջակցելու համար
- Քայլ 2. Միացրեք LED մատրիցը ESP32- ին
- Քայլ 3: Միավորել այն
- Քայլ 4: Arduino IDE և INO ֆայլ:
- Քայլ 5: Կոդ
Video: ESP32 Ոլորելով WordClock- ը LED մատրիցի վրա. 5 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
Այս նախագծում ես ստեղծում եմ ոլորող WordClock ՝ ESP32, LED մատրիցով և սիգարի տուփով:
WordClock- ը ժամացույց է, որը տալիս է ժամանակը, այլ ոչ թե պարզապես տպում այն էկրանին կամ ձեռքեր ունեք, որոնք կարող եք կարդալ: Այս ժամացույցը ձեզ կասի, որ կեսօրվա 3 -ից 10 րոպե է կամ կեսօր: Ես նույնիսկ ծրագրեցի, որ այն օգտագործի Prevening (Մեծ պայթյունի տեսությունից) անունը ՝ կեսօրից երեկո ընկած ժամանակահատվածի երկիմաստ ժամանակահատվածի համար: Սկիզբը ՝ 16: 00 -ին:
ESP32- ը հիանալի է, դրանք այնքան զվարճալի են և այնքան էժան: Եթե դուք սիրում եք Arduino- ի ծրագրավորումը, իսկապես կզարմանաք, թե ինչ կարող է անել ESP32- ը 10 դոլարից ցածր գնով: Նրանք օգտագործում են Arduino IDE- ն և հեշտ է ծրագրավորել: Ես ցույց կտամ, թե ինչպես դա անել, այս խրատականում:
Պարագաներ
- ESP32 - մոտ $ 10 Amazon- ում
- LED մատրիցա (max7219) (և լարեր) - $ 9 ամազոն
- Cխախոտի տուփ
- USB հոսանքի մալուխ
- Լրացուցիչ 3d տպիչ esp32 տակդիրի համար
Քայլ 1. Կարգավորեք ձեր Arduino IDE- ն ՝ ESP32- ին աջակցելու համար
Ստացեք Arduino IDE:
- Բրաուզերում գնացեք
- Կտտացրեք Softwareրագրային ապահովում, այնուհետև Ներբեռնումներ ՝ ARDUINO 1.8.12 ստանալու համար
Ավելացրեք ESP32 աջակցություն ձեր Arduino IDE- ին.
- Սկսեք Arduino IDE- ն
- Կտտացրեք Ֆայլի ընտրացանկին, այնուհետև Նախապատվություններ:
Մի անգամ «Նախապատվություններ» բաժնում ավելացրեք արտադրողի աջակցությունը ՝ ավելացնելով հետևյալ տողը «Լրացուցիչ խորհրդի կառավարիչին»
dl.espressif.com/dl/package_esp32_index.js
Սա մեզ թույլ կտա տախտակը IDE- ին ավելացնել
Գնացեք Գործիքների ցանկ, այնուհետև ՝ Տախտակներ և գնացեք տախտակի կառավարիչ
Հաջորդը փնտրեք «ESP» և փաթեթը ավելացրեք Expressif- ով:
Վերջապես, մենք ցանկանում ենք վերադառնալ «Գործիքներ» ընտրացանկին, այնուհետև կրկին «Տախտակ» և ոլորել ներքև ՝ ձեր ESP32 սարքը գտնելու համար:
Իմը «ESP32 Wrover մոդուլ» է
Քայլ 2. Միացրեք LED մատրիցը ESP32- ին
LED մատրիցը բաղկացած է չորս LED- ների 8x8 բլոկից և օգտագործում է MAX7219 չիպ: Դա մեզ տալիս է 8x32 լուսադիոդներ Matrix- ում կամ 256 LED !!!:
The esp32- ը նստած է TinkerCad- ում իմ ստեղծած պահոցում: Իմ բռնիչը պահում է քորոցները դեպի վեր, որպեսզի կարողանաք լարեր ամրացնել:
LED մատրիցը միանում է ESP32- ին ՝ օգտագործելով SPI (սերիական ծայրամասային միջերես):
Օգտագործեք իգական/իգական լարերը և միացրեք կապում հետևյալ կերպ.
- ESP32 - 5v դեպի VCC Matrix- ում
- ESP32 - GND- ից GND մատրիցով
- ESP32 - PIN5 (G5) CS- ին Matrix- ում
- ESP32 - PIN23 (G23) դեպի Din մատրիցով
- ESP32 - կապում 18 (G18) CLK- ին Matrix- ում
Հնարավոր է օգտագործել այլ կապում կամ եթե ձեր 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- ում, Միացրեք USB- ը ESP32- ից ձեր համակարգչին:
Կտտացրեք «Էսքիզ», այնուհետև Վերբեռնեք
Այս պահին ժամացույցը չի աշխատի, ESP32- ը ոչինչ չի ցուցադրի: Ինչո՞ւ: մենք պետք է ձեր WIFI- ն ավելացնենք ծածկագրին, քանի որ WordClock- ը միանում է ինտերնետին ՝ ժամանակ ստանալու համար: Rightիշտ է… հաջորդ քայլը ->:
Քայլ 5: Կոդ
Վերջապես հասանք իմ ամենասիրելի հատվածին: Ծրագիրը: Եթե ձեզ հետաքրքրում է, ես այն կներկայացնեմ վերևից ներքև: Որպեսզի ծրագիրը աշխատի ձեր տան ինտերնետով, պարզապես անհրաժեշտ է փոխել այս տողերը:
// Ավելացրեք ձեր ցանցի տվյալները
const char *ssid = "xxxxxx";
const char *գաղտնաբառ = "xxxxxx";
Programրագիրը մի փոքր բարդ է, բայց շատ զվարճալի:
«Կանխարգելումը» անջատելու համար պարզապես արժեքը փոխեք կեղծի.
const boolean PREVENING = ճշմարիտ; // Մեծ պայթյունի տեսություն:
Պտտվելուց հետո թվային ժամանակը ցուցադրելն անջատելու համար փոխեք այն կեղծ:
const բուլյան DISPLAY_DIGITAL = ճշմարիտ; // միացնել ոլորելուց հետո թվային ժամանակի ցուցադրումը:
Scամանակի ոլորում
Ես ժամանակ եմ ստանում ինտերնետում գործող ժամանակի սերվերից `օգտագործելով NTP (Timeանցի ժամանակի արձանագրություն): Ամանակը պահվում է 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 կամ տասներկուսն անցնում է հինգ րոպեն, դա իսկապես Արդուինոյին է
թվեր [5] րոպե թվերից [12]
Որոշելու համար, թե արդյոք այն «րոպեներն անցել են» կամ «րոպեներ դեպի», մենք պարզապես նայում ենք րոպեներին: Եթե րոպեները <31 են, դա «Անցյալ րոպե» է, եթե րոպեները 31-ից մեծ են, մենք օգտագործում ենք «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] + «'ամացույց» // Նշում. Նշումը + = կցվում է:
Հաջորդը մենք նայում ենք ժամին `որոշելու` առավոտ է, կեսօր, թե երեկո:
theTime+= "Երեկոյան"
Մատրիցային անցնող վերջնական տողը հետևյալն է.
«Երեկոյան ժամը տասներկուսից հինգ րոպե է անցել»
Այս նախագիծը գրելը շատ զվարճալի էր: Եթե ձեզ դուր եկավ, խնդրում ենք սեղմել «Սիրտը և քվեարկիր ինձ համար»:
Խորհուրդ ենք տալիս:
Առանց էկրանի / ցուցադրման (առանց գլխի) աշխատելը Raspberry Pi- ի կամ Linux- ի վրա հիմնված այլ համակարգիչների վրա `6 քայլ
Առանց էկրանի / ցուցադրման (առանց գլխի) աշխատելը Raspberry Pi- ի կամ Linux- ի / unix- ի վրա հիմնված այլ համակարգիչների վրա. Երբ մարդկանց մեծ մասը գնում է Raspberry PI, նրանք կարծում են, որ իրենց անհրաժեշտ է համակարգչի էկրան: Մի վատնեք ձեր գումարը համակարգչի անհարկի մոնիտորների և ստեղնաշարերի վրա: Մի վատնեք ձեր ժամանակը համակարգիչների միջև ստեղնաշարեր և մոնիտորներ տեղափոխելով: Մի կապեք հեռուստացույց, երբ այն չկա
Եղանակի վրա հիմնված երաժշտության գեներատոր (ESP8266 վրա հիմնված միջինի գեներատոր). 4 քայլ (նկարներով)
Եղանակի վրա հիմնված երաժշտության գեներատոր (ESP8266 Based Midi Generator). Բարև, այսօր ես կբացատրեմ, թե ինչպես պատրաստել ձեր սեփական եղանակի վրա հիմնված փոքր երաժշտության գեներատոր: Այն հիմնված է ESP8266- ի վրա, որը նման է Arduino- ին և արձագանքում է ջերմաստիճանին, անձրևին: և լույսի ուժգնություն: Մի ակնկալեք, որ այն ամբողջ երգեր կամ ակորդներ կհաղորդի
ESP32- ի վրա հիմնված M5Stack M5stick C Եղանակի մոնիտոր DHT11- ով - Վերահսկեք ջերմաստիճանի խոնավության և ջերմության ինդեքսը M5stick-C- ի վրա DHT11: 6 քայլով
ESP32- ի վրա հիմնված M5Stack M5stick C Եղանակի մոնիտոր DHT11- ով | Վերահսկեք ջերմաստիճանի խոնավության և ջերմության ինդեքսը M5stick-C- ի վրա DHT11- ով: Ողջույն, տղերք, այս հրահանգներում մենք կսովորենք, թե ինչպես միացնել DHT11 ջերմաստիճանի տվիչը m5stick-C- ի հետ (զարգացման տախտակ m5stack- ով) և ցուցադրել այն m5stick-C- ի ցուցադրման վրա: Այսպիսով, այս ձեռնարկում մենք կկարդանք ջերմաստիճանը, խոնավությունը & շոգ եմ
LED մատրիցի տեղադրում հին էլեկտրոնիկայի դեպքում - Պահանջում է հավաքածուի գնում: 3 քայլ (նկարներով)
LED մատրիցի տեղադրում հին էլեկտրոնիկայի դեպքում - Պահանջում է հավաքածու գնել: LED էկրանը, որը վերահսկվում է Windows համակարգչից ՝ Bluetooth- ով և LED- ով տարածման տեխնիկայով, LED էկրանով աշխատող պիքսելային արվեստի և անիմացիաների մի քանի օրինակ: PIXEL Guts Kit- ի բովանդակությունը կլինի
Ինչպես միացնել MicroPython- ի որոնվածը ESP8266- ի վրա հիմնված Sonoff խելացի անջատիչի վրա. 3 քայլ (նկարներով)
Ինչպե՞ս միացնել MicroPython- ի որոնվածը ESP8266- ի վրա հիմնված Sonoff խելացի անջատիչի վրա. Այդ գծից ամենաճկուն և էժան սարքերից են Sonoff Basic- ը և Sonoff Dual- ը: Սրանք Wi-Fi- ով միացված անջատիչներ են ՝ հիմնված հիանալի չիպի ՝ ESP8266- ի վրա: Մինչդեռ