Tartalomjegyzék:

Gyermek alvási edzőóra: 6 lépés (képekkel)
Gyermek alvási edzőóra: 6 lépés (képekkel)

Videó: Gyermek alvási edzőóra: 6 lépés (képekkel)

Videó: Gyermek alvási edzőóra: 6 lépés (képekkel)
Videó: Лайфхак, как тихо уйти от ребенка 2024, Július
Anonim
Gyermek alvás edző óra
Gyermek alvás edző óra
Gyermek alvás edző óra
Gyermek alvás edző óra
Gyermek alvás edző óra
Gyermek alvás edző óra
Gyermek alvás edző óra
Gyermek alvás edző óra

Szükségem volt egy órára, hogy segítsen a 4 éves ikreimnek kicsit hosszabb ideig aludni (már elegem van abból, hogy szombaton reggel fél 5 -kor kell felkelnem), de még nem tudnak időt olvasni. Miután böngésztem néhány elemet egy nagyon népszerű vásárlási oldalon, azt gondoltam: "Milyen nehéz lenne csak elkészíteni ?!"

Tehát itt azt gondoltam, hogy szeretnék ebben a projektben. Néhány RGB LED -et használna (főleg azért, mert körülbelül ötven van egy másik projektből) három különböző szín megjelenítésére. A piros azt jelentené, hogy menj vissza aludni, korai még felkelni. A sárga azt jelentené, hogy felállhatnak és csendesen játszhatnak a szobájukban. A zöld természetesen azt jelenti, hogy felkelhetsz. Azt is szerettem volna, hogy beállíthassam az időt, mert szeretnék egyes napokon tovább aludni (hétvégén/ünnepnapokon és hétköznapokon).

Kellékek

Raspberry Pi Zero W

Két RGB LED

Hat 220 ohmos ellenállás

A fájlok (.stl, python, html) itt találhatók

Különféle csavarok, vezetékek és apró alkatrészek szükség szerint.

1. lépés: 3D nyomtatás

3D nyomtatás
3D nyomtatás
3D nyomtatás
3D nyomtatás
3D nyomtatás
3D nyomtatás

A lányom nagyon szereti az egyszarvúakat, ezért ehhez a projekthez a Riven02 Unicorn Nightlight-ját remixeltem, amely az Apachcreation Unicorn Trophy remixje, amely megtalálható a Thingiverse.com webhelyen és használható a Creative Commons Non-Commercial licenc alatt. Az unikornis alapot úgy módosítottam, hogy illeszkedjen a málna pi nulla tápkábeléhez. Történetesen AMZ3D Red PLA -t feküdtem körül, így az unikornis alapja és feje vörös lesz. A kürthöz tiszta/áttetsző PLA -t használtam. A használt.stl fájlok és beállítások a következők:

Unicorn.stl

  • Rétegmagasság: 0,02
  • Falvastagság:.8
  • Falvonalak száma: 2
  • Kitöltés: 15%
  • Kitöltési minta: Rács

UnicornBase.stl

  • Rétegmagasság: 0,02
  • Falvastagság:.8
  • Falvonalak száma: 2
  • Kitöltés: 15%
  • Kitöltési minta: Rács

Horn.stl

  • Rétegmagasság: 0,02
  • Falvastagság: 0,8
  • Falvonalak száma: 3
  • Kitöltés: 0

2. lépés: Az áramkör

Az áramkör
Az áramkör
Az áramkör
Az áramkör
Az áramkör
Az áramkör

Az áramkör nagyon egyszerű. Hat különböző GPIO tűt választottam az RGB különböző színeinek ki- és bekapcsolásához. Ezek a csapok és a megfelelő LED -színek:

  • 11 -es tű az RGB 1 RED -hez
  • 13. tű RGB 1 ZÖLD
  • Rögzítse a 15. tűt az RGB 1 KÉK színhez
  • 16. tű RGB 2 RED -re
  • 18 -as érintkező az RGB 2 ZÖLD -hez
  • 36 -os tű az RGB 2 KÉK -hez
  • 39. pin a földhöz

Mindegyik tüske egy 220 ohmos áramkorlátozó ellenálláson keresztül csatlakozik az ellenálláshoz (természetesen a földelés kivételével.) Az ellenállást a sorba forrasztottam, és hőzsugorító csővel letakartam.

3. lépés: A Raspberry Pi előkészítése

Azt akartam, hogy webes felület segítségével beállíthassam az alvás -edző óra óráit. Tehát fel kellett állítanom egy Apache és PHP szervert a Raspberry Pi -n. Az első dolog, amit mindig meg kell tennie, amikor új szoftvert telepít a Raspberry Pi -re, hogy megbizonyosodjon arról, hogy az naprakész, és beírja:

sudo apt-get update

Ezek után tényleg belekezdhetünk az üzletbe. Ezt az Apache2 telepítésével tehetjük meg:

sudo apt -get install apache2 -y

ennek telepítenie kell az Apache webszervert. Ezt tesztelheti a Raspberry pi böngészőjével, és navigálhat a következőkre:

localhost/

vagy egy másik számítógép böngészőjéből navigálva a Raspberry Pi ip -címére. Az ip -cím típusának megkereséséhez:

hosztnév -Én

Ha ezeket elvégzi, az alapértelmezett Apache webszerver -oldalhoz vezet. Ezt a/var/www/html/könyvtárban található index.html lecserélésével lehet megváltoztatni. Lecserélhető saját index.html fájlommal.

Ezután beállítjuk az Apache webszervert PHP fájlok futtatására. Kezdje beírni:

sudo apt-get install php libapache2-mod-php -y

most már el kell helyeznie a sleepset.php fájlt a/var/www/html mappába az index.html fájllal együtt.

Ahhoz, hogy a saját hálózatában erre az oldalra navigáljon, be kell állítania a Raspberry Pi -t statikus ip -címmel (vagy csak megpróbálhatja kitalálni az új IP -címet, amikor a hálózat időnként megújítja). Ahhoz, hogy ez működjön, néhány fájlt szerkesztenie kell. Az /etc/dhcpcd.conf fájlt a következőkkel kell szerkesztenie:

wlan0 interfész

static ip_address = 192.168.1.static routers = 192.168.1.1 static domain_name_servers = 192.168.1.1

Cserélje ki hálózati információival. Az egyetlen dolog, amit most meg kell tennie, az újraindítás.

sudo újraindítás

A fájlok elhelyezése a Google meghajtó linkjéről a következőképpen történjen:

  • Az index.html és a sleepset.php fájlokat a/var/www/html könyvtárba kell helyezni
  • Az sleepset.txt és az sleeptrainer1_1.py fájlokat a/home/pi/pythoncode könyvtárba kell helyezni (tipp: létre kell hoznia ezt a könyvtárat)

Miután ezeket a fájlokat a megfelelő könyvtárba helyezte, az rc.local fájlt módosítani kell, hogy indításkor futtassa a sleeptrainer1_1.py programot. Az rc.local fájl módosításához gyökérszintű hozzáférésre lesz szüksége, ezért írja be:

sudo nano /etc/rc.local

A szerkesztőben görgessen lefelé, és közvetlenül a 0 kilépési sor előtt adja hozzá:

python /home/pi/pythoncode/sleeptrainer1_1.py &

Itt két dologra kell emlékezni:

  1. Használja az abszolút fájlútvonalat, hogy a LINUX ne gondolja, hogy a sleeptraner1_1.py fájl ugyanabban a könyvtárban található, mint az rc.local.
  2. Ne felejtse el a végén az & karaktert (&). ez lehetővé teszi, hogy a LINUX futtassa ezt a fájlt a háttérben, és folytassa az indítást.

Most mentse el a fájlt, írja be a ctrl-x, majd az y billentyűt, amikor a rendszer kéri a mentést, majd az ENTER billentyűt.

Ezután írja be a sudo reboot parancsot.

Itt valahol meg kell említeni, hogy (legalább) meg kell változtatnia a Raspberry Pi jelszavát a passwd paranccsal. Ha még nem tette meg, akkor most jó alkalom lenne.

4. lépés: A kód

A következő kód a SleepTrainer1_1.py fájlból származik. Dátum -idő objektummal hasonlítottam össze az időt a sleepset.txt fájlban olvasottakkal. A szövegfájl egyszerűen két sorból áll: az első órát, a második percet tartalmaz. A sleeptrainer1_1.py egy percig alszik a ciklus -iterációk között, hogy ne kösse össze a processzort. A zöld fény eredetileg túl erősen világított, ezért impulzusszélesség -modulációval tompítottam, amikor pirossal használtam a sárgát.

Python kód:

importálja az RPi. GPIO -t GPIO -ként

dátum és idő dátum importálása dátum importálás idő GPIO.setmode (GPIO. BOARD) GPIO.setwarnings (False) red1 = 11 red2 = 16 green1 = 13 green2 = 18 blue1 = 15 blue2 = 36 GPIO.setup (red1, GPIO. OUT) GPIO.setup (piros2, GPIO. OUT) GPIO.setup (zöld1, GPIO. OUT) GPIO.setup (zöld2, GPIO. OUT) GPIO.setup (kék1, GPIO. OUT) GPIO.setup (kék2, GPIO. OUT) p1 = GPIO. PWM (zöld1, 100) p2 = GPIO. PWM (zöld2, 100) def readset (): setfile = open ("/home/pi/pythoncode/sleepset.txt", 'r') a = setfile. readline () b = setfile.readline () a = int (a) b = int (b) return a, b def ledlight (color): if (color == "red"): GPIO.output (red1, GPIO). HIGH) GPIO.output (piros2, GPIO. HIGH) p1.stop () p2.stop () GPIO.output (blue1, GPIO. LOW) GPIO.output (blue2, GPIO. LOW) elif (color == "blue")): GPIO.output (red1, GPIO. LOW) GPIO.output (red2, GPIO. LOW) p1.stop () p2.stop () GPIO.output (blue1, GPIO. HIGH) GPIO.output (blue2, GPIO). HIGH) elif (szín == "zöld"): GPIO.output (piros1, GPIO. LOW) GPIO.output (piros2, GPIO. LOW) p1.start (100) p2.start (100) GPIO.output (kék1, GPIO. LOW) GPIO.output (blue2, GPIO. LOW) elif (color == "yellow"): p1.start (60) p2.start (60) GPIO.output (red1, GPIO. HIGH) GPIO.output (red2, GPIO. HIGH) GPIO.output (blue1, GPIO. LOW) GPIO.output (blue2, GPIO. LOW) elif (color == "off"): GPIO.output (red1, GPIO. LOW) GPIO.output (red2, GPIO. LOW) GPIO.output (blue1, GPIO. LOW) GPIO.output (blue2, GPIO. LOW) p1.stop () p2.stop (), míg True: settime = readset () óra, perc = beállításidő ha perc == 0: ha dt (dt.now (). év, dt.now (). hónap, dt.now (). nap, óra-2) <dt.now () <dt (dt.now ().year, dt.now (). month, dt.now (). day, hour-1, minute+30): ledlight ("red") elif dt (dt.now (). year, dt.now ().hónap, dt.now (). nap, óra-1, perc+30) <dt.now () <dt (dt.now (). év, dt.now (). hónap, dt.now ().nap, óra, perc): ledlight ("sárga") elif dt (dt.now (). year, dt.now (). month, dt.now (). day, hour, minute) <dt.now () <dt (dt.now (). év, dt.now (). hónap, dt.now (). nap, óra+1, perc): ledlight ("zöld") else: ledlight ("off") elif dt (dt.now (). év, dt.now (). hónap, dt.now (). nap, ho ur-2) <dt.now () <dt (dt.now (). év, dt.now (). hónap, dt.now (). nap, óra, perc-30): ledlight ("piros") elif dt (dt.now (). év, dt.now (). hónap, dt.now (). nap, óra, perc-30) <dt.now () <dt (dt.now (). év, dt.now (). hónap, dt.now (). nap, óra, perc): ledlight ("sárga") elif dt (dt.now (). év, dt.now (). hónap, dt.now ().nap, óra, perc) <dt.now () <dt (dt.now (). év, dt.now (). hónap, dt.now (). nap, óra+1, perc): ledlight ("zöld") else: ledlight ("off") time.sleep (60)

Az index.html fájl egy HTML formátumú alap űrlap. Két szövegdoboz tartalmát átveszi, és átadja a sleepset.php fájlnak űrlapkezelés céljából. A PHP fájl egyszerűen felülírja az sleepset.txt fájlt frissített adatokkal.

5. lépés: Összerakni

Összerakni
Összerakni
Összerakni
Összerakni
Összerakni
Összerakni

Miután befejezte a kódolást és kinyomtatta az összes alkatrészt, itt az ideje az összeszerelésnek. A következő lépéseket követtem az összesítés érdekében:

  1. Fúrjon két kis lyukat az RGB LED -ekhez a kürt alján, és helyezze a LED -eket ezekbe a lyukakba.
  2. Helyezze a kürtöt az egyszarvú fej lyukába, és húzza át, amíg szoros nem lesz. A kürt rögzítéséhez használjon belülről ragasztót.
  3. Csatlakoztassa a Raspberry Pi Zero W -t az egyszarvú fej belsejéhez. (Talán forró ragasztópisztoly használata)
  4. Csatlakoztassa az unikornis fejét az unikornis alapjához.
  5. Csatlakoztassa a tápkábelt, és rögzítse a teljes szerelvényt a falhoz.
  6. Csatlakoztassa az órát.

Ezen a ponton van egy működő Gyermek alvás edző órám.

6. lépés: Egy évvel később…

Egy évvel később …
Egy évvel később …

Egy évvel később:

A lányaim kicsit tovább alszanak. Már megszokhattuk, hogy arra ébredünk, hogy kisgyerekek a szobánkban azt mondják: "Apa, zöld a fény." és ez nagyszerű. Röviden, csak szombaton hajnali 5: 30 -kor kelünk fel, amikor már tervezzük.

Amit a jövőben tervezek fejleszteni:

  • Talán hozzáadhat néhány érzékelőt vagy más elemet, például mikrofont és hangszórókat.
  • Lehet, hogy szerkessze a kódot, hogy hangszóróval működjön, és ébresztőórának használja, mivel a gyerekeim hamarosan iskolába kezdenek.

Ajánlott: