Tartalomjegyzék:
- Kellékek
- 1. lépés: A Raspberry Pi beállítása
- 2. lépés: Az elektronika csatlakoztatása
- 3. lépés: Adatbázis tervezése
- Lépés: Az Arduino beállítása
- 5. lépés: Raspberry Pi Backend
- 6. lépés: Ügy
Videó: Ébressz fel - intelligens ébresztőóra: 6 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
A Wake me up egy intelligens ébresztőóra, amely intelligens fényként is használható.
A beépített ledszalag szimulálja a szobába érkező természetes fényt. Ez lehetővé teszi a nap nyugodt, természetes módját.
Az ébresztőóra 4*7 szegmenses kijelzővel van felszerelve az idő leolvasásához, hangszórókkal a kedvenc zenéjéhez való ébredéshez, érintőgombbal, ldr -vel a ledszalag fényerejének beállításához és egy hőmérséklet -érzékelővel, amellyel megtekintheti az a szoba hőmérséklete.
Kellékek
Az általam kifizetett pontos árak listája itt található:
Mikrokontrollerek és számítógépek:
A Raspberry Pi 4I a raspberry pi 4 4GB -t használta, azonban minden málna pi 3+ modellnek rendben kell lennie
Arduino Uno
Az arduino a 4*7 szegmenses óra kijelző vezérlésére szolgál.
Érzékelők:
- TMP36: hőmérséklet -érzékelő
- LDR: Fényfüggő ellenállás
Állítóművek:
- WS2801: Egyénileg címezhető ledszalag
- LCD kijelző: 16*2 LCD kijelző.
- 4*7 szegmenses óra kijelző
IC -k:
- 74HC595: Shiftregister az LCD kijelzőhöz
- MCP3008: 8 bites analóg-digitális átalakító
- Logikai szintváltó: A raspi és az arduino közötti kommunikációra szolgál
Más dolog:
- Adafruit MAX9744 erősítő a hangszórók táplálására
- Bármelyik hangszóróhoz Visaton 4Ohm 8Watt teljes tartományú hangszórót használtam (2240. cikk)
- 9 voltos tápegység az erősítő tápellátásához
- 5 voltos tápegység a ledszalag és más alkatrészek ellátásához. Ne feledje, hogy a ledszalagban lévő egyes vezetékek 60 mA feszültséget képesek lemeríteni, ezért győződjön meg arról, hogy a tápegység elegendő.
- Néhány 220 ohmos ellenállás
- Egy kis kenyérsütő a tokjába.
Eszközök:
- Forrasztópáka.
- Valami a tok elkészítéséhez (3D nyomtatót használtam PLA -val és PETG -vel, valamint néhány vinil matricát a fahatás eléréséhez.)
1. lépés: A Raspberry Pi beállítása
A málna pi a fő mikrovezérlőnk.
A málna pi a helyi webszerverünket, adatbázisunkat futtatja, vezérli a ledszalagot, a hangszórókat,…
1. rész: A Raspbian telepítése
Használja ezt az oktatóanyagot a raspbian telepítéséhez:
Győződjön meg arról, hogy az SSH engedélyezve van
2. rész: Kapcsolódás
Az internethez való csatlakozáshoz hozzáférést kell kapnia a málna pi termináljához. Javaslom a gitt használatát. A terminál típusában:
wpa_passphrase "YourNetwork" "YourSSID" >> /etc/wpa_supplicant/wpa_supplicant.conf
A "YourNetwork" a wifi hálózat neve, a "YourSSID" pedig a hálózat jelszava.
Miután hozzáadta a hálózatot, próbálja újraindítani a Raspberry Pi -t.
Gépelje be a 'ping 8.8.8.8' parancsot, ez csomag küld a Google szervereire, ha választ kap, a hálózat be van állítva és működik!
3. rész: Telepítse a szükséges programokat
Szükségünk lesz néhány extra program telepítésére, hogy elindítsuk ezt a projektet.
Mielőtt elkezdenénk, futtassa ezt a 2 parancsot, hogy megbizonyosodjon arról, hogy minden frissítve van.
sudo apt frissítés
sudo apt frissítés
Ez eltarthat egy ideig.
Apache
sudo apt install apache2 -y
sudo apt install php libapache2-mod-php -y
MariaDB
sudo apt install mariadb-server mariadb-client -y
sudo apt install php -mysql -y
PHPMyAdmin
sudo apt telepítse a phpmyadmin -y
Python pip
Telepítenünk kell a pip -t, hogy engedélyezzük néhány python könyvtárat
pip3 telepítse a mysql-connector-python programot
pip3 telepítse a flask-socketio-t
pip3 telepítse a lombikhüvelyeket
pip3 install gevent
pip3 telepítse a gevent-websocket-et
2. lépés: Az elektronika csatlakoztatása
Hozzáadtam 2 sémát, az egyik egy tesztlap. Azt javaslom, hogy készítse el az első sémát, és próbálja meg működtetni a kódot.
Az alábbiakban hozzáadtam a frizuráló fájlokat.
3. lépés: Adatbázis tervezése
Ezt az adatbázis sémát készítettem. A szavak hollandul vannak, de minden táblázatot részletesen elmagyarázok.
1. táblázat: tblMuziek
Ez egy elég alapasztal. Mentse az előadó nevét, a dal nevét és a dal fájlnevét.
2. táblázat: tblLedstrip
Ez a táblázat nyomon követi a ledszalag aktuális állapotát, és menti a ledszalag állapotát. Erre szükségünk van az intelligens fényforrás funkcióhoz.
3. táblázat: tblSensoren
Ez a táblázat nyomon követi a riasztónkban lévő érzékelőket. Tároljuk az érzékelő nevét és az MCP3008 csatornáját
4. táblázat: tblMeting
Ez a táblázat tárolja érzékelőink értékeit az idejükkel együtt.
5. táblázat: tblWekker
Ez a táblázat tárolja az ébresztőóra jelszavát és nevét (pl. Hálószoba) Ez a táblázat nem kötelező, de azért adtam hozzá, mert feltételezem, hogy 1 -nél több ébresztőóra lesz a házban.
6. táblázat: tblAlarm
Ez talán a legfontosabb táblázat. Nyomon követi a beállított ébresztőórákat és az óra feladatait (melyik dalt játssza le, melyik sorrendet, mely napokon kell megszólalnia …). Nagyon fontos 2 dátum követése. 1 dátum tárolja, hogy a riasztás melyik órában szóljon. A másik nyomon követi, hogy a riasztó mikor szólalt meg utoljára. Ahhoz, hogy megtudjam, melyik hétköznap kell kikapcsolnia, egy varchar -t használtam, amely 7 számjegyből áll. Az első számjegy a hétfő, a második kedd,… Ha 1, akkor ki kell kapcsolnia, ha 0, akkor nem. Példa: 1111100 ez azt jelenti, hogy a riasztásnak hétfőn, kedden, szerdán, csütörtökön és pénteken kell megszólalnia.
Lépés: Az Arduino beállítása
Ez a lépés nagyon egyszerű. A következő lépésben lesz egy link a github -ra, ahonnan letöltheti az arduino fájlt.
Mit csinál a program?
A program várja, hogy soros adatok érkezzenek a pi -ből.
Amint az adatok megérkeznek, elemzi a karakterláncot, és visszaigazolást küld a pi -nek.
A karakterlánc valami ilyesmi lesz: '1201', ez azt jelenti, hogy 12:01. Egy közös, 7 szegmenses anódos kijelzőt használtam, ami azt jelenti, hogy a számjegyeknek magasnak kell lenniük, és az A, B, C, D, E, F, G és DP alacsonynak kell lenniük a bekapcsoláshoz. Ha közös katódot használ, akkor a HIGH értéket LOW és LOW értékre kell állítani.
Itt található egy link, amely további információkat tartalmaz a 7 szegmenses kijelző működéséről. (könyvtár használatával):
www.instructables.com/id/Using-a-4-digit-7…
Itt egy link a 7 szegmenses megjelenítésről könyvtár használata nélkül:
create.arduino.cc/projecthub/SAnwandter1/p…
5. lépés: Raspberry Pi Backend
A kódomat a Github segítségével töltheti le. (https://github.com/VanHevelNico/WakeMeUp)
A program telepítése:
A háttérprogramot pythonban írjuk lombik használatával. Készíthet olyan szolgáltatást, amely automatikusan elindítja ezt a programot (app.py).
A frontend kódot a korábban letöltött apache szerver html fájljába kell helyeznie. (/var/html)
Hogyan működik a program?
Amikor az ébresztőóra be van kapcsolva, lépjen az óra IP -címére (ez megjelenik az LCD -n)
Amint a böngészőjében arra az IP -címre lép, a számítógépe elküldi a socket.io kérést a háttérprogramnak, mondván, hogy az ügyfél csatlakozott. Amikor a háttérrendszer ezt megkapja, néhány szál elkezdődik, amelyeket az alábbiakban elmagyarázok.
Beállít
Ez minden szükséges objektumot inicializál.
GetTemp
Ez beolvassa az mcp3008 0. csatornát, és a bináris adatokat a tényleges hőmérsékletre konvertálja, és az aktuális dátummal és órával az adatbázisba helyezi.
GetTempGrafiek
Ez megkapja a hőmérséklet -érzékelő elmúlt 20 értékét, és elküldi a kezelőfelületnek.
tijd_sturen
Ez a módszer megkapja az aktuális időt, és ellenőrzi, hogy a perc megváltozott -e. Ha ez megváltozott, a program soros kommunikáció segítségével elküldi az új időt az arduino -nak
checkAlarmen
Ez a legfontosabb módszer. Megkapja az összes bekapcsolt riasztást, és ellenőrzi, hogy a riasztások bármelyikének be kell -e kapcsolnia most és 5 perccel ezelőtt (ez egy puffer annak biztosítására, hogy minden riasztás akkor induljon el, amikor szükséges). Ha a riasztónak ki kell kapcsolnia, elindítjuk a zenét, a ledszalagot,… Folyamatosan olvassuk az erőérzékeny ellenállást, és amikor az érték 1000 alá csökken (olvassa el, hogy megnyomja az fsr -t) Bekapcsoljuk a riasztást, és frissítjük a riasztást a adatbázis. Az aktuális dátumra állítottuk be azt a dátumot, amikor a riasztó utoljára megszólalt.
statusLight
Ez a módszer kibocsátja a ledszalag értékét, és szükség esetén bekapcsolja a ledszalagot.
lichtAanpassen
Ez egy extra módszer annak biztosítására, hogy a ledszalag és a riasztó lámpa ne ütközzenek egymással.
6. lépés: Ügy
A fájljaim linkje itt található:
A burkolat nyomtatásához 3D nyomtatót használtam. 4 különböző részre van nyomtatva:
- Az előlap lyukakkal a hangszóróhoz és néhány fal a 7 szegmenses kijelzőhöz
- A külső gyűrű az átlátszó PETG ledszalaghoz.
- A középső rész
- A hátlap lyukkal az LCD és a kábelek számára.
Az eredeti modellben nem volt lyuk a 7 szegmenses kijelzőhöz, de erre szükség van, mert különben a 7 szegmenses kijelző fénye nem világít át.
Amint láthatja, miután az összes összetevőt behelyezte, fából készült vinil matricákat használtam, hogy a végeredmény jobb legyen. Az óra kijelzője ragyog a matricán keresztül, ami nagyon szép megjelenést eredményez.
Ajánlott:
Twin Bell ébresztőóra a szóda dobozokból: 7 lépés (képekkel)
Twin Bell ébresztőóra a szóda dobozokból: Ez az utasítás bemutatja, hogyan lehet ikerharangos ébresztőórát készíteni a szóda kannákból. A projekt szóda kannákat használ, ahol a tintát eltávolították (Link: Tinta eltávolítása a szóda dobozokból). Annak érdekében, hogy ez az ébresztőóra teljesen működőképes legyen, egy DIY kvarcóra modult integráltak
Zajos ébresztőóra: 3 lépés
Zajos ébresztőóra: 13 éves diák vagyok Tajvanon. Először csinálok dolgokat az Arduino -val, ha meg tudja mondani, hogyan javíthatom ezt a munkát, kérjük, hagyjon megjegyzéseket számomra, hogy jobbá tegyem. (Köszönöm ) Ez az óra felébreszthet, amikor alszol, de én
Ébressz fel egy őskori dinoszauruszt egy IBM PS2 55SX!: 15 lépés
Ébressz fel egy őskori dinoszauruszt … egy IBM PS2 55SX! egyébként azt javaslom, hogy olvassa el az összes bejegyzést
A buborék ébresztőóra szórakoztatóvá teszi az ébredést (izh): 7 lépés (képekkel)
A buborék ébresztőóra szórakoztatóvá teszi az ébredést (izh): A zümmögő ébresztőóra felébredés szar. Én azok közé tartozom, akik nem szeretnek felkelni, mielőtt lemegy a nap (vagy már több órája kint van). Tehát mi lehet jobb módja annak, hogy az ébredés szórakoztatóbb legyen, mint egy buborékparti az ágyban! Egy arduino és egy
Groundhog Day ébresztőóra: 12 lépés (képekkel)
Groundhog Day ébresztőóra: A Groundhog Day ébresztőóra egy Panasonic RC-6025 flip órából áll, amelyet úgy módosítottak, hogy lejátssza a Groundhog Day című film hangját, amikor a riasztás megszólal. Az eszköz azért jött létre, mert a Groundhog Day (mind a nap és film) tartott specifikációt