Tartalomjegyzék:
- 1. lépés: Az óra tokja
- 2. lépés: Neopixelek
- 3. lépés: Az első szöveg beállítása
- 4. lépés: Teljes szivárvány hatás
- 5. lépés: A különböző összetevők
- 6. lépés: Az óra kódja
- 7. lépés: A hardver leírása
- 8. lépés: LDR a neopixelek fényerejének szabályozásához
- 9. lépés: A WS2812B energiafogyasztásának csökkentése
- 10. lépés: Mosolyogjon a Word Clockon
- 11. lépés: Milyen könyvtárakat használnak
- 12. lépés: Egyszerű IR távirányító
- 13. lépés: Milyen Nexts?
Videó: Szivárványos szóóra teljes szivárványhatással és még sok más: 13 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Célok
1) Egyszerű
2) Nem drága
3) Lehetőleg energiatakarékos
Szivárványos szóóra teljes szivárványhatással.
Mosoly a szóórán.
Egyszerű IR távirányító
Frissítés 03-nov-18 LDR a neopixelek fényerejének szabályozásához
Frissítés 01-jan-19 A WS2812B energiafogyasztásának csökkentése.
Frissítés január 15-én 19-es Smiley.
Frissítés 23-jan-19 Kód 1.6
Frissítse a 10 március 19-i könyvtárak linkjeit
Frissítés 14-április-19-es verzió 1.7. Válaszd ki a smiley be- és kikapcsolási collor szivárvány/fix enzimet.
Utolsó frissítés 01-jun-19 verzió 2.0 IR távirányító és kódtervezés
1. lépés: Az óra tokja
Néhány egyszerű eszközzel és egy kis szakértelemmel nem nehéz betűórát készíteni. A számomra rendelkezésre álló anyagokat használtam.
A tokhoz durva fenyő rudat használtam, amelyben néhány keretet fűrészeltem. Így készülne a ház négy oldala, amelyeket összeragasztottak és a sarkokban egy kis fadarabbal megerősítettek. Ezután a fát csiszolni és festeni kell.
A betűket egy nyomtató tükörírással vágja ki fóliából. A fólia az üveglap hátulján található, és kétrétegű mintapapírral van borítva a jobb fényeloszlás érdekében. Az üveget szilikon tömítőanyag rögzíti.
2. lépés: Neopixelek
A Neopixels LED -ek falemezen vannak elhelyezve. Ebben az esetben először 3 mm -es lyukakat fúr. Elöl betűméretre 3/4 mélységre vannak nagyítva. Ezt követően a hátsó 3 mm -t 10 mm -re növelik, ez a méret egy Neopixel. Néhány karakter, többek között a W, a lyukat kissé módosítani kell.
Rétegelt rétegelt lemezt használtam, amely gyorsan szétesett, az MDF jobb lehet.
Az egyedi LED -ekkel nem kötött rögzített távolságra, mint például a LED -szalagok esetében. A LED -eket össze kell kötni egymással. Ezt megteheti minden rövid huzaldarabbal. De a két min (-) csatlakozás pont olyan, mint a két plusz (+) csatlakozás, amelyek belsőleg vannak összekötve, tehát ugyanaz a kapcsolat.
Sok munkát megspórolhat, ha egy huzaldarabot forraszt a bal LED -re, majd a jobb LED -re. Ezután forrasztja a közteseket.
Az adatkapcsolatnak természetesen rövid darabokkal kell rendelkeznie, mert az adatkimenet az adatbevitelre megy.
3. lépés: Az első szöveg beállítása
Az előlap most hollandul van, de egyszerűen bármilyen nyelvre konvertálható.
A NeoPixels LED-ek itt egymás után váltakoznak 0-167 között. A számozás a bal felső sarokban lévő első sorból jobbra, majd a második sorból jobbról balra stb. A beállítás a saját igényei szerint végezhető el. A NeoPixelek számát a karakterek száma határozza meg. Kevesebb vagy több Neopixel állítható be a következő sorban
#define NUMPIXELS 168 // Hány NeoPixel kapcsolódik az Arduino -hoz?
A 168 egy másik szám. A számozás 0 -val kezdődik. Bármilyen szöveget készíthet. Ha megváltoztatja a szöveget, akkor a megfelelő szavakat is módosítania kell. A számozás ugyanaz marad.
Például a jegyzőkönyv DRIE -jét a kód határozza meg
void zetmDrie () {
Led_Aan [56] = 1, Led_Aan [57] = 1, Led_Aan [58] = 1, Led_Aan [59] = 1; // min-drie
}
Ha az Arduino szót szeretné elkészíteni, akkor ez így hangzik:
void zetArduino () {
Led_Aan [38] = 1, Led_Aan [50] = 1, Led_Aan [56] = 1, Led_Aan [93] = 1;
Led_Aan [120] = 1, Led_Aan [135] = 1, Led_Aan [147] = 1; // Word-arduino
}
Tehát szavakat is köthet közöttük.
Az óra szavaknál hasznos, ha összefüggő szót alkotnak, de nem feltétlenül szükséges. A fel nem használt betűkhez nem kell neonpixel. Mindet feltöltöttem az idő megjelenítésétől eltérő jövőbeli lehetőségek használatához.
Ha megváltoztatja a kezdőpontot vagy az utódlási sorrendet, a számozásnak ennek megfelelően kell változnia.
4. lépés: Teljes szivárvány hatás
Az óra úgy van programozva, hogy másodpercenként hányszor számolják, hány neopixel van bekapcsolva.
A teljes spektrum körülbelül az osztott, majd kissé eltolt számú. Ennek eredményeként minden egyes Neopixel más színű, amely folyamatosan változik. Az 1 -es és a 167 -es számú neopixel követi egymást néhány színnel kapcsolatban.
Ha egyszerre kevesebb különböző színt részesít előnyben, akkor ezt könnyű beállítani. A szín még mindig eltolódik a teljes spektrumon, de kisebb részével. Az 1 -es és a 167 -es számú neopixel már nem követi egymást.
A fényerő a következő sorban állítható be:
pixels.setBrightness (150);
Egy kisebb szám kevesebb, a nagyobb szám pedig nagyobb fényerő.
5. lépés: A különböző összetevők
A következő összetevőket használtam
Arduino Pro Mini ATMEGA328 5V/16MHz
DS3231 óra modul
168 db Neopixels led WS2812 LED chip és hűtőborda 5V 5050 RGB WS2811 IC Beépített
Fólia betűs sablon
DCF77 vevő
6. lépés: Az óra kódja
Itt a kód. Fényerő -szabályozó és kikapcsolás, ha senki nincs jelen és éjszaka.
Hozzáadott RCWL-0516 radar mikrohullámú mozgásérzékelő (RADAR keresése)
10 perc mozdulatlanság után a NeoPixelek kialszanak.
A 2.0 verzióról
A memóriahasználat túl nagy volt, a fordítóban elfogytak a memória figyelmeztetések. Ezért teljesen megváltoztattam a kódot, de a művelet változatlan maradt, és hozzáadtak egy IR -vevőt.
Van egy kódrészlet, amely biztosítja az EEPROM számára az adatokat. Futtassa ezt egyszer a / * és * / ideiglenes eltávolításával. Keresse meg => futtassa ezt egyszer, hogy adatokkal lássa el az EEPROM -ot
Az üres hurok elején van egy kód, amellyel leolvashatja a kódot a saját távirányítójáról. Ezt a / * és * / ideiglenes eltávolításával futtathatja, ne felejtse el később visszahelyezni őket. Saját gombokat is megadhat. A beolvasott kódot be kell írni => Itt definiálhatja saját gombjait
A Samsung távirányítója jobban működik, mint a (nagyon olcsó) egyszerű.
7. lépés: A hardver leírása
Az Arduino Pro Mini különböző verziói vannak. Kérjük, vegye figyelembe, hogy a csatlakozók eltérőek lehetnek.
Hozzáadott egy RCWL-0516 mikrohullámú mozgásérzékelőt.
Amíg mozgás van az óra közelében, a NeoPixel bekapcsolva marad
és amint nincs több mozgás, a NeoPixel néhány perc múlva kikapcsol.
A 2.0 -s verzióban a DCF77 vevőt a 13 -as érintkezőn keresztül táplálják. Ez a tű kimenetként van definiálva, és a DCF77 rutin megszólításakor magasra van állítva. A DCF77 vevő 0,28 mA -t használ, és csak néhány percre van szükség naponta.
A kikapcsolás ment
5 volt * 0,28 mA / 1000 * 24 óra * 365 nap * 1 / 0,85 hatékonyságú tápegység = 14,4 watt évente.
Ez nem tűnik soknak, de minden rész segít.
8. lépés: LDR a neopixelek fényerejének szabályozásához
Hozzáadott egy LDR -t a neopixelek fényerejének szabályozásához.
Az LDR -t beragasztottam a neopixel 103. terébe. Ez az időkijelzőn nem használatos, ezért nem befolyásolja a szabályozást. A papír csillapítja a beeső fényt, de ez nem probléma.
Az LDR és a 20 kohm ellenállás feszültségosztója az Arduino Pro Mini A0 -jához megy. A feszültség a fényintenzitás jelzője, és ezért a neopixelek által kibocsátott fény mennyiségét is jelzi.
Az általam használt képlet jó fényszabályozást biztosít, a körülmények függvényében beállítható. A fény mennyiségétől függően a feszültség 0 és 5 volt között változhat, amelyet 0-1024 számra alakítanak át, amelyek "LDRValue" értékűek.
Ha az új mért érték nagyobb, mint az utolsó számított érték, az intenzitást 1 -gyel növeljük, ha alacsonyabb, mint 1 -gyel csökkentettük, és ha egyenlő, akkor semmi sem történik. Annak érdekében, hogy az érték lassan haladjon, és ne legyen villogó hatás, csak 1 -et növelünk vagy csökkentünk, és mivel a számítás a ciklusban van, csak a ciklus 25 -szörös áthaladása után számítják újra.
Az intenzitás elméletileg minimum 20 és maximum 1024/7 + 45 = 191. A maximális érték, amit mértem, 902 volt, ami 173 intenzitású. Ez jól illeszkedik az alapértelmezett értékként beállított 150 értékhez. (lásd pixels.setBrightness (150))
A 2.0 verzióban a vezérlőt a távvezérlővel állíthatja be. A következő paramétereket adtuk hozzá: Brightness_min minimum és Brightness_max, mint maximális beállítás és Brightness_Offset, mint beállítási paraméter. A Brightness_min és a _max azok az értékek, amelyek függhetnek saját helyzetétől. A Brightness_Offset olyan érték, amelyet a távirányítóval lehet beállítani, és amellyel több vagy kevesebb fényerő állítható be.
A mért LDRValue és a számított BerLDRValue értékek között 3 -as halott sáv is található.
Használja a void BrightnessControl nyomtatási utasításait a fényerő beállításának ellenőrzéséhez.
9. lépés: A WS2812B energiafogyasztásának csökkentése
A WS2812B címezhető neopixelek illesztőprogramjai akkor is áramot merítenek, ha a neopixelek ki vannak kapcsolva, 0 -ra állítva (nem világítanak a neopixelek).
Amikor mind a 169 neopixel kint van, 69 mA -t mérök a neopixelekhez. Feltételezve, hogy az óra napi 12 órában ki van kapcsolva, a teljes leállítás ekkor ment: 5 (Voltos tápegység) * 69/1000 (Miliampere / 1000 = Ampere) * 12 (Napi órák száma) * 365 (Napok száma év) = 1511 Wattóra. Tehát éves szinten 1,5 Kwh. Egyetértek, ez önmagában nem sok, de sok kicsi csinál egy nagyot.
Az áramkör egyszerű. A tápegység pluszát egy P-csatornás MosFet kapcsolja. A radarérzékelő határozza meg, hogy a neopixelek be vannak -e kapcsolva. Két párhuzamos MosFet -et tettem, hogy az ON ellenállás a lehető legalacsonyabb legyen a MosFets elvesztése miatt. Normál használat esetén 4, 5 mili voltot mérek a MosFets felett. A kaput az Arduino 4 kimenete vezérli 470 Kohm ellenálláson keresztül. Ha a kimenet digitálisan alacsony (0) értékre csökken, akkor a neopixelek be vannak kapcsolva, és magasan (1) ki vannak kapcsolva.
10. lépés: Mosolyogjon a Word Clockon
Mosoly a szóórán.
Időnként megjelenik egy Smiley az órán. Ez azonban boldoggá tesz.
A Smiley -t a radarérzékelő váltja ki. A mozgás (állítható) száma a Smiley megjelenésének mérőszáma. A % jelek azt jelzik, hogy mozgást észleltünk. Minden tizedik (állítható) mozdulattal a Smiley egy kacsintó arcot állít elő, és háromszor egy kacsintó arc után negyedszer jön ki egy mosolygó arc, amely kinyújtja a nyelvét.
A Smiley egy kis változás a kódban.
11. lépés: Milyen könyvtárakat használnak
Mely könyvtárakat használják.
Windows 7 -ben használom őket Arduino IDE 1.6 -mal, és tesztelték Windows 10 -ben is Adruino IDE 1.8.8 -mal
RTClib-master
Arduino-DS3231-master
Adafruit_NeoPixel-master
Arduino-DCF77-master
Ken Shirriff IRremote könyvtára
Mivel mindig zűrzavar van a használt könyvtárral kapcsolatban, hozzáadom az általam használtat.
Az IRremote könyvtár sok memóriát használ. Az IRremote.h azt jelzi, hogy letilthatja a fel nem használt protokollokat
// Minden protokoll, amelyet tartalmaz, memóriába kerül, és a dekódolás során időbe kerül. // Tiltsa le (állítsa 0 -ra) az összes olyan protokollt, amelyre nincs szüksége/szeretne!
Minden le van tiltva, kivéve a NEC és a Samsung protokollt. Ez 10%memóriamegtakarítást eredményez. Jelenleg már nincs probléma a memória mennyiségével, így egyelőre nem szükséges a letiltás.
12. lépés: Egyszerű IR távirányító
Az összeszerelés
Amint az a fényképeken is látható, a LED 132 lyuk kissé túl nagynak bizonyult. Ezt jól kihasználtam, és hozzáadtam az IR -vevőt. Csatlakoztassa a VS1838 infravörös vevő adattűjét az Arduino 7. tűjéhez. Ezenkívül csatlakoztassa a plusz és mínusz tápegységet. Az infravörös vevő 0,21 mA -t használ, és a FET kapcsoló után csatlakoztatható a plusz tápegységhez is. Ennek eredményeképpen 5 volt * 0,21 mA / 1000 * 12 óra * 365 nap * 1 / 0,85 hatékonyságú tápegység = 5,4 watt / év, ha az óra 50% -ában az óra be van kapcsolva. Ez nem tűnik soknak, de minden rész segít.
A működés a következő
Nyomja meg az infravörös távirányító bármelyik gombját, majd az OK gombot. Az első megnyomáskor az infravörös feldolgozásba kerül, a második alkalommal pedig észleli, hogy indokolt kérés volt -e. A második alkalommal az OK -nak gyorsan meg kell nyomnia az első gombnyomást, mert különben ismét visszalép. Ezt a konstrukciót úgy készítettem el, hogy alig kaptam az első kódot helyesen dekódolva, és ezért nem kerültem az infravörös kezelésbe.
Az infravörös kezelést követően számos LED világít információért, a magyarázatért olvasson tovább, és nézze meg az első képet.
A leírás az egyszerű távirányítóra vonatkozik, de bármilyen távirányítót használhat, és saját kulcsokat határozhat meg. Samsung távirányítót is használtam.
Az első négy gomb a LED -ek felső négy sorának felel meg. A beállításoktól függően négy LED balra vagy jobbra fordul. Amikor megnyomja az 1-4 gombokat, az állapot megfordul, és eltárolódik a memóriában.
1 fix színű vagy szivárvány hatás
2 másodperces vaku kikapcsolva vagy második villanáskor
3 smiley off smiley on
4 DCF77 kikapcsolva vagy DCF77 bekapcsolva
A kulcs száma megjelenik a következő gombokon
5 smiley számláló
6 szivárvány spektrum szélesség
7 rögzítse a piros beállítást
8 javítsa a zöld beállítást
9 fix kék beállítás
A LED -ek 6., 7. és 8. sora most a beállított értéknek felel meg, a 6. sor az egységeket, a 7. sor a tízeseket, a 8. sor pedig a százat jelzi. Minden sor nulla értékkel kezdődik. Tehát a sor első ledje 0, a második 1 stb.
0 időbeállítás
/\ fényerő beállítás
A 0 gomb megnyomásakor a "tíz" LED világít, jelezve, hogy be szeretné állítani az időt, és amikor a 0 gombot másodszor megnyomja, a beállított idő jelenik meg a kijelzőn.
Az idő most beállítható, és megjelenik a kijelzőn.
Állítsa be a pontos időt, majd ha a perc egyezik a referenciaórán, nyomja meg az OK gombot.
Az idő beállítva.
Ha nem nyomja meg a perc vagy óra gombot, az idő nem változik. Ha mégis megnyomja őket, azonnal beállítja az időt.
Az 5 - 9 gombok értéke a gombokkal módosítható
jobb plusz 1
balra mínusz 1
előre plusz 10
fordítottja mínusz 10.
és az idő beállításához
jobb plusz 1 perc
balra mínusz 1 perc
az előrehaladás plusz 1 óra
fordítva mínusz 1 óra
Néha előfordul, hogy a gombnyomást nem ismeri fel, vagy kétszer hajtja végre. Tehát figyeljen, ha a beállítás jól megy, különben próbálja meg vagy javítsa újra. Az általam is tesztelt Samsung távirányító sokszor jobban működött, mint a (nagyon olcsó) egyszerű távirányító.
A szín beállításakor a változás közvetlenül a teljes kijelzőn látható. A színek áttekintésével rendelkező webhelyekről lásd: https://www.helderester.nl/kleurentabel.html. Természetesen bármilyen értéket beállíthat.
Ha a szivárvány spektrumának szélessége 0, akkor a spektrum nagyon keskeny, és a kijelző színe állandóan változik.
Az idő ilyen módon történő beállításának hátránya, hogy nem tudja kiszámítani a nyári / téli átmenetet, mert a dátum helytelen. Magának az órának nem számít, mert most nem használjuk.
13. lépés: Milyen Nexts?
Ami ezután következik, hang, ha a szabad memória még mindig elegendő.
Már megvannak a hangszóródobozok. Egy régi laptopról származnak.
Ajánlott:
Intelligens motorkerékpár HUD prototípus (részletes navigáció és még sok más): 9 lépés
Intelligens motorkerékpár HUD prototípus (részletes navigáció és még sok más): Szia! Ez az Instructables a története annak, hogyan terveztem és építettem egy HUD (Heads-Up Display) platformot, amelyet motorkerékpáros sisakokra szereltek fel. A "térképek" verseny keretében íródott. Sajnos nem tudtam teljesen befejezni
Régi CD -meghajtót készítettem Wifi -robotba a Nodemcu, az L298N motormeghajtó és még sok más használatával: 5 lépés
Régi CD -meghajtót készítettem Wifi -robotba a Nodemcu, az L298N motormeghajtó és még sok más használatával: VX Robotics & Jelen van az elektronika
Szóóra óra szivárványhatással és háttérvilágítással .: 6 lépés
Szóóra óra szivárványhatással és háttérvilágítással: Az eleje megvan. Az előlap 40 x 40 cm méretű és kész
Részletes alkatrészek öntése: Protetikus ujjak (amelyek ragyognak, színt váltanak hővel és még sok más ): 10 lépés (képekkel)
Részletes alkatrészek öntése: Protetikus ujjak (amelyek ragyognak, színt váltanak hővel és még sok más …): Ez egy útmutató a kis, összetett alkatrészek olcsó öntéséhez. Azt kell mondanom, hogy nem vagyok casting szakértő, de mivel a szükséglet gyakran a találmány anyja - az itteni folyamatok némelyike jól működött. A londoni Future Festen találkoztam Nigel Acklanddal, és
Hogyan építsük meg ezt a csodálatos pörgő szivárványos fénykereket !!!: 10 lépés (képekkel)
Hogyan építsük meg ezt a csodálatos pörgő szivárványos fénykerekét !!!: Ezen az oktatóanyagon megmutatom, hogyan készíts egy igazán klassz pörgő szivárvány fénykereket! Ez a nevezésem a „LET IT GLOW” versenyen. Ezt a forgó szivárványos fénykereket abból a részből készítettem, amelyik a fészerben ül. Ez a projekt