Talaan ng mga Nilalaman:

Clock Training Training ng Mga Bata: 6 na Hakbang (na may Mga Larawan)
Clock Training Training ng Mga Bata: 6 na Hakbang (na may Mga Larawan)

Video: Clock Training Training ng Mga Bata: 6 na Hakbang (na may Mga Larawan)

Video: Clock Training Training ng Mga Bata: 6 na Hakbang (na may Mga Larawan)
Video: Biglang nag Trending sa tiktok Ang Bata na nag dance ng sa malamig🙀 2024, Hulyo
Anonim
Orasan ng Pagsasanay sa Bata sa Mga Bata
Orasan ng Pagsasanay sa Bata sa Mga Bata
Orasan ng Pagsasanay sa Bata sa Mga Bata
Orasan ng Pagsasanay sa Bata sa Mga Bata
Orasan ng Pagsasanay sa Bata sa Mga Bata
Orasan ng Pagsasanay sa Bata sa Mga Bata
Orasan ng Training ng Bata sa Mga Bata
Orasan ng Training ng Bata sa Mga Bata

Kailangan ko ng isang orasan upang matulungan ang aking 4 na taong kambal na matutong matulog nang medyo mas matagal (Mayroon akong sapat na upang gisingin sa 5:30 ng umaga sa Sabado), ngunit hindi pa nila mabasa ang oras. Matapos mag-browse sa ilang mga item sa isang tanyag na site ng pamimili, naisip ko, "Gaano kahirap gawin ang isa lamang ?!"

Kaya narito ang naisip kong gusto ko sa proyektong ito. Gumagamit ito ng ilang RGB LED's (karamihan dahil mayroon akong halos limampu sa kanila mula sa ibang proyekto) upang ipakita ang tatlong magkakaibang mga kulay. Mangangahulugan ang Red na matulog ka, masyadong maaga upang magising. Mangangahulugan ang dilaw na maaari silang bumangon at maglaro ng tahimik sa kanilang silid. Green, syempre nangangahulugang maaari kang bumangon. Nais ko din na ayusin ang oras, dahil nais kong matulog nang mas matagal sa ilang araw (Weekends / Holidays vs Weekday at iba pa).

Mga gamit

Raspberry Pi Zero W

Dalawang RGB LED's

Anim na 220 Ohm resistor

Ang mga file (.stl, python, html) ay matatagpuan dito

Iba't ibang maliliit na turnilyo, wire, at maliliit na bahagi kung kinakailangan.

Hakbang 1: Pag-print sa 3D

Pagpi-print ng 3D
Pagpi-print ng 3D
Pagpi-print ng 3D
Pagpi-print ng 3D
Pagpi-print ng 3D
Pagpi-print ng 3D

Talagang gusto ng aking anak na babae ang mga unicorn, kaya para sa proyektong ito ay na-remix ko ang Unicorn Nightlight ng Riven02, na isang remix ng Unicorn Trophy ng Apachcreation, na matatagpuan sa Thingiverse.com at ginamit sa ilalim ng lisensya ng Creative Commons Non-Commercial. Binago ko ang base ng unicorn upang magkasya ang isang kurdon ng kuryente para sa raspberry pi zero. Nagkaroon ako ng ilang AMZ3D Red PLA na nakalagay, kaya't ang unicorn base at ulo ay magiging pula. Gumamit ako ng malinaw / translucent na PLA para sa sungay. Ang mga.stl na file at setting na ginamit ko ay:

Unicorn.stl

  • Taas ng Layer: 0.02
  • Kapal ng Wall:.8
  • Bilang ng Line Line: 2
  • Mag-infill: 15%
  • Pattern ng Infill: Grid

UnicornBase.stl

  • Taas ng Layer: 0.02
  • Kapal ng Wall:.8
  • Bilang ng Line Line: 2
  • Mag-infill: 15%
  • Pattern ng Infill: Grid

Horn.stl

  • Taas ng Layer: 0.02
  • Kapal ng Wall: 0.8
  • Bilang ng Line Line: 3
  • Mag-infill: 0

Hakbang 2: Ang Circuit

Ang Circuit
Ang Circuit
Ang Circuit
Ang Circuit
Ang Circuit
Ang Circuit

Ang circuit ay medyo madali. Pinili ko ang anim na magkakaibang mga GPIO pin upang makontrol ang on / off para sa iba't ibang kulay ng RGB. Ang mga pin at ang kaukulang LED Colors ay:

  • I-pin ang 11 sa RGB 1 RED
  • I-pin ang 13 sa RGB 1 GREEN
  • I-pin ang 15 sa RGB 1 BLUE
  • I-pin ang 16 sa RGB 2 RED
  • I-pin ang 18 sa RGB 2 GREEN
  • I-pin ang 36 sa RGB 2 BLUE
  • I-pin ang 39 sa Ground

Ang bawat pin ay nakakabit hanggang sa risistor sa pamamagitan ng isang kasalukuyang 220 ohm na naglilimita ng risistor (maliban sa ground syempre.) Inilagay ko ang linya sa risistor at tinakpan ito ng tubong init na lumiliit.

Hakbang 3: Paghahanda ng Raspberry Pi

Nais kong makapagtakda ng mga oras para sa orasan ng trainer ng pagtulog gamit ang isang web interface. Kaya kailangan kong mag-set up ng Apache at PHP Server sa Raspberry Pi. Ang unang bagay na dapat mong palaging gawin kapag nag-install ng bagong software sa isang Raspberry Pi ay upang matiyak na napapanahon ito sa pamamagitan ng pag-type:

sudo apt-get update

Pagkatapos nito, maaari na tayong makapagsimula sa negosyo. Gagawin namin iyon sa pamamagitan ng pag-install ng Apache2:

sudo apt-get install apache2 -y

dapat itong mai-install ang Apache web server. Maaari mo itong subukan sa pamamagitan ng paggamit ng isang browser sa Raspberry pi at pag-navigate sa:

localhost /

o sa pamamagitan ng pag-navigate mula sa browser ng ibang computer papunta sa ip address ng iyong Raspberry Pi. Upang mahanap ang uri ng iyong ip address:

hostname -ako

Ang paggawa nito ay hahantong sa isang default na pahina ng Apache Web Server. Maaari itong mabago sa pamamagitan ng pagpapalit ng index.html na matatagpuan sa direktoryo / var / www / html /. Maaari itong mapalitan ng aking sariling index.html file.

Susunod ay i-set up namin ang Apache web server upang makapagpatakbo ng mga PHP file. Magsimula sa pamamagitan ng pagta-type:

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

dapat mo na ngayong mailagay ang file ng sleepset.php sa / var / www / html kasama ang index.html file.

Upang mag-navigate sa pahinang ito sa iyong sariling network, kakailanganin mong i-set up ang iyong Raspberry Pi gamit ang isang static ip address (o maaari mo lamang subukang alamin ang bagong ip address kapag binago ito ng iyong network ngayon at pagkatapos). Kakailanganin mong i-edit ang isang pares ng mga file upang ito gumana. Kakailanganin mong i-edit ang /etc/dhcpcd.conf file kasama ang mga sumusunod:

interface wlan0

static ip_address = 192.168.1.static router = 192.168.1.1 static domain_name_servers = 192.168.1.1

Palitan ng impormasyon ng iyong network. Ang tanging bagay na kakailanganin mong gawin ngayon ay ang pag-reboot.

sudo reboot

Ang paglalagay ng mga file mula sa link ng Google drive ay dapat na tulad ng sumusunod:

  • index.html at sleepset.php dapat ilagay sa direktoryo / var / www / html
  • Ang sleepset.txt at sleeptrainer1_1.py ay dapat ilagay sa direktoryo ng / home / pi / pythoncode (hint: kakailanganin mong likhain ang direktoryo na ito)

Matapos mailagay ang mga file na ito sa tamang direktoryo, kailangang baguhin ang rc.local file upang patakbuhin ang programang sleeptrainer1_1.py sa pagsisimula. Kakailanganin mo ang pag-access sa antas ng root upang mabago ang rc.local file, kaya't i-type ang:

sudo nano /etc/rc.local

Sa editor, mag-scroll pababa, at bago ang linya ng exit 0, idagdag ang:

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

Mayroong dalawang bagay na dapat tandaan dito:

  1. Gamitin ang ganap na filepath upang hindi maisip ng LINUX na ang file ng sleeptraner1_1.py ay matatagpuan sa parehong direktoryo ng rc.local.
  2. Huwag kalimutan ang ampersand (&) sa dulo. papayagan nito ang LINUX na patakbuhin ang file na ito sa background at magpatuloy sa pag-boot.

Ngayon, i-save ang file sa pamamagitan ng pagta-type sa ctrl-x at pagkatapos ay y kapag na-prompt na i-save at pagkatapos ay ENTER.

Pagkatapos i-type ang sudo reboot.

Dapat itong nabanggit sa isang lugar dito na (sa minimum) dapat mong palitan ka ng password ng Raspberry Pi gamit ang passwd command. Kung hindi mo pa nagagawa ito, ngayon ay magiging isang magandang panahon.

Hakbang 4: Ang Code

Ang sumusunod ay ang code mula sa sleeptrainer1_1.py file. Gumamit ako ng isang pansamantalang bagay upang ihambing ang mga oras sa mga nabasa sa file ng sleepset.txt. Ang file ng teksto ay simpleng dalawang linya, ang una para sa oras, ang pangalawa para sa minuto. sleeptrainer1_1.py natutulog nang isang minuto sa pagitan ng mga loop iteration upang hindi maitali ang processor. Ang berdeng ilaw ay orihinal na lumalabas na masyadong maliwanag, kaya't ginamit ko ang modulasyong lapad ng pulso upang malimutan ito kapag ginamit ng pula upang gawing dilaw.

Python code:

i-import ang RPi. GPIO bilang GPIO

mula sa datime import datime bilang dt import time GPIO.setmode (GPIO. BOARD) GPIO.setwarnings (Mali) red1 = 11 red2 = 16 green1 = 13 green2 = 18 blue1 = 15 blue2 = 36 GPIO.setup (red1, GPIO. OUT) GPIO.setup (red2, GPIO. OUT) GPIO.setup (green1, GPIO. OUT) GPIO.setup (green2, GPIO. OUT) GPIO.setup (blue1, GPIO. OUT) GPIO.setup (blue2, GPIO. OUT) p1 = GPIO. PWM (green1, 100) p2 = GPIO. PWM (green2, 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. TAAS) GPIO.output (red2, GPIO. HIGH) p1.stop () p2.stop () GPIO.output (blue1, GPIO. LOW) GPIO.output (blue2, GPIO. LOW) elif (kulay == "asul"): GPIO.output (red1, GPIO. LOW) GPIO.output (red2, GPIO. LOW) p1.stop () p2.stop () GPIO.output (blue1, GPIO. HIGH) GPIO.output (blue2, GPIO. TAAS) elif (kulay == "berde"): GPIO.output (red1, GPIO. LOW) GPIO.output (red2, GPIO. LOW) p1.start (100) p2.start (100) GPIO.output (blue1, GPIO. LOW) GPIO.output (blue2, GPIO. LOW) elif (kulay == "dilaw"): 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 () habang True: settime = readset () hour, minute = settime kung minuto == 0: kung dt (dt.now (). taon, dt.now (). buwan, dt.now (). araw, oras-2) <dt.now () <dt (dt.now ().year, dt.now (). buwan, dt.now (). araw, oras-1, minuto + 30): ledlight ("pula") elif dt (dt.now (). taon, dt.now ().month, dt.now (). araw, oras-1, minuto + 30) <dt.now () <dt (dt.now (). taon, dt.now (). buwan, dt.now ().hapon, oras, minuto): ledlight ("dilaw") elif dt (dt.now (). taon, dt. ngayon (). buwan, dt. ngayon (). araw, oras, minuto) <dt.now () <dt (dt.now (). taon, dt.now (). buwan, dt.now (). araw, oras + 1, minuto): ledlight ("berde") iba pa: ledlight ("off") elif dt (dt.now (). taon, dt.now (). buwan, dt.now (). araw, ho ur-2) <dt.now () <dt (dt.now (). taon, dt.now (). buwan, dt.now (). araw, oras, minuto-30): ledlight ("pula") elif dt (dt.now (). taon, dt.now (). buwan, dt.now (). araw, oras, minuto-30) <dt.now () <dt (dt.now (). taon, dt.now (). buwan, dt.now (). araw, oras, minuto): ledlight ("dilaw") elif dt (dt.now (). taon, dt.now (). buwan, dt.now ().day, hour, minute) <dt.now () <dt (dt.now (). year, dt.now (). month, dt.now (). day, hour + 1, minute): ledlight ("berde") iba pa: ledlight ("off") oras. pagtulog (60)

Ang file index.html ay isang pangunahing form na idinisenyo sa HTML. Kinukuha ang mga nilalaman ng dalawang mga text box at ipinapasa ito sa file ng sleepset.php para sa paghawak ng form. Ang PHP file ay simpleng pinapapatong ang file ng sleepset.txt na may na-update na data.

Hakbang 5: Pagsasama-sama sa Lahat ng Ito

Pagsasama-sama sa Lahat ng Ito
Pagsasama-sama sa Lahat ng Ito
Pagsasama-sama sa Lahat ng Ito
Pagsasama-sama sa Lahat ng Ito
Pagsasama-sama sa Lahat ng Ito
Pagsasama-sama sa Lahat ng Ito

Natapos ang pag-coding at naka-print ang lahat ng mga bahagi, oras na para sa pagpupulong. Sinunod ko ang mga hakbang na ito para sa pagsasama-sama ng lahat:

  1. Mag-drill ng dalawang maliliit na butas na may sukat sa RGB LED's sa Ibaba ng sungay at ilagay ang LEDS sa mga butas na ito.
  2. Ilagay ang sungay sa butas sa ulo ng unicorn at hilahin ito hanggang sa masikip ito. Gumamit ng pandikit mula sa loob upang ma-secure ang sungay.
  3. Ikabit ang Raspberry Pi Zero W sa loob ng unicorn head. (Paggamit ng Hot Glue Gun Siguro)
  4. Ikabit ang ulo ng unicorn sa base ng unicorn.
  5. Ikabit ang kurdon ng kuryente, at ilakip ang buong pagpupulong sa dingding.
  6. Isaksak ang orasan.

Sa puntong ito mayroon akong gumaganang Oras ng Sleep Trainer ng Mga Bata.

Hakbang 6: Pagkaraan ng Isang Taon…

Pagkaraan ng Isang Taon…
Pagkaraan ng Isang Taon…

Pagkalipas ng isang taon:

Ang aking mga batang babae ay natutulog nang kaunti pa. Nasanay na kaming gumising sa maliliit na bata sa aming silid na sinasabi, "Tatay, ang ilaw ay berde." at iyon ay mahusay. Mahabang kwento, gisingin lamang kami ng 5:30 AM sa isang Sabado kapag plano na namin ito.

Mga bagay na pinaplano kong pagbutihin sa hinaharap:

  • Siguro pagdaragdag ng ilang mga sensor o iba pang mga item tulad ng isang mic at mga speaker.
  • Siguro i-edit ang code upang gumana sa isang nagsasalita upang magamit bilang isang alarm clock dahil ang aking mga anak ay magsisimulang mag-aral sa lalong madaling panahon.

Inirerekumendang: