Բովանդակություն:

Երեխաների քնի ուսուցման ժամացույց ՝ 6 քայլ (նկարներով)
Երեխաների քնի ուսուցման ժամացույց ՝ 6 քայլ (նկարներով)

Video: Երեխաների քնի ուսուցման ժամացույց ՝ 6 քայլ (նկարներով)

Video: Երեխաների քնի ուսուցման ժամացույց ՝ 6 քայլ (նկարներով)
Video: Երեխայի մարմնի 7 ժեստ, որոնք ՊԵՏՔ է իմանա յուրաքանչյուր ծնող 2024, Հուլիսի
Anonim
Երեխաների քնի ուսուցման ժամացույց
Երեխաների քնի ուսուցման ժամացույց
Երեխաների քնի ուսուցման ժամացույց
Երեխաների քնի ուսուցման ժամացույց
Երեխաների քնի ուսուցման ժամացույց
Երեխաների քնի ուսուցման ժամացույց
Երեխաների քնի ուսուցման ժամացույց
Երեխաների քնի ուսուցման ժամացույց

Ինձ ժամացույց էր պետք, որպեսզի օգներ իմ 4 տարեկան երկվորյակներին մի փոքր ավելի երկար ժամանակ սովորել քնել (արդեն բավական է, որ ստիպված եմ արթնանալ շաբաթ օրերին առավոտյան 5: 30 -ին), բայց նրանք դեռ ժամանակ չեն կարողանում կարդալ: Շատ հայտնի գնումների կայքում մի քանի իրեր թերթելուց հետո ես մտածեցի. «Որքա՞ն դժվար կլիներ պարզապես պատրաստել»:

Այսպիսով, ահա այն, ինչ ես մտածեցի, որ ուզում էի այս նախագծում: Երեք տարբեր գույներ ցուցադրելու համար այն կօգտագործեր որոշ RGB LED (հիմնականում այն պատճառով, որ դրանցից մոտ հիսունն ունեմ մեկ այլ նախագծից): Կարմիրը կնշանակի վերադառնալ քնելու, դեռ վաղ է արթնանալ: Դեղինը կնշանակի, որ նրանք կարող են վեր կենալ և հանգիստ խաղալ իրենց սենյակում: Կանաչը, իհարկե, նշանակում է, որ կարող ես վեր կենալ: Նաև ցանկանում էի, որ կարողանամ հարմարեցնել ժամանակը, որովհետև կցանկանայի որոշ օրեր ավելի երկար քնել (հանգստյան օրեր/արձակուրդներ vs աշխատանքային օրեր և այլն):

Պարագաներ

Ազնվամորի Pi Zero W

Երկու RGB LED

Վեց 220 Օմ դիմադրություն

Այստեղ գտնված ֆայլերը (.stl, python, html)

Անհրաժեշտության դեպքում տարբեր փոքր պտուտակներ, լարեր և փոքր մասեր:

Քայլ 1: 3D տպագրություն

3D տպագրություն
3D տպագրություն
3D տպագրություն
3D տպագրություն
3D տպագրություն
3D տպագրություն

Աղջիկս իսկապես միաեղջյուրների նման է, ուստի այս նախագծի համար ես վերամշակեցի Riven02- ի Unicorn Nightlight- ը, որը Apachcreation- ի Unicorn Trophy- ի ռեմիքսն է, որը կարելի է գտնել Thingiverse.com կայքում և օգտագործել Creative Commons ոչ առևտրային լիցենզիայի ներքո: Ես փոփոխեցի միաեղջյուրի հիմքը, որպեսզի տեղավորվի հոսանքի լարը ազնվամորու պի զրոյի համար: Ինձ պատահեց, որ AMZ3D Red PLA- ն շուրջս է տեղադրված, այնպես որ միաեղջյուրի հիմքն ու գլուխը կարմիր կլինեն: Ես օգտագործել եմ թափանցիկ/կիսաթափանցիկ PLA բեղիկի համար:. Stl ֆայլերն ու օգտագործած պարամետրերն են.

Միաեղջյուր. Stl

  • Շերտի բարձրությունը `0.02
  • Պատի հաստությունը.8
  • Պատի գծերի քանակը `2
  • Լցնել ՝ 15%
  • Լրացման ձև. Ridանց

UnicornBase.stl

  • Շերտի բարձրությունը `0.02
  • Պատի հաստությունը.8
  • Պատի գծերի քանակը `2
  • Լցնել ՝ 15%
  • Լրացման ձև. Ridանց

Horn.stl

  • Շերտի բարձրությունը `0.02
  • Պատի հաստությունը `0,8
  • Պատի գծերի քանակը `3
  • Լցնել ՝ 0

Քայլ 2: Շղթան

The Circuit
The Circuit
The Circuit
The Circuit
The Circuit
The Circuit

Շղթան բավականին հեշտ է: Ես ընտրեցի վեց տարբեր GPIO կապում ՝ RGB- ի տարբեր գույների միացում/անջատումը վերահսկելու համար: Այդ կապումներն ու համապատասխան LED Գույներն են.

  • Կցեք 11 -ը RGB 1 ԿԱՐՄԻՐ
  • Ամրացրեք 13 -ը RGB 1 GREEN- ին
  • Կցեք 15 -ը RGB 1 BLUE- ին
  • Կցեք 16 -ը RGB 2 RED- ին
  • Կցեք 18 -ը RGB 2 GREEN- ին
  • Կցեք 36 -ը RGB 2 BLUE- ին
  • Ամրացրեք 39 -ը գետնին

Յուրաքանչյուր քորոց ամրացվում է դիմադրիչին 220 օմ հոսանքի սահմանափակող դիմադրության միջոցով (իհարկե, բացառությամբ գետնի): Ես ռեզիստորը շարել եմ շարքում և ծածկել այն ջերմության նվազեցման խողովակով:

Քայլ 3. Ազնվամորու Պի պատրաստում

Ես ուզում էի, որ կարողանայի վեբ ինտերֆեյսի միջոցով քնի վարժեցնող ժամացույցի ժամեր սահմանել: Այսպիսով, ես պետք է Apache և PHP սերվեր ստեղծեի Raspberry Pi- ի վրա: Առաջին բանը, որ դուք միշտ պետք է անեք Raspberry Pi- ի վրա նոր ծրագրակազմ տեղադրելիս, համոզվելն է, որ այն արդիական է ՝ մուտքագրելով.

sudo apt-get թարմացում

Դրանից հետո մենք իսկապես կարող ենք գործի անցնել: Մենք դա կանենք ՝ տեղադրելով Apache2- ը.

sudo apt -get տեղադրել apache2 -y

սա պետք է տեղադրի Apache վեբ սերվերը: Դուք կարող եք դա ստուգել ՝ օգտագործելով Raspberry pi- ի դիտարկիչը և նավարկելով դեպի.

localhost/

կամ այլ համակարգչի դիտարկիչից նավարկելով ձեր Raspberry Pi- ի IP հասցեով: Ձեր IP հասցեն գտնելու համար.

հյուրընկալողի անունը -I

Սրանք անելը կհանգեցնի Apache վեբ սերվերի կանխադրված էջի: Սա կարող է փոխվել ՝ փոխարինելով index.html- ին, որը գտնվում է/var/www/html/գրացուցակում: Այն կարող է փոխարինվել իմ սեփական index.html ֆայլով:

Հաջորդը մենք կստեղծենք Apache վեբ սերվերը, որպեսզի կարողանանք գործարկել PHP ֆայլերը: Սկսեք ՝ մուտքագրելով.

sudo apt-get տեղադրել php libapache2-mod-php -y

այժմ պետք է կարողանաք sleepset.php ֆայլը տեղադրել/var/www/html- ում index.html ֆայլով:

Ձեր սեփական ցանցում այս էջին նավարկելու համար ձեզ հարկավոր է կարգավորել ձեր Raspberry Pi- ն ստատիկ ip հասցեով (կամ կարող եք պարզապես փորձել պարզել նոր IP հասցեն, երբ ձեր ցանցը ժամանակ առ ժամանակ այն թարմացնի): Որպեսզի դա աշխատի, ձեզ հարկավոր է խմբագրել մի քանի ֆայլ: Դուք պետք է խմբագրեք /etc/dhcpcd.conf ֆայլը հետևյալով.

ինտերֆեյս wlan0

ստատիկ ip_address = 192.168.1.static routers = 192.168.1.1 ստատիկ տիրույթի_անուն_ սերվերներ = 192.168.1.1

Փոխարինեք ձեր ցանցի տեղեկատվությամբ: Միակ բանը, որ ձեզ հարկավոր է անել հիմա, վերագործարկումն է:

sudo վերագործարկում

Google Drive- ի հղումից ֆայլերի տեղադրումը պետք է լինի հետևյալը.

  • index.html և sleepset.php պետք է տեղադրվեն/var/www/html գրացուցակում
  • sleepset.txt և sleeptrainer1_1.py պետք է տեղադրվեն/home/pi/pythoncode գրացուցակում (ակնարկ. դուք պետք է ստեղծեք այս գրացուցակը)

Այս ֆայլերը ճիշտ գրացուցակում տեղադրելուց հետո, rc.local ֆայլը պետք է փոփոխվի `գործարկման ժամանակ sleeptrainer1_1.py ծրագիրը գործարկելու համար: Rc.local ֆայլը փոփոխելու համար ձեզ հարկավոր կլինի արմատային մակարդակի մուտք, այնպես որ մուտքագրեք.

sudo nano /etc/rc.local

Խմբագրիչում ոլորեք ներքև և 0 ելքի տողից անմիջապես առաջ ավելացրեք.

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

Այստեղ երկու բան պետք է հիշել.

  1. Օգտագործեք բացարձակ ֆայլուղին, որպեսզի LINUX- ը չմտածի, որ sleeptraner1_1.py ֆայլը գտնվում է rc.local- ի նույն գրացուցակում:
  2. Վերջում մի մոռացեք ամպերսանդը (&): սա թույլ կտա LINUX- ին գործարկել այս ֆայլը հետին պլանում և շարունակել բեռնվելը:

Այժմ, պահպանեք ֆայլը `մուտքագրելով ctrl-x, այնուհետև y, երբ պահանջվում է պահել, այնուհետև ENTER:

Այնուհետև մուտքագրեք sudo reboot:

Այստեղ ինչ -որ տեղ պետք է նշվի, որ (նվազագույնը) դուք պետք է փոխեք ձեր Raspberry Pi գաղտնաբառը ՝ օգտագործելով passwd հրամանը: Եթե դեռ չեք արել դա, հիմա լավ ժամանակ կլիներ:

Քայլ 4: Կոդ

Ստորև բերված է ծածկագիրը sleeptrainer1_1.py ֆայլից: Ես օգտագործել եմ datetime օբյեկտ ՝ ժամանակները համեմատելու համար sleepset.txt ֆայլում կարդացածների հետ: Տեքստային ֆայլը պարզապես երկու տող է, առաջինը ՝ ժամով, երկրորդը ՝ րոպեով: sleeptrainer1_1.py- ն մեկ րոպե քնում է հանգույցի կրկնությունների միջև `պրոցեսորը չկապելու համար: Կանաչ լույսն ի սկզբանե չափազանց պայծառ էր դուրս գալիս, ուստի ես օգտագործեցի զարկերակի լայնության մոդուլյացիան ՝ այն մգացնելու համար, երբ կարմիրով օգտագործվում էր դեղին:

Python կոդ:

ներմուծեք RPi. GPIO- ն որպես GPIO

datetime- ից ներմուծել datetime որպես dt ներմուծման ժամանակ 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 (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) վերադարձնել a, b def լուսարձակը (գույնը). եթե (գույն == «կարմիր») ՝ GPIO.output (red1, GPIO Բարձր) GPIO.output (red2, GPIO. HIGH) p1.stop () p2.stop () GPIO.output (blue1, GPIO. LOW) GPIO.output (blue2, GPIO. LOW) elif (գույն == «կապույտ») 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 (գույն == «կանաչ») ՝ 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 (գույն == «դեղին») ՝ 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 () while True: settime = readset () ժամ, րոպե = settime եթե րոպե == 0: եթե dt (dt.now (). տարի, dt.now (). ամիս, dt.now (). օր, ժամ -2) <dt.now () <dt (dt.now (). տարի, dt.now (). ամիս, dt.now (). օր, ժամ -1, րոպե+30). լուսարձակ («կարմիր») elif dt (dt.now (). տարի, dt.now (ամիս.. օր, ժամ, րոպե). լուսարձակ («դեղին») elif dt (dt.now (). տարի, dt.now (). ամիս, dt.now (). օր, ժամ, րոպե) <dt.now () <dt (dt.now (). տարի, dt.now (). ամիս, dt.now (). օր, ժամ+1, րոպե). լուսարձակ ("կանաչ") այլ. լուսարձակ ("անջատված") elif dt (dt.now (). տարի, dt.now (). ամիս, dt.now (). օր, ho ur-2) <dt.now () <dt (dt.now (). տարի, dt.now (). ամիս, dt.now (). օր, ժամ, րոպե -30). լուսարձակ («կարմիր») elif dt (dt.now (). տարի, dt.now (). ամիս, dt.now (). օր, ժամ, րոպե -30) <dt.now () <dt (dt.now () տարի, dt.now (). ամիս, dt.now (). օր, ժամ, րոպե). լուսարձակ («դեղին») elif dt (dt.now (). տարի, dt.now (). ամիս, dt.now (). օր, ժամ, րոպե) <dt.now () <dt (dt.now (). տարի, dt.now (). ամիս, dt.now (). օր, ժամ+1, րոպե): լուսարձակ («կանաչ») այլ. լուսարձակ («անջատված») ժամանակը: քուն (60)

Index.html ֆայլը HTML- ում ձևավորված հիմնական ձև է: Այն վերցնում է երկու տեքստային տուփերի բովանդակությունը և դրանք փոխանցում sleepset.php ֆայլին ՝ ձևը մշակելու համար: PHP ֆայլը պարզապես փոխարինում է sleepset.txt ֆայլին ՝ թարմացված տվյալներով:

Քայլ 5: Ամեն ինչ միասին դնել

Այդ ամենը միասին դնելը
Այդ ամենը միասին դնելը
Այդ ամենը միասին դնելը
Այդ ամենը միասին դնելը
Այդ ամենը միասին դնելը
Այդ ամենը միասին դնելը

Երբ ծածկագրումն ավարտված է և բոլոր մասերը տպված են, հավաքման ժամանակն է: Ես հետևեցի այս քայլերին ՝ ամեն ինչ հավաքելու համար.

  1. Հորատեք ներքևի RGB LED- ների չափի երկու փոքր անցք և տեղադրեք LEDS- ն այս անցքերի մեջ:
  2. Տեղադրեք եղջյուրը միաեղջյուրի գլխի անցքի մեջ և քաշեք այն մինչև այն ամուր: Օգտագործեք սոսինձ ներսից ՝ եղջյուրը ամրացնելու համար:
  3. Կցեք Raspberry Pi Zero W- ը միաեղջյուրի գլխի ներսում: (Գուցե տաք սոսինձ ատրճանակ օգտագործելը)
  4. Կցեք միաեղջյուրի գլուխը միաեղջյուրի հիմքին:
  5. Կցեք հոսանքի լարը և ամրացրեք ամբողջ հավաքածուն պատին:
  6. Միացրեք ժամացույցը:

Այս պահին ես ունեմ գործող մանկական քնի վարժեցնող ժամացույց:

Քայլ 6: Մեկ տարի անց…

Մեկ տարի անց …
Մեկ տարի անց …

Մեկ տարի անց:

Աղջիկներս մի փոքր երկար են քնում: Մենք սովոր ենք արթնացնել մեր սենյակի փոքրիկ երեխաներին `ասելով.« Հայրիկ, լույսը կանաչ է »: և դա հիանալի է: Կարճ ասած, մենք արթնանում ենք միայն շաբաթ օրը, առավոտյան 5: 30 -ին, երբ դա այլևս պլանավորում ենք:

Այն, ինչ ես նախատեսում եմ բարելավել ապագայում.

  • Միգուցե մի քանի սենսորներ կամ խոսափողի և բարձրախոսների նման այլ իրեր ավելացնելը:
  • Միգուցե խոսափողի հետ աշխատելու կոդը խմբագրեմ, որպեսզի այն օգտագործվի որպես զարթուցիչ, քանի որ իմ երեխաները շուտով կսկսեն դպրոցը:

Խորհուրդ ենք տալիս: