Kazalo:
- Zaloge
- 1. korak: Nastavite svoj Arduino IDE za podporo ESP32
- Korak: Priključite LED matriko na ESP32
- 3. korak: Sestavite skupaj
- 4. korak: Arduino IDE in INO datoteka
- 5. korak: Koda
Video: ESP32 pomikanje WordClock na LED matriki: 5 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
V tem projektu ustvarim drsni WordClock z ESP32, LED Matrico in škatlo za cigare.
WordClock je ura, ki črkuje čas in ne samo natisne na zaslonu ali ima roke, ki jih lahko berete. Ta ura vam bo povedala, da je 10 minut čez 3 ure popoldne ali opoldne. Programiral sem ga celo tako, da uporablja ime Prevening (iz teorije velikega poka) za dvoumno časovno obdobje med popoldnevom in večerom. Začne se ob 16.00.
ESP32 je super, so zelo zabavni in tako poceni. Če imate radi programiranje Arduina, boste resnično presenečeni, kaj lahko ESP32 naredi za manj kot 10 USD. Uporabljajo Arduino IDE in jih je enostavno programirati. V tem navodilu bom pokazal, kako to storiti.
Zaloge
- ESP32 - okoli 10 USD na Amazon
- LED Matrix (max7219) (in žice) - Amazon 9 USD
- Škatla za cigare
- Napajalni kabel USB
- Opcijski 3d tiskalnik za stojalo esp32
1. korak: Nastavite svoj Arduino IDE za podporo ESP32
Pridobite Arduino IDE:
- V brskalniku pojdite na
- Kliknite Programska oprema, nato Prenosi, da dobite ARDUINO 1.8.12
Dodajte podporo ESP32 v Arduino IDE:
- Zaženite Arduino IDE
- Kliknite meni Datoteka in nato Nastavitve.
Ko ste v razdelku »Nastavitve«, dodajte podporo proizvajalca, tako da naslednjo vrstico dodate v »Dodatni upravitelj odbora«
dl.espressif.com/dl/package_esp32_index.js
To nam bo omogočilo dostop do plošče v IDE
Pojdite v meni Orodja in nato plošče ter pojdite na upravitelja plošče
Nato poiščite "ESP" in dodajte paket po Expressifu.
Nazadnje se želimo vrniti v meni »Orodja«, nato še »V desko« in se pomakniti navzdol, da poiščemo svojo napravo ESP32.
Moj je "ESP32 Wrover Module"
Korak: Priključite LED matriko na ESP32
LED matrika je sestavljena iz štirih blokov LED 8x8 in uporablja čip MAX7219. To nam daje 8x32 LED v matriki ali 256 LED !!!.
Esp32 sedi na čakanju, ki sem ga ustvaril v TinkerCadu. Moj nosilec drži zatiče obrnjene navzgor, tako da lahko pritrdite žice.
LED matrika se poveže z ESP32 s pomočjo SPI (serijski periferni vmesnik).
Za uporabo ženskih/ženskih žic in priključkov uporabite naslednje:
- ESP32 - 5v v VCC na matriki
- ESP32 - GND v GND na matriki
- ESP32 - PIN5 (G5) v CS na matriki
- ESP32 - PIN23 (G23) v Din on Matrix
- ESP32 - Pin 18 (G18) za CLK na matriki
Možno je uporabiti druge zatiče ali če ima vaš ESP32 drugačen pinout.
3. korak: Sestavite skupaj
Nato sem prerezal škatlo za cigare in mi dal prostor za LED zaslon. Škatla je mehka in lahko sem uporabil britvico. Potem sem brusil, da sem ga zgladil.
Za napajalni kabel sem zadaj odrezal celoto. Pravkar sem uporabil napajanje USB. V škatlo za cigare bi lahko celo dodal baterijo za polnjenje telefona USB, če bi hotel, da je brezžična.
4. korak: Arduino IDE in INO datoteka
Najboljši del je koda. Najprej pa moramo dodati knjižnico, ki bo programu omogočila enostavnejšo uporabo zaslona. Dodal sem knjižnico MD_MAX72xx.
Če želite dodati knjižnico, kliknite meni "Skica", nato "Vključi knjižnico" in "Upravljanje knjižnic", to se bo naložilo in vam omogočilo iskanje knjižnice MD_MAX72xx. Samo kliknite na namestitev in to imate.
Nato dobite datoteko Arduino INO:
github.com/aapicella/wordClock/blob/master/Word_Clock_LED_NTP_final_.ino
Naložite datoteko ino v svoj Arduino IDE, Priključite USB iz ESP32 v računalnik.
Kliknite "Skica" in nato Naloži
Na tej uri ura ne bo delovala, ESP32 ne bo prikazal ničesar. Zakaj? kodi moramo dodati vaš WIFI, ker se WordClock poveže z internetom, da dobite čas. Tako je … naslednji korak ->.
5. korak: Koda
Končno smo prišli do mojega najljubšega dela. Program. Če vas zanima, ga bom pokril od zgoraj navzdol. Če želite, da program deluje z vašim domačim internetom, morate samo spremeniti te vrstice.
// Dodajte podatke o omrežju
const char *ssid = "xxxxxx";
const char *geslo = "xxxxxx";
Program je nekoliko zapleten, a zelo zabaven.
Če želite onemogočiti "Prevencijo", samo spremenite vrednost na false:
const boolean PREVENING = true; //Teorija velikega poka.
Če želite onemogočiti prikaz digitalnega časa po drsenju, spremenite to vrednost na false.
const boolean DISPLAY_DIGITAL = res; // vklopi prikaz digitalnega časa po drsenju.
Premikanje časa:
Čas dobivam s časovnega strežnika v internetu z uporabo NTP (Network Time Protocol). Čas je v spremenljivki, imenovani timeinfo, in iz nje dobimo uro in minuto
int ura = timeinfo.tm_hour; /// 0-23
int minuta = timeinfo.tm_min; // 0-59
Nato preverite AM ali PM
Ura je, če je ura <12
Ustvarim niz, imenovan "theTime", in ga začnem z:
theTime = "To je";
Če želite dobiti številko kot besede, sem ustvaril niz besed za številke do 30
const char *številke = {
"0", "ena", "dva", "tri", "štiri", "pet", "šest", "sedem", "osem", "devet", "deset", "enajst", "dvanajst" "," Trinajst "," Štirinajst "," Četrtina "," Šestnajst "," Sedemnajst "," Osemnajst "," Devetnajst "," Enaindvajset "," Enaindvajset "," Dvaindvajset "," Triindvajset "," Štiriindvajset "," Petindvajset "," Šestindvajset "," Sedemindvajset "," Dvaindvajset
Ko je torej 12:05 ali pet minut čez dvanajsto, je res na Arduinu
številke [5] minut za številkami [12]
Če želimo ugotoviti, ali gre za "Minutes Past" ali "Minutes To", samo pogledamo zapisnike. Če so minute <31, je "Minutes Past", če so minute večje od 31, uporabljamo "Minutes To", vendar uporabljamo številke [60-minutes], tako da bi 12:50 pomenilo 60-50 minut ali številke [10], ki bi dajte nam 10 minut do 12 ur.
Seveda obstajajo druga pravila, na primer 15., 30., 45. minut, ki jih ne uporabljamo šele pol pol ure ali četrtine, in če je minuta 0, je čas samo "ob desetih" ali opoldne.
Tako, da vse skupaj dodam v String theTime in ga nato prikažem na LED matriki. Uporabljam kup stavkov If. Verjetno bi moral uporabiti case, vendar jih je bilo lažje še naprej dodajati.
Za naš primer 12:05
theTime = "To je"
če je minuta <31, uporabite "Minutes Past", sicer pa "Minute To"
theTime + = številke [5] + "Minute v preteklosti" + številka [12] + "O'Clock" // Opomba: Zapis + = je dodan.
Nato pogledamo na uro, da ugotovimo, ali je zjutraj, popoldne ali zvečer.
theTime+= "Zvečer"
Zadnji niz, ki gre v matriko, je:
"Zvečer je pet minut čez dvanajst ur"
Ta projekt je bilo zelo zabavno pisati. Če vam je všeč, kliknite Srce in glasujte zame.
Priporočena:
Lissajous figure na 8X8 Led matriki: 7 korakov
Lissajous figure na 8X8 Led matriki: Svetlobna točka, ki niha v 2 pravokotnih osi, nariše vzorec z imenom "Lissajous Figure" (1857) ali " Bowditch Curve " (1815). Vzorci segajo od preprostih do zapletenih, odvisno od frekvenčnega razmerja in faze dveh osi. A 1: 1
POMIKANJE INSTAGRAM FOLLOWERS V 8X32 LED DOT MATRIX ZASLONU Z ESP32: 4 koraki
Drsanje po sledilcih INSTAGRAM v 8X32 LED DOT MATRIX DISPLAY z uporabo ESP32: To je moj drugi pouk in se opravičujem za smešno angleščino. V tem navodilu se bomo pomikali med sledilci v instagramu na matričnem LED zaslonu 8X32. Brez zapravljanja časa začnimo
Dobrodošli v matriki v ukaznem pozivu: 5 korakov (s slikami)
Dobrodošli v matriki v ukaznem pozivu: tukaj je majhen "trik", s katerim boste navdušili svoje prijatelje v ukaznem pozivu. Tako se vaš ukazni poziv prikaže, kot da je tema Matrix, in nenehni pritisk tipke Enter še bolj ohladi! To sem se naučil pred nekaj leti in se odločil, da bom
Kolesa za pomikanje po namizju in nadzor glasnosti!: 8 korakov (s slikami)
Namizno kolesce za pomikanje in nadzor glasnosti!: Naredite vikend projekt revije, 3. 4. 09 Nekaj ozadja Nedavno sem bral veliko različnih blogov. Vsak dan bom bral najnovejše objave na spletnem mestu engadget, lifehacker, hackaday, BBG in MAKE:. Težava zame je prišla, ko sem spoznal, da o
Vlečenje kolesca za pomikanje: 5 korakov (s slikami)
Scroll-Wheel Hack: Super neprijeten način pomikanja po spletu z galopirajočimi prsti na gumbih iz tkanine. (Nasmeh) Drsno kolo v miški je zelo preprost, a briljanten mehanizem, ki v bistvu pritisne dva gumba zaporedoma vsakič, ko se pomaknem naprej