Sisukord:
- Tarvikud
- Samm: seadistage Arduino IDE ESP32 toeks
- Samm: ühendage LED -maatriks ESP32 -ga
- 3. samm: pange see kokku
- Samm: Arduino IDE ja INO fail
- Samm: kood
Video: ESP32 WordClocki kerimine LED -maatriksil: 5 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
Selles projektis loon keriva WordClocki koos ESP32, LED -maatriksi ja sigarikarbiga.
WordClock on kell, mis määrab aja, selle asemel, et seda lihtsalt ekraanile printida või sul on käed, mida saate lugeda. See kell ütleb teile, et on 10 minutit pärast kella 3 päeval või keskpäeval. Programmeerisin selle isegi kasutama nime Prevening (Suure Paugu teooriast) pärastlõuna ja õhtu vahelise ebaselge ajavahemiku jaoks. Algus kell 16.00.
ESP32 on vinge, need on nii lõbusad ja nii odavad. Kui teile meeldib Arduino programmeerimine, olete tõesti üllatunud, mida ESP32 saab teha alla 10 dollari eest. Nad kasutavad Arduino IDE -d ja neid on lihtne programmeerida. Näitan selles juhendis, kuidas seda teha.
Tarvikud
- ESP32 - umbes 10 dollarit amazonil
- LED -maatriks (max7219) (ja juhtmed) - 9 dollarit amazon
- Sigari kast
- USB toitekaabel
- Valikuline 3D -printer esp32 alusele
Samm: seadistage Arduino IDE ESP32 toeks
Hankige Arduino IDE:
- Minge brauseris aadressile
- ARDUINO 1.8.12 hankimiseks klõpsake Tarkvara ja seejärel Laadi alla
Lisage oma Arduino IDE -le ESP32 tugi:
- Käivitage Arduino IDE
- Klõpsake menüü Fail ja seejärel Eelistused.
Kui olete jaotises „Eelistused” lisanud tootja toe, lisades järgmisele reale „Täiendava juhatuse halduri”
dl.espressif.com/dl/package_esp32_index.js
See annab meile juurdepääsu tahvli IDE -le lisamiseks
Minge menüüsse Tööriistad ja seejärel Lauad ning minge juhatuse haldurile
Järgmisena otsige "ESP" ja lisage pakett Expressifilt.
Lõpuks tahame naasta menüüsse "Tööriistad", seejärel uuesti "Lauale" ja kerides alla, et leida oma ESP32 seade.
Minu oma on "ESP32 Wrover Module"
Samm: ühendage LED -maatriks ESP32 -ga
LED -maatriks koosneb neljast 8x8 LED -plokist ja kasutab kiipi MAX7219. See annab meile 8x32 LED -i maatriksis või 256 LED -i !!!.
Esp32 istub ootel, mille lõin TinkerCadis. Minu hoidja hoiab tihvte ülespoole, nii et saate juhtmeid kinnitada.
LED -maatriks ühendub ESP32 -ga SPI (Serial Peripheral Interface) abil.
Kasutage naissoost/naisjuhtmeid ja ühendage tihvtid järgmiselt.
- ESP32 - 5 V to VCC on Matrix
- ESP32 - GND kuni GND Matrixis
- ESP32 - PIN5 (G5) CS -le Matrixis
- ESP32 - PIN23 (G23) Din Matrixile
- ESP32 - tihvt 18 (G18) CLK -le Matrixis
Võimalik on kasutada ka muid kontakte või kui teie ESP32 -l on erinev pistik.
3. samm: pange see kokku
Järgmisena lõikasin sigarikarbi, et anda mulle koht, kuhu LED -ekraan panna. Karp on pehme ja sain kasutada habemenuga. Siis lihvisin, et siluda.
Lõikasin ka toitejuhtme jaoks tagant terveks. Kasutasin just USB toiteallikat. Oleksin võinud isegi sigarikarbi sisse lisada USB -telefonilaadija aku, kui oleksin soovinud, et see oleks traadita.
Samm: Arduino IDE ja INO fail
Parim osa on kood. Kuid kõigepealt peame lisama raamatukogu, et programm saaks ekraani lihtsamini kasutada. Lisasin kogu MD_MAX72xx.
Kogu lisamiseks klõpsake menüüd "Visand", seejärel laadige "Kaasa raamatukogu" ja "Halda raamatukogusid" ning see võimaldab teil otsida teeki MD_MAX72xx. Lihtsalt klõpsake installil ja teil on see olemas.
Järgmisena hankige minu Arduino INO -fail:
github.com/aapicella/wordClock/blob/master/Word_Clock_LED_NTP_final_.ino
Laadige ino -fail oma Arduino IDE -sse, Ühendage ESP32 USB arvutiga.
Klõpsake "Visand" ja seejärel Laadi üles
Sel hetkel kell ei tööta, ESP32 ei näita midagi. Miks? peame teie WIFI koodi lisama, sest WordClock ühendab aja saamiseks Interneti -ühenduse. See on õige … järgmine samm ->.
Samm: kood
Lõpuks jõudsime mu lemmikosa juurde. Programm. Huvi korral katan selle ülevalt alla. Programmi koduinternetiga töötamiseks peate neid ridu lihtsalt muutma.
// Lisage oma võrguteave
const char *ssid = "xxxxxx";
const char *parool = "xxxxxx";
Programm on üsna keeruline, kuid väga lõbus.
"Ennetamise" keelamiseks muutke lihtsalt väärtus valeks:
const boolean PREVENING = tõene; // Suure Paugu teooria.
Digitaalaja kuvamise keelamiseks pärast kerimist muutke see väärtuseks vale.
const boolean DISPLAY_DIGITAL = tõene; // digitaalse aja kuvamise sisselülitamine pärast kerimist.
Aja kerimine:
Ma saan aja Interneti -serverist, kasutades NTP -d (Network Time Protocol). Aega hoitakse muutuja nimega timeinfo ja saame sellest tunni ja minuti
int tund = timeinfo.tm_hour; /// 0-23
int minut = timeinfo.tm_min; 0–59
Järgmine kontroll AM või PM
Kell on AM, kui tund on <12
Loon stringi nimega "theTime" ja alustan sellega:
theTime = "See on";
Numbri saamiseks sõnadena lõin sõnamassiivi numbritele kuni 30
const char *numbrid = {
"0", "üks", "kaks", "kolm", "neli", "viis", "kuus", "seitse", "kaheksa", "üheksa", "kümme", "üksteist", "kaksteist" "," Kolmteist "," Neliteist "," Kvartal "," Kuusteist "," Seitseteist "," Kaheksateist "," Üheksateist "," Kakskümmend "," Kakskümmend üks "," Kakskümmend kaks "," Kakskümmend kolm " "," Kakskümmend neli "," Kakskümmend viis "," Kakskümmend kuus "," Kakskümmend seitse "," Kakskümmend kaheksa "," Kakskümmend üheksa "," Pool mine "};
Nii et kui kell 12:05 või viis minutit üle kaheteistkümne on tõesti Arduino poole
numbrid [5] minutit pärast numbreid [12]
Et teha kindlaks, kas selle "Minutes Past" või "Minutes To", vaatame lihtsalt protokolli. Kui minutid on <31, siis on "Minutes Past", kui minutid on suuremad kui 31, kasutame "Minutes To", kuid kasutame numbreid [60-minutit], nii et 12:50 oleks 60-50 minutit või numbreid [10], mis anna meile 10 minutit kella 12 -ni.
Muidugi on ka teisi reegleid, näiteks 15., 30., 45. päeval, kui me ei kasuta minutit enne kella poolt või veerandit, ja kui minut on 0, on kell lihtsalt kell kümme või keskpäev.
Nii et selle kokku panemiseks lisan kõik üksused ajale String theTime ja kuvan selle LED -maatriksil. Ma kasutan hulga Ifi avaldusi. Tõenäoliselt oleksin pidanud kasutama ümbrist, kuid nende lisamine oli lihtsalt lihtsam.
Meie näitena 12:05
theTime = "See on"
kui minut <31, kasutage "Minutes Past", vastasel juhul "Minute To"
theTime + = numbrid [5] + "Minutes Past" + number [12] + "O'Clock" // Märkus: märge + = on lisatud.
Järgmisena vaatame tundi, et teha kindlaks, kas see on hommikul, pärastlõunal või õhtul.
theTime+= "Õhtul"
Maatriksisse suunduv viimane string on järgmine:
"Kell on viis minutit üle kaheteistkümne õhtul"
Seda projekti oli väga lõbus kirjutada. Kui teile meeldib, klõpsake palun nuppu Süda ja hääletage minu poolt.
Soovitan:
WebApp Puzzle LED -lamp ESP32 -ga: 5 sammu (piltidega)
WebApp Puzzle LED -lamp koos ESP32 -ga: Olen aastaid LED -ribadega mänginud ja kolisin hiljuti sõbra juurde, kus ma ei saanud suuri muudatusi teha, näiteks riba seintele kinnitada, nii et panin kokku selle lambi, millel on üks juhe tuleb toiteallikaks ja seda saab paigutada
ESP32 kasutamise alustamine - ESP32 tahvlite installimine Arduino IDE -sse ESP32 vilkuv kood: 3 sammu
ESP32 kasutamise alustamine | ESP32 tahvlite installimine Arduino IDE -sse ESP32 vilkumiskood: selles juhendis näeme, kuidas alustada esp32 -ga töötamist ja kuidas esp32 -tahvleid Arduino IDE -sse installida, ning programmeerime esp 32, et käivitada vilkumiskood arduino ide abil
Lihtne pooli kerimine: 9 sammu
Lihtne mähise kerija: oma tuuleturbiini ehitamisel vajasin ma oma traadi kerimiseks kõige lihtsamat, kiiremat ja odavamat viisi. Mõtlesin välja väga lihtsa viisi majapidamistarvetest valmistamiseks ja peale traadi ei maksnud mulle sentigi. Vabandan selle pärast
Tüütu kerimisratta klõpsude kõrvaldamine (sujuv kerimine): 5 sammu
Tüütu kerimisratta klõpsude kõrvaldamine (sujuv kerimine): kas teid häirib kerimisratta heli? siin on teie võimalus see klõps sellest rullist välja võtta! kui sa hiire katki teed, pole see minu süü. teen seda modi logitechi hiirega. Ma pole kindel, kas see töötab ka teiste hiirte puhul
Automaatne mähise kerimine: 5 sammu
Automaatne mähiste kerija: kõik, kes on teinud faraday elektritootja või muunduri või pidanud X vasktraadiga kerima, on selle probleemiga kokku puutunud: valusad sõrmed, vihastavad korduvad ülesanded ja võtavad igavesti 10 tuule saamiseks. selle hõlpsasti ehitatava jigiga on see