Tartalomjegyzék:
- Kellékek
- Lépés: Állítsa be Arduino IDE -jét az ESP32 támogatásához
- 2. lépés: Csatlakoztassa a LED -mátrixot az ESP32 -hez
- 3. lépés: Összerakás
- 4. lépés: Az Arduino IDE és INO fájl
- 5. lépés: A kód
Videó: ESP32 Gördülő WordClock LED mátrixon: 5 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Ebben a projektben létrehozok egy görgető WordClock -ot ESP32, LED mátrix és szivar dobozzal.
A WordClock olyan óra, amely az időt írja, ahelyett, hogy csak kinyomtatná a képernyőn, vagy kezét olvasná. Ez az óra azt fogja mondani, hogy délután 3 óra vagy délután 10 perccel elmúlt. Még azt is beprogramoztam, hogy használja a Prevening (a Big Bang Theory -ból) nevet a délután és este közötti kétértelmű időszakra. 16:00 órakor kezdődik.
Az ESP32 félelmetes, annyira szórakoztatóak és olcsóak. Ha szereted az Arduino programozását, valóban le fogsz lepődni, hogy egy ESP32 mire képes 10 dollár alatt. Az Arduino IDE -t használják, és könnyen programozhatók. Ebben az oktatóanyagban bemutatom, hogyan kell ezt megtenni.
Kellékek
- ESP32 - körülbelül 10 dollár az Amazonon
- LED mátrix (max7219) (és vezetékek) - $ 9 amazon
- Szivardoboz
- USB tápkábel
- Opcionális 3D nyomtató az esp32 állványhoz
Lépés: Állítsa be Arduino IDE -jét az ESP32 támogatásához
Szerezze be az Arduino IDE -t:
- Nyissa meg a böngészőben a https://www.arduino.cc/ oldalt.
- Kattintson a Szoftver, majd a Letöltések lehetőségre az ARDUINO 1.8.12 letöltéséhez
Adjon hozzá ESP32 támogatást az Arduino IDE -hez:
- Indítsa el az Arduino IDE -t
- Kattintson a Fájl menüre, majd a Beállításokra.
A „Beállítások” menüpontban adja hozzá a gyártói támogatást a következő sor hozzáadásával a „Kiegészítő fórumkezelőhöz”
dl.espressif.com/dl/package_esp32_index.js
Ez lehetővé teszi számunkra, hogy hozzáadjuk a táblát az IDE -hez
Lépjen az Eszközök menübe, majd a Táblák elemre, és lépjen a fórumkezelőhöz
Ezután keressen rá az "ESP" kifejezésre, és adja hozzá a csomagot az Expressif által.
Végül szeretnénk visszatérni az "Eszközök" menübe, majd ismét a "Tábla" menübe, és lefelé görgetve keresse meg az ESP32 készülékét.
Az enyém "ESP32 Wrover Module"
2. lépés: Csatlakoztassa a LED -mátrixot az ESP32 -hez
A LED mátrix négy 8x8 LED -es blokkból áll, és MAX7219 chipet használ. Ez 8x32 LED -et ad a Mátrixban vagy 256 LED -et !!!.
Az esp32 a TinkerCad -ban létrehozott várakozáson ül. A tartóm felfelé tartja a csapokat, így csatlakoztathatja a vezetékeket.
A LED -mátrix SPI (Serial Peripheral Interface) segítségével csatlakozik az ESP32 -hez.
Használjon női/női vezetékeket és csatlakoztassa a csapokat az alábbiak szerint:
- ESP32 - 5V - VCC a Matrixon
- ESP32 - GND -GND a Matrixon
- ESP32 - PIN5 (G5) CS -re a Matrixon
- ESP32 - PIN23 (G23) Din -nek a Matrixon
- ESP32 - 18. láb (G18) a CLK -hoz a Matrixon
Lehetőség van más csapok használatára is, vagy ha az ESP32 -nek más tűje van.
3. lépés: Összerakás
Ezután levágtam a szivar dobozt, hogy helyet adjak a LED kijelzőnek. A doboz puha, és borotva kést tudtam használni. Aztán csiszoltam, hogy kisimuljon.
Hátul is egészet vágtam a tápkábelhez. Most használtam USB tápellátást. Akár USB telefontöltőt is hozzáadhattam volna a szivar dobozba, ha azt akartam, hogy vezeték nélküli legyen.
4. lépés: Az Arduino IDE és INO fájl
A legjobb rész a kód. De először hozzá kell adnunk egy könyvtárat, hogy a program egyszerűbben használhassa a kijelzőt. Hozzáadtam az MD_MAX72xx könyvtárat.
A könyvtár hozzáadásához kattintson a "Vázlat" menüre, majd a "Könyvtár beillesztése" és a "Könyvtárak kezelése" elemre, ez betöltődik, és lehetővé teszi az MD_MAX72xx könyvtár keresését. Csak kattintson a telepítésre, és megvan.
Ezután szerezze be az Arduino INO fájlomat:
github.com/aapicella/wordClock/blob/master/Word_Clock_LED_NTP_final_.ino
Töltse be az ino fájlt az Arduino IDE -be, Csatlakoztassa az USB -t az ESP32 -ből a számítógéphez.
Kattintson a "Vázlat", majd a Feltöltés gombra
Ezen a ponton az óra nem fog működni, az ESP32 nem jelenít meg semmit. Miért? hozzá kell adnunk a WIFI -t a kódhoz, mert a WordClock csatlakozik az internethez, hogy időt kapjon. Így van … a következő lépés ->.
5. lépés: A kód
Végre eljutottunk a kedvenc részemhez. A program. Tetőtől talpig lefedem, ha érdekli. Ahhoz, hogy a program működjön az otthoni internettel, csak meg kell változtatnia ezeket a sorokat.
// Adja hozzá a hálózati információkat
const char *ssid = "xxxxxx";
const char *password = "xxxxxx";
A program elég összetett, de nagyon szórakoztató.
A "Megelőzés" letiltásához csak módosítsa az értéket hamisra:
const boolean PREVENING = igaz; //Ősrobbanás elmélet.
Ha le szeretné tiltani a digitális idő megjelenítését görgetés után, állítsa ezt hamis értékre.
const logikai DISPLAY_DIGITAL = igaz; // a görgetés után kapcsolja be a digitális idő megjelenítését.
Az idő görgetése:
Az időt egy internetes időszerverről kapom NTP (Network Time Protocol) használatával. Az időt az időinformáció nevű változóban tartjuk, és ebből kapjuk az órát és a percet
int óra = időinformáció.tm_óra; /// 0-23
int perc = timeinfo.tm_min; 0-59
Következő ellenőrzés délelőtt vagy délután
AM, ha az óra <12
Létrehozok egy "theTime" nevű karakterláncot, és ezzel kezdem:
theTime = "Ez";
Ahhoz, hogy a számot szavakká tegyem, létrehoztam egy szótömböt 30 -ig terjedő számokhoz
const char *számok = {
"0", "Egy", "Kettő", "Három", "Négy", "Öt", "Hat", "Hét", "Nyolc", "Kilenc", "Tíz", "Tizenegy", "Tizenkét" "," Tizenhárom "," Tizennégy "," Negyed "," Tizenhat "," Tizenhét "," Tizennyolc "," Tizenkilenc "," Húsz "," Huszonegy "," Huszonkettő "," Huszonhárom " "," Huszonnégy "," Huszonöt "," Huszonhat "," Huszonhét "," Huszonnyolc "," Huszonkilenc "," Fél múlt "};
Tehát amikor 12:05 vagy öt perccel elmúlt tizenkettő, valóban az Arduino felé tart
számok [5] perccel múlt számok [12]
Annak megállapításához, hogy a "Minutes Past" vagy a "Minutes To", csak a jegyzőkönyvet nézzük. Ha a percek <31, akkor a "Minutes Past", ha a percek 31-nél nagyobbak, a "Minutes To" kifejezést használjuk, de számokat használunk [60 perc], tehát a 12:50 60-50 perc vagy számok [10] lenne adjon nekünk 10 percet 12 óráig.
Természetesen vannak más szabályok is, például a 15., 30., 45. napon nem használunk perceket, csak fél vagy negyed, és ha a perc 0, akkor az idő csak "tíz óra" vagy dél.
Tehát hogy összeállítsam, az összes elemet hozzáfűzem a String theTime -hez, majd megjelenítem a LED -mátrixon. Egy csomó If állítást használok. Valószínűleg használnom kellett volna a tokot, de egyszerűbb volt folyamatosan hozzáadni őket.
Példánkban 12:05
theTime = "Ez"
ha perc <31, használja a "Minutes Past" értéket, különben a "Minute To"
theTime + = számok [5] + "Minutes Past" + szám [12] + "O'Clock" // Megjegyzés: A + = jelölés csatolva van.
Ezután megnézzük az órát, hogy megállapítsuk, reggel, délután vagy este van -e.
theTime+= "Este"
A mátrixhoz tartozó utolsó karakterlánc:
"Öt perc múlt este tizenkét óra után"
Ezt a projektet nagyon szórakoztató volt írni. Ha tetszik, kattints a Szívre és szavazz rám.
Ajánlott:
Gördülő szövegkijelzés (A -tól Z -ig): 25 lépés (képekkel)
Görgetéses szövegkijelzés (A -tól Z -ig vezető útmutató): Ebben az oktatható / videóban lépésről lépésre bemutatom, hogyan lehet görgetni a szöveget Arduino segítségével. Nem magyarázom el, hogyan kell kódot készíteni az Arduino számára, hanem megmutatom, hogyan kell használni a meglévő kódot. Miben és hol kell együtt dolgozni
Lissajous figurák a 8X8 LED -es mátrixon: 7 lépés
Lissajous ábrák a 8X8 LED -es mátrixon: A 2 merőleges tengelyen oszcilláló fénypont egy "Lissajous ábra" nevű mintát rajzol. (1857) vagy "Bowditch Curve"; (1815). A minták az egyszerűtől a komplexig terjednek, a 2 tengely frekvenciaarányától és fázisától függően. 1: 1
Gördülő robot ESP32 Thing és TB6612FNG illesztőprogrammal, Android vezérli a BLE felett: 11 lépés
Gördülő robot ESP32 Thing és TB6612FNG illesztőprogrammal, Android felett BLE felett: Üdv mindenkinek! Ez az első tanítható. Gördülő robot (becenevén Raidho - a rúnából, amely a mozgáshoz kapcsolódik) az ESP32 Thing, a TB6612 FNG és a BLE alapján. Az egyik rész, ami különösnek tűnhet, hogy a fényképek nem a gyártási folyamatból származnak
48 X 8 Gördülő LED mátrix kijelző Arduino és Shift regiszterek használatával: 6 lépés (képekkel)
48 X 8 görgetéses LED -mátrix kijelző Arduino és Shift regiszterek használatával: Üdvözlök mindenkit! Ez az első utasításom, és arról szól, hogy 48 x 8 -as programozható görgető LED -mátrixot készítek Arduino Uno és 74HC595 shift regiszterek használatával. Ez volt az első projektem egy Arduino fejlesztői táblával. Kihívás volt számomra
Gördülő árajánlatkijelző létrehozása: 6 lépés
Hozzon létre egy görgető árajánlatkijelzőt: Ha szeretne idézeteket gyűjteni, mint én, akkor ez az oktató az Ön számára. Ez az oktatóanyag megmutatja, hogyan állíthatja össze az idézeteket, hogy mindenki lássa, és használjon olyan dolgokat, amelyek valószínűleg már a ház körül vannak. Anyagok