Satura rādītājs:
- Piegādes
- 1. darbība: iestatiet savu Arduino IDE, lai atbalstītu ESP32
- 2. darbība: pievienojiet LED matricu ESP32
- 3. solis: salieciet to kopā
- 4. solis: Arduino IDE un INO fails
- 5. darbība: kods
Video: ESP32 ritināms WordClock uz LED matricas: 5 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:52
Šajā projektā es izveidoju ritinošu WordClock ar ESP32, LED matricu un cigāru kasti.
WordClock ir pulkstenis, kas uzrāda laiku, nevis tikai izdrukā to uz ekrāna vai ir rokas, kuras varat lasīt. Šis pulkstenis jums pateiks, ka ir 10 minūtes pēc pulksten 3 pēcpusdienā vai pusdienlaikā. Es pat to ieprogrammēju, lai izmantotu nosaukumu Prevening (no Lielā sprādziena teorijas) neskaidrajam laika periodam starp pēcpusdienu un vakaru. Sākas 16:00.
ESP32 ir satriecošs, tie ir tik jautri un tik lēti. Ja jums patīk programmēt Arduino, jūs patiešām būsiet pārsteigti par to, ko ESP32 var darīt zem 10 USD. Viņi izmanto Arduino IDE un ir viegli programmējami. Šajā instrukcijā es parādīšu, kā to izdarīt.
Piegādes
- ESP32 - aptuveni 10 USD par amazon
- LED matrica (max7219) (un vadi) - $ 9 amazon
- Cigāru kaste
- USB barošanas kabelis
- Papildu 3D printeris esp32 statīvam
1. darbība: iestatiet savu Arduino IDE, lai atbalstītu ESP32
Iegūstiet Arduino IDE:
- Pārlūkprogrammā dodieties uz vietni
- Noklikšķiniet uz Programmatūra un pēc tam uz Lejupielādes, lai iegūtu ARDUINO 1.8.12
Pievienojiet ESP32 atbalstu savam Arduino IDE:
- Sāciet Arduino IDE
- Noklikšķiniet uz izvēlnes Fails un pēc tam uz Preferences.
Kad esat izvēlnē "Preferences", pievienojiet ražotāja atbalstu, pievienojot šādu rindu "Papildu padomes pārvaldniekam"
dl.espressif.com/dl/package_esp32_index.js
Tas dos mums piekļuvi tāfeles pievienošanai IDE
Atveriet izvēlni Rīki un pēc tam uz Dēļi un dodieties uz tāfeles pārvaldnieku
Tālāk meklējiet "ESP" un pievienojiet Expressif pakotni.
Visbeidzot, mēs vēlamies atgriezties izvēlnē "Rīki", pēc tam vēlreiz "Dēlis" un ritiniet uz leju, lai atrastu jūsu ESP32 ierīci.
Manējais ir "ESP32 Wrover Module"
2. darbība: pievienojiet LED matricu ESP32
LED matricu veido četri 8x8 gaismas diodes bloki, un tajā tiek izmantota mikroshēma MAX7219. Tas dod mums 8x32 gaismas diodes matricā vai 256 gaismas diodes !!!.
Esp32 atrodas aizturē, ko izveidoju TinkerCad. Mans turētājs tur tapas uz augšu, lai jūs varētu piestiprināt vadus.
LED matrica savienojas ar ESP32, izmantojot SPI (Serial Peripheral Interface).
Izmantojiet sieviešu/sieviešu vadus un pievienojiet tapas šādi:
- ESP32 - 5V uz VCC uz Matrix
- ESP32 - no GND līdz GND uz Matrix
- ESP32 - PIN5 (G5) uz CS Matrix
- ESP32 - PIN23 (G23) uz Din Matrix
- ESP32 - 18. tapa (G18) uz CLK uz Matrix
Ir iespējams izmantot citas tapas vai ja jūsu ESP32 ir atšķirīgs tapas.
3. solis: salieciet to kopā
Tālāk es sagriezu cigāru kastīti, lai dotu man vietu, kur ievietot LED displeju. Kastīte ir mīksta, un es varēju izmantot skuvekļa nazi. Pēc tam noslīpēju, lai tas izlīdzinātos.
Es arī pārgriezu veselu aizmuguri barošanas vadam. Es tikko izmantoju USB barošanu. Es pat būtu varējis pievienot USB tālruņa lādētāja akumulatoru cigāru kastē, ja būtu gribējis, lai tas būtu bezvadu.
4. solis: Arduino IDE un INO fails
Labākā daļa ir kods. Bet vispirms mums jāpievieno bibliotēka, lai programma varētu izmantot displeju vienkāršākā veidā. Es pievienoju bibliotēku MD_MAX72xx.
Lai pievienotu bibliotēku, noklikšķiniet uz izvēlnes "Skice", pēc tam uz "Iekļaut bibliotēku" un "Pārvaldīt bibliotēkas", tas tiks ielādēts un ļaus jums meklēt MD_MAX72xx bibliotēku. Vienkārši noklikšķiniet uz instalēt, un jums tas ir.
Tālāk iegūstiet manu Arduino INO failu:
github.com/aapicella/wordClock/blob/master/Word_Clock_LED_NTP_final_.ino
Ielādējiet ino failu savā Arduino IDE, Pievienojiet USB no ESP32 datoram.
Noklikšķiniet uz "Skice" un pēc tam augšupielādēt
Šajā brīdī pulkstenis nedarbosies, ESP32 neko nerādīs. Kāpēc? mums kodam jāpievieno jūsu WIFI, jo WordClock izveido savienojumu ar internetu, lai iegūtu laiku. Tieši tā … nākamais solis ->.
5. darbība: kods
Beidzot tikām līdz manai mīļākajai daļai. Programma. Ja jūs interesē, es to aptveršu no augšas uz leju. Lai programma darbotos ar jūsu mājas internetu, jums vienkārši jāmaina šīs līnijas.
// Pievienojiet tīkla informāciju
const char *ssid = "xxxxxx";
const char *parole = "xxxxxx";
Programma ir diezgan sarežģīta, bet ļoti jautra.
Lai atspējotu “Prevening”, vienkārši mainiet vērtību uz false:
const boolean PREVENING = patiess; //Lielā sprādziena teorija.
Lai atspējotu digitālā laika parādīšanu pēc ritināšanas, mainiet to uz nepatiesu.
const boolean DISPLAY_DIGITAL = patiess; // pēc ritināšanas ieslēgt digitālā laika rādīšanu.
Laika ritināšana:
Es saņemu laiku no laika servera internetā, izmantojot NTP (tīkla laika protokols). Laiks tiek turēts mainīgajā, ko sauc par timeinfo, un mēs no tā iegūstam stundu un minūti
int stunda = timeinfo.tm_hour; /// 0-23
int minute = timeinfo.tm_min; // 0-59
Nākamā pārbaude AM vai PM
Ir AM, ja stunda ir zemāka par 12
Es izveidoju virkni ar nosaukumu "theTime" un sāku to ar:
theTime = "Tas ir";
Lai iegūtu skaitli kā vārdus, es izveidoju vārdu masīvu skaitļiem līdz 30
const char *numuri = {
"0", "viens", "divi", "trīs", "četri", "pieci", "seši", "septiņi", "astoņi", "deviņi", "desmit", "vienpadsmit", "divpadsmit" "," Trīspadsmit "," Četrpadsmit "," Ceturksnis "," Sešpadsmit "," Septiņpadsmit "," Astoņpadsmit "," Deviņpadsmit "," Divdesmit "," Divdesmit viens "," Divdesmit divi "," Divdesmit trīs " "," Divdesmit četri "," Divdesmit pieci "," Divdesmit seši "," Divdesmit septiņi "," Divdesmit astoņi "," Divdesmit deviņi "," Pus pagātne "};
Tātad, kad pulksten 12:05 vai piecas minūtes pāri divpadsmitiem, tas tiešām nonāk Arduino
cipari [5] minūtes aiz numuriem [12]
Lai noteiktu, vai tā ir “Minutes Past” vai “Minutes To”, mēs tikai aplūkojam protokolu. Ja minūtes ir <31, tad "Minutes Past", ja minūtes ir lielākas par 31, mēs izmantojam "Minutes To", bet izmantojam skaitļus [60 minūtes], tātad 12:50 būtu 60-50 minūtes vai skaitļi [10], kas dodiet mums 10 minūtes līdz 12 0:00.
Protams, ir arī citi noteikumi, piemēram, 15, 30, 45, mēs neizmantojam minūtes tikai pusdivos vai ceturtdaļā, un, ja minūte ir 0, laiks ir tikai pulksten desmitos vai pusdienlaikā.
Tātad, lai to saliktu kopā, es pievienoju visus vienumus String theTime un pēc tam parādīšu to LED matricā. Es izmantoju virkni If paziņojumu. Man, iespējams, vajadzēja izmantot lietu, bet vienkārši bija vieglāk tos pievienot.
Mūsu piemēram 12:05
theTime = "Tas ir"
ja minūte <31, izmantojiet “Minutes Past”, pretējā gadījumā tā “Minute To”
theTime + = skaitļi [5] + "Minutes Past" + skaitlis [12] + "O'Clock" // Piezīme: apzīmējums + = ir pievienots.
Tālāk mēs aplūkojam stundu, lai noteiktu, vai tā ir rīts, pēcpusdiena vai vakars.
theTime+= "Vakarā"
Pēdējā virkne, kas nonāk matricā, ir šāda:
"Ir piecas minūtes pāri pulksten divpadsmitiem vakarā"
Šo projektu bija ļoti jautri rakstīt. Ja jums patīk, lūdzu, noklikšķiniet uz Sirds un nobalsojiet par mani.
Ieteicams:
WiFi vadāms LED sloksnes matricas displeja pulksteņa apgaismojums: 3 soļi (ar attēliem)
WiFi kontrolēta LED sloksnes matricas displeja pulksteņa gaisma: programmējamas LED sloksnes, piem. pamatojoties uz WS2812, ir aizraujoši. Lietojumprogrammas ir dažādas, un jūs varat ātri iegūt iespaidīgus rezultātus. Un kaut kādā veidā pulksteņu veidošana, šķiet, ir vēl viens domēns, par kuru es daudz domāju. Sākot ar nelielu pieredzi
ESP8266 LED matricas pulkstenis: 8 soļi (ar attēliem)
Vienkāršs LED matricas pulkstenis, kura pamatā ir populārais ESP8266 ar reālā laika pulksteņa moduli un laika sinhronizāciju, izmantojot WiFi no NTP servera. JAUNS! Pieejama arī ESP32 versija
8x8 LED matricas pulkstenis un brīdinājums par ielaušanos: 4 soļi (ar attēliem)
8x8 LED matricas pulkstenis un brīdinājums par pretielaušanos: šajā pamācībā mēs redzēsim, kā izveidot 8x8 LED matricas pulksteni, ko aktivizē kustības noteikšana. Šo pulksteni var izmantot arī kā pretielaušanās ierīci, kas nosūta brīdinājuma ziņojumu, ja kustība ir atklāts telegrammu robotam !!! Mēs darīsim ar diviem dažādiem
4 projekti vienā, izmantojot DFRobot FireBeetle ESP32 un LED matricas vāku: 11 soļi (ar attēliem)
4 projekti vienā, izmantojot DFRobot FireBeetle ESP32 un LED matricas vāku: Es domāju, ka katram no šiem projektiem vajadzētu darīt pamācību - bet galu galā es nolēmu, ka patiešām lielākā atšķirība ir katra projekta programmatūra, kuru es domāju, ka labāk ir vienkārši izveidot viens liels pamācāms! Aparatūra ea ir vienāda
Twitter ritināms attēla rāmis: 3 soļi
Twitter ritināms attēlu rāmis: šī pamācība parādīs, kā izveidot Twitter ritinošu attēla rāmi. Jums būs nepieciešams: 1. #twatch ethernet LCD mugursoma un 4*20 rakstzīmju LCD ekrāns. Attēlu rāmis, kas atbilst LCD ekrānam. Mūsu izmērs ir 7,5 x 11 cm (3 collas x 4,5 collas). Plasas gabals