Sadržaj:
- Supplies
- Korak 1: Postavite svoj Arduino IDE da podržava ESP32
- Korak 2: Spojite LED matricu na ESP32
- Korak 3: Sastavite to zajedno
- Korak 4: Arduino IDE i INO datoteka
- Korak 5: Kôd
Video: ESP32 Pomicanje WordClocka na LED matrici: 5 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:04
U ovom projektu stvaram pomični WordClock s ESP32, LED matricom i kutijom za cigare.
WordClock je sat koji ispisuje vrijeme, a ne samo da ga odštampa na ekranu ili ima kazaljke koje možete čitati. Ovaj sat će vam reći da je 10 minuta iza 3 sata popodne ili podne. Čak sam ga programirao da koristi naziv Prevencija (iz Teorije velikog praska) za dvosmislen vremenski period između popodneva i večeri. Počinje u 16:00.
ESP32 je odličan, toliko su zabavni i jeftini. Ako volite programirati Arduino, zaista ćete biti zapanjeni šta sve ESP32 može učiniti za manje od 10 USD. Koriste Arduino IDE i lako ih je programirati. Pokazat ću kako to učiniti u ovom uputstvu.
Supplies
- ESP32 - oko 10 USD na Amazonu
- LED Matrix (max7219) (i žice) - 9 USD Amazon
- Kutija cigara
- USB kabl za napajanje
- Opcioni 3d štampač za stalak esp32
Korak 1: Postavite svoj Arduino IDE da podržava ESP32
Nabavite Arduino IDE:
- U pregledniku idite na
- Kliknite na Softver, a zatim Preuzimanja da biste dobili ARDUINO 1.8.12
Dodajte podršku za ESP32 u svoj Arduino IDE:
- Pokrenite Arduino IDE
- Kliknite na meni Datoteka, a zatim na Postavke.
Jednom u "Postavkama" dodajte podršku proizvođača dodavanjem sljedeće linije u "Dodatni upravitelj odbora"
dl.espressif.com/dl/package_esp32_index.js
To će nam omogućiti pristup dodavanju ploče u IDE
Idite na meni Alati, a zatim na ploče i idite na upravitelja ploče
Zatim potražite "ESP" i dodajte paket prema Expressifu.
Na kraju se želimo vratiti na izbornik "Alati", zatim ponovo "Ukrcaj" i pomaknite se prema dolje kako biste pronašli svoj ESP32 uređaj.
Moj je "ESP32 Wrover Module"
Korak 2: Spojite LED matricu na ESP32
LED matrica se sastoji od četiri LED bloka 8x8 i koristi čip MAX7219. To nam daje 8x32 LED diode u matrici ili 256 LED dioda !!!.
Esp32 sjedi na čekanju koje sam stvorio u TinkerCadu. Moj držač drži igle okrenute prema gore tako da možete pričvrstiti žice.
LED matrica se povezuje sa ESP32 pomoću SPI (serijsko periferno sučelje).
Koristite ženske/ženske žice i priključke za spajanje na sljedeći način:
- ESP32 - 5v na VCC na Matrixu
- ESP32 - GND u GND na matrici
- ESP32 - PIN5 (G5) za CS na matrici
- ESP32 - PIN23 (G23) na Din na matrici
- ESP32 - Pin 18 (G18) za CLK na matrici
Moguće je koristiti druge pinove ili ako vaš ESP32 ima drugačiji pinout.
Korak 3: Sastavite to zajedno
Zatim sam prerezao kutiju cigara kako bih dobio mjesto za postavljanje LED ekrana. Kutija je mekana i mogao sam koristiti britvicu. Zatim sam brusio kako bih to izgladio.
Takođe sam isekao celinu pozadi za kabl za napajanje. Upravo sam koristio USB napajanje. Mogao sam čak i dodati bateriju za punjenje USB telefona u kutiju cigara da sam htio da bude bežična.
Korak 4: Arduino IDE i INO datoteka
Najbolji dio je kod. Ali prvo moramo dodati biblioteku kako bismo omogućili programu da koristi prikaz na jednostavniji način. Dodao sam biblioteku MD_MAX72xx.
Za dodavanje biblioteke kliknite na meni "Sketch", zatim "Include Library" i "Manage Libraries" ovo će se učitati i omogućiti vam da tražite biblioteku MD_MAX72xx. Samo kliknite na instalaciju i imate je.
Zatim uzmite moju Arduino INO datoteku:
github.com/aapicella/wordClock/blob/master/Word_Clock_LED_NTP_final_.ino
Učitajte ino datoteku u svoj Arduino IDE, Priključite USB sa ESP32 na računar.
Kliknite na "Sketch", a zatim otpremite
U ovom trenutku sat neće raditi, ESP32 neće ništa prikazati. Zašto? moramo dodati vaš WIFI u kôd jer se WordClock povezuje na internet kako bi dobio vrijeme. Tako je … sljedeći korak ->.
Korak 5: Kôd
Konačno smo stigli do mog omiljenog dijela. Program. Pokrivat ću to odozgo prema dolje ako ste zainteresirani. Da bi program radio s vašim kućnim internetom, samo morate promijeniti ove retke.
// Dodajte svoje podatke o mreži
const char *ssid = "xxxxxx";
const char *lozinka = "xxxxxx";
Program je pomalo složen, ali vrlo zabavan.
Da biste onemogućili "Prevenciju", samo promijenite vrijednost na false:
const boolean PREVENING = true; //Teorija velikog praska.
Da biste onemogućili prikaz digitalnog vremena nakon pomicanja, promijenite ovo na Netačno.
const boolean DISPLAY_DIGITAL = true; // uključivanje prikaza digitalnog vremena nakon pomicanja.
Pomicanje po vremenu:
Dobijam vrijeme sa vremenskog servera na internetu koristeći NTP (Network Time Protocol). Vrijeme se drži u varijabli koja se zove timeinfo i iz nje dobivamo sat i minute
int sat = timeinfo.tm_hour; /// 0-23
int minuta = timeinfo.tm_min; // 0-59
Zatim provjerite ujutro ili popodne
AM je ako je sat <12
Kreiram niz pod nazivom "theTime" i započinjem ga sa:
theTime = "To je";
Da bih dobio broj kao riječi, stvorio sam niz riječi za brojeve do 30
const char *brojevi = {
"0", "Jedan", "Dva", "Tri", "Četiri", "Pet", "Šest", "Sedam", "Osam", "Devet", "Deset", "Jedanaest", "Dvanaest" "," Trinaest "," Četrnaest "," Četvrtina "," Šesnaest "," Sedamnaest "," Osamnaest "," Devetnaest "," Dvadeset "," Dvadeset jedna "," Dvadeset dva "," Dvadeset tri "," Dvadeset četiri "," Dvadeset pet "," Dvadeset šest "," Dvadeset sedam "," Dvadeset i osam "," Dvadeset devet "," Pola prošlih "};
Dakle, kad je 12:05 ili pet minuta iza dvanaest, stiže zaista do Arduina
brojevi [5] minuta iza brojeva [12]
Da bismo utvrdili jesu li "protekle minute" ili "minute do", samo gledamo minute. Ako su minute <31, to je "Minutes Past", ako su minute veće od 31, koristimo "Minutes To", ali koristimo brojeve [60-minutes] tako da bi 12:50 bilo 60-50 minuta ili brojevi [10] koji bi dajte nam 10 minuta do 12 0 sati.
Naravno, postoje i druga pravila kao što su 15, 30, 45, ne koristimo minute tek pre pola četvrtine, a ako je minuta 0, vrijeme je samo "deset sati" ili podne.
Da bih to sastavio, sve stavke dodajem u String theTime, a zatim ih prikazujem na LED matrici. Koristim hrpu if naredbi. Vjerojatno sam trebao koristiti case, ali bilo je lakše nastaviti ih dodavati.
Za naš primjer 12:05
theTime = "To je"
ako minuta <31 koristi "Minutes Past", inače "Minute To"
theTime + = numbers [5] + "Minutes Past" + number [12] + "O'Clock" // Napomena: Oznaka + = se dodaje.
Zatim gledamo sat kako bismo utvrdili je li jutro, popodne ili navečer.
theTime+= "Uveče"
Završni niz koji ide do matrice je:
"Pet je sati prošlo dvanaest sati navečer"
Ovaj projekt je bilo jako zabavno napisati. Ako vam se sviđa, kliknite Srce i glasajte za mene, molim.
Preporučuje se:
Pomicanje po tekstualnom prikazu (vodič do A): 25 koraka (sa slikama)
Pomicanje prikaza teksta (Vodič od A do Ž): U ovom uputstvu / videu vodit ću vas sa korak po korak uputama kako napraviti pomicanje teksta pomoću Arduina. Neću vam objašnjavati kako napraviti kod za Arduino, pokazat ću vam kako koristiti postojeći kod. Šta i gdje trebate sarađivati
Pomicanje jedne LCD linije: 4 koraka (sa slikama)
Pomicanje jedne LCD linije: Biblioteka s tekućim kristalima ima dvije korisne funkcije scrollDisplayLeft () i scrollDisplayRight (). Ove funkcije pomiču cijeli zaslon. To jest, oni pomiču obje linije na LCD -u 1602 i sve četiri linije na LCD -u iz 2004. godine. Ono što nam često treba je abi
Potpuno automatizirano pomicanje fotografije: 14 koraka (sa slikama)
Potpuno automatizirana fotografija Panning Rig: Uvod Pozdrav svima, Ovo je moja automatizirana kamera za pomicanje kamere! Jeste li strastveni fotograf, koji je želio jednu od onih zaista kul automatiziranih mašina za pomicanje, ali one su zaista skupe, poput 350 funti+ skupo za 2 osi panning? Pa stanite ovdje
Lissajous figure na 8X8 LED matrici: 7 koraka
Lissajousove figure na 8X8 vodećoj matrici: Tačka svjetlosti koja oscilira u 2 okomite osi iscrtava uzorak pod nazivom "Lisajsova figura" (1857) ili " Bowditch krivulja " (1815). Uzorci se kreću od jednostavnih do složenih, ovisno o omjeru frekvencije i fazi 2 osi.A 1: 1
48 X 8 Pomicanje LED matričnog zaslona pomoću Arduino i Shift registara .: 6 koraka (sa slikama)
48 X 8 pomicanje LED matričnog zaslona pomoću Arduino i Shift registara: Pozdrav svima! Ovo je moj prvi Instructable i radi se o izradi 48 x 8 programabilne pomicne LED matrice pomoću Arduino Uno i 74HC595 registara pomaka. Ovo je bio moj prvi projekt s razvojnom pločom Arduino. Bio je to izazov za m