Բովանդակություն:
- Պարագաներ
- Քայլ 1: Ազնվամորու Pi- ի կարգավորում
- Քայլ 2: Էլեկտրոնիկայի միացում
- Քայլ 3: Տվյալների բազայի ձևավորում
- Քայլ 4: Arduino- ի կարգավորում
- Քայլ 5: Ազնվամորի Պի հետընթաց
- Քայլ 6: Գործ
Video: Wake Me Up - խելացի զարթուցիչ `6 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
Wake me up- ը խելացի զարթուցիչ է, որը կարող է օգտագործվել նաև որպես խելացի լույս:
Ներկառուցված լուսարձակը նմանեցնում է ձեր սենյակ մտնող բնական լույսը: Սա հնարավորություն է տալիս հանգիստ, բնական ճանապարհով սկսել ձեր օրը:
Alarmարթուցիչը հագեցած է նաև 4*7 հատվածի էկրանով ՝ ժամանակը կարդալու համար, բարձրախոսներ ՝ ձեր նախընտրած երաժշտությամբ արթնանալու համար, հպման կոճակ, լուսադիոդ ՝ լուսամփոփի պայծառությունը հարմարեցնելու և ջերմաստիճանի տվիչ, որը կարող եք օգտագործել դիտելու համար: ձեր սենյակի ջերմաստիճանը:
Պարագաներ
Իմ վճարած ճշգրիտ գների ցանկը կարելի է գտնել այստեղ.
Միկրոկոնտրոլերներ և համակարգիչներ.
Ազնվամորի Pi 4I- ն օգտագործել է ազնվամորի pi 4 4GB- ն, այնուամենայնիվ, ցանկացած ազնվամորի pi 3+ մոդելը պետք է լավ լինի:
Արդուինո Ունո
Արդուինոն օգտագործվում է 4*7 հատվածի ժամացույցի ցուցադրումը վերահսկելու համար:
Սենսորներ:
- TMP36: ջերմաստիճանի տվիչ
- LDR: Լույսի կախված դիմադրություն
Գործարկիչներ.
- WS2801. Անհատապես հասցեվող լուսամփոփ
- LCD էկրան ՝ 16*2 LCD էկրան:
- 4*7 հատվածի ժամացույցի ցուցադրում
IC- ները `
- 74HC595. Shiftregister LCD էկրանին
- MCP3008: 8-բիթ անալոգային թվային փոխարկիչ
- Տրամաբանական մակարդակի փոխարկիչ. Օգտագործվում է raspi- ի և arduino- ի միջև հաղորդակցվելու համար
Այլ իրեր.
- Բարձրախոսներին սնուցող adafruit MAX9744 ուժեղացուցիչ
- Speakerանկացած բարձրախոս, ես օգտագործել եմ Visaton 4 Օմ 8 Վտ հզորությամբ բարձրախոս (արվեստ. Թիվ 2240)
- 9 վոլտ հզորություն ՝ ուժեղացուցիչին սնուցելու համար
- 5 վոլտ էլեկտրամատակարարում ՝ լուսամփոփի և այլ բաղադրիչների մատակարարման համար: Հիշեք, որ լուսարձակի յուրաքանչյուր հոսանք կարող է նվազել 60 մԱ, այնպես որ համոզվեք, որ ձեր էներգիայի մատակարարումը բավարար է:
- Մի քանի 220 Օմ դիմադրություն
- Մի փոքրիկ տախտակ ՝ ձեր պատյանում դնելու համար:
Գործիքներ:
- Soldոդման երկաթ:
- Գործը դարձնելու համար ինչ -որ բան (փայտե էֆեկտ ստանալու համար ես օգտագործել եմ 3D տպիչ PLA և PETG և վինիլային կպչուն պիտակներ):
Քայլ 1: Ազնվամորու Pi- ի կարգավորում
Ազնվամորու pi- ն մեր հիմնական միկրո վերահսկիչն է:
Ազնվամորու pi- ն վարում է մեր տեղական վեբ սերվերը, տվյալների բազան, վերահսկում է ledstrip- ը, բարձրախոսները,…
Մաս 1. Raspbian- ի տեղադրում
Օգտագործեք այս ձեռնարկը ՝ raspbian- ը տեղադրելու համար ՝
Համոզվեք, որ SSH- ն միացված է
Մաս 2: Միացում
Ինտերնետին միանալու համար հարկավոր է մուտք գործել ձեր ազնվամորի պի տերմինալ: Խորհուրդ եմ տալիս օգտագործել ծեփոն: Տերմինալի տեսակում.
wpa_passphrase "YourNetwork" "YourSSID" >> /etc/wpa_supplicant/wpa_supplicant.conf
«YourNetwork» - ը ձեր wifi ցանցի անունն է, իսկ «YourSSID» - ը ՝ ցանցի գաղտնաբառը:
Addedանցը ավելացնելուց հետո փորձեք վերագործարկել Raspberry Pi- ն:
Մուտքագրեք «ping 8.8.8.8» հրամանը: Սա փաթեթ կուղարկի google սերվերներին, եթե պատասխան ստանաք, ձեր ցանցը կազմաձևված է և աշխատում է:
Մաս 3: Տեղադրեք անհրաժեշտ ծրագրերը
Այս նախագիծը գործարկելու համար մեզ անհրաժեշտ կլինի տեղադրել լրացուցիչ ծրագրեր:
Սկսելուց առաջ գործարկեք այս 2 հրամանը `համոզվելու համար, որ ամեն ինչ արդիականացված է:
sudo apt թարմացում
sudo apt բարելավում
Սա կարող է որոշ ժամանակ տևել:
Ապաչի
sudo apt տեղադրել apache2 -y
sudo apt տեղադրել php libapache2-mod-php -y
ՄարիաԴԲ
sudo apt տեղադրել mariadb-server mariadb-client -y
sudo apt տեղադրել php -mysql -y
PHPMyAdmin
sudo apt տեղադրել phpmyadmin -y
Python pip
Մենք պետք է տեղադրենք pip, որպեսզի հնարավորություն տանք որոշ պիթոնային գրադարաններ
pip3 տեղադրել mysql-connector-python
pip3 տեղադրել flask-socketio
pip3 տեղադրել flask-cors
pip3 տեղադրել gevent
pip3 տեղադրել gevent-websocket
Քայլ 2: Էլեկտրոնիկայի միացում
Ես ավելացրել եմ 2 սխեմա, 1 -ը փորձարկման նպատակների համար նախատեսված տախտակի սխեման է: Ես խորհուրդ եմ տալիս կառուցել առաջին սխեման և փորձել ստանալ կոդը:
Ստորև ես ավելացրել եմ ցնցող ֆայլերը:
Քայլ 3: Տվյալների բազայի ձևավորում
Սա իմ պատրաստած տվյալների բազայի սխեման է: Բառերը հոլանդերեն են, բայց ես մանրամասն կբացատրեմ յուրաքանչյուր աղյուսակ:
Աղյուսակ 1. tblMuziek
Սա բավականին հիմնական սեղան է: Այն փրկում է նկարչի անունը, երգի անունը և երգի ֆայլի անունը:
Աղյուսակ 2: tblLedstrip
Այս աղյուսակը հետևում է ledstrip- ի ներկա վիճակին, այն փրկում է ledstrip- ի վիճակը: Սա մեզ անհրաժեշտ է խելացի լուսավորության գործառույթի համար:
Աղյուսակ 3: tblSensoren
Այս աղյուսակը հետևում է մեր ահազանգի սենսորներին: Մենք պահում ենք սենսորի անունը և MCP3008- ի ալիքը
Աղյուսակ 4: tbl Հանդիպում
Այս աղյուսակը պահում է մեր տվիչների արժեքները ՝ դրանց ժամանակի հետ միասին:
Աղյուսակ 5: tblWekker
Այս սեղանը պահում է ձեր զարթուցիչի գաղտնաբառը և անունը (օրինակ ՝ ննջասենյակ) Այս սեղանը պարտադիր չէ, բայց ես այն ավելացրել եմ, քանի որ ենթադրում եմ, որ ձեր տանը կունենաք ավելի քան 1 զարթուցիչ:
Աղյուսակ 6: tblAlarrm
Սա թերևս ամենակարևոր սեղանն է: Այն հետևում է ձեր տեղադրած ահազանգերին և այն, ինչ պետք է անի ժամացույցը (ո՞ր երգը նվագել, որն է հաջորդականությունը, ո՞ր օրերին պետք է անջատվի,…): Շատ կարևոր է 2 ամսաթվերին հետևելը: 1 ամսաթիվ օգտագործվում է պահելու համար, թե որ ժամին պետք է ազդանշանը միանա: Մյուսը հետևում է, թե երբ է վերջին անգամ ահազանգ եղել: Որպեսզի իմանամ, թե որ աշխատանքային օրը պետք է անջատվի, ես օգտագործեցի մի varchar, որը պարունակում է 7 թվանշան: Առաջին նիշը երկուշաբթի է, երկրորդ երեքշաբթի,… Եթե դա 1 է, ապա այն պետք է անջատվի, եթե 0 է ՝ չպետք է: Օրինակ ՝ 1111100 սա նշանակում է, որ այս ահազանգը պետք է անջատվի երկուշաբթի, երեքշաբթի, չորեքշաբթի, հինգշաբթի և ուրբաթ օրերին:
Քայլ 4: Arduino- ի կարգավորում
Այս քայլը շատ հեշտ է: Հաջորդ քայլին կլինի իմ github- ի հղումը, որտեղից կարող եք ներբեռնել arduino ֆայլը:
Ի՞նչ է անում ծրագիրը:
Waրագիրը սպասում է սերիական տվյալների մուտքին pi- ից:
Տվյալներն ստանալուն պես այն վերլուծվում է տողի միջով և հետ է ուղարկում հաստատում pi- ին:
Լարը կլինի այսպիսի մի բան. '1201' սա նշանակում է, որ այն 12:01 է: Ես օգտագործել եմ ընդհանուր անոդ 7 հատվածի ցուցադրում, ինչը նշանակում է, որ Թվերը պետք է լինեն բարձր, իսկ A, B, C, D, E, F, G և DP- ն `ցածր` դրանք միացնելու համար: Եթե դուք օգտագործում եք ընդհանուր կաթոդ, դուք պարզապես պետք է փոխեք HIGH- ը LOW- ին և LOW- ը `HIGH- ին:
Ահա հղում ՝ ավելի շատ տեղեկություններով, թե ինչպես են աշխատում 7 հատվածի էկրանները: (գրադարանի օգտագործմամբ).
www.instructables.com/id/Using-a-4-digit-7…
Ահա հղում 7 հատվածի ցուցադրումների մասին ՝ առանց գրադարանի օգտագործման.
create.arduino.cc/projecthub/SAnwandter1/p…
Քայլ 5: Ազնվամորի Պի հետընթաց
Դուք կարող եք ներբեռնել իմ կոդը Github- ի միջոցով: (https://github.com/VanHevelNico/WakeMeUp)
Ինչպես տեղադրել ծրագիրը
Հետին պլանը գրված է պիթոնում `օգտագործելով տափաշիշ: Կարող եք կատարել ծառայություն, որն ինքնաբերաբար սկսում է այս ծրագիրը (app.py):
Դուք պետք է տեղադրեք առջևի ծածկագիրը apache սերվերի html ֆայլում, որը մենք ներբեռնել էինք ավելի վաղ: (/var/html)
Ինչպե՞ս է աշխատում ծրագիրը:
Երբ զարթուցիչը միացված է, գնացեք ձեր ժամացույցի IP հասցեն (այն կցուցադրվի LCD- ում)
Հենց որ ձեր դիտարկիչում մուտք գործեք այդ IP հասցեն, ձեր համակարգիչը socket.io- ի հարցումը կուղարկի backend- ին ՝ ասելով, որ հաճախորդը միացել է: Երբ հետնապահը ստանա սա, մի քանի թեմա կսկսվի, որոնք ես կբացատրեմ ստորև:
Կարգավորում
Սա intializes բոլոր անհրաժեշտ օբյեկտները.
GetTemp
Սա կարդում է mcp3008 ալիքը 0 և երկուական տվյալները փոխակերպում է իրական ջերմաստիճանի և տվյալների բազայում դնում ընթացիկ ամսաթվով և ժամով:
GetTempGrafiek
Սա ստանում է ջերմաստիճանի տվիչի վերջին 20 արժեքները և թողարկում այն դեպի առջև:
tijd_sturen
Այս մեթոդը ստանում է ընթացիկ ժամանակը և ստուգում, թե արդյոք րոպեն փոխվել է: Եթե այն փոխվել է, ծրագիրը սերիական հաղորդակցության միջոցով նոր ժամանակ է ուղարկում arduino- ին
checkAlarmen
Սա ամենակարևոր մեթոդն է: Այն ստանում է միացված բոլոր ահազանգերը և ստուգում է, թե արդյոք այս ահազանգերից որևէ մեկը պետք է գործի այս պահից մինչև 5 րոպե առաջ (սա բուֆեր է `համոզվելու համար, որ յուրաքանչյուր ահազանգը դուրս է գալիս անհրաժեշտության դեպքում): Եթե ահազանգը պետք է անջատվի, մենք կսկսենք երաժշտությունը, լուսարձակը,… Մենք անընդհատ կարդում ենք ուժային զգայուն դիմադրություն, և երբ արժեքը իջնում է 1000 -ից ցածր (կարդալ fsr սեղմված է) Մենք շրջում ենք ահազանգը և ահազանգը թարմացնում տվյալների բազա: Մենք զարթուցիչի վերջին ազդանշանի ամսաթիվը սահմանել ենք ընթացիկ ամսաթվի:
statusLight
Այս մեթոդը թողարկում է ledstrip- ի արժեքը և անհրաժեշտության դեպքում միացնում է ledstrip- ը:
lichtAanpassen
Սա լրացուցիչ մեթոդ է `համոզվելու համար, որ լուսադիոդային և ազդանշանային լույսը չեն հակասում:
Քայլ 6: Գործ
Իմ ֆայլերի հղումը կարող եք գտնել այստեղ ՝
Ես պատյան տպելու համար օգտագործել եմ 3D տպիչ: Այն տպագրված է 4 տարբեր մասերով.
- Առջևի ափսեը բարձրախոսի համար անցքերով և որոշ պատերով ՝ 7 հատվածի ցուցադրման համար
- Արտաքին օղակ `թափանցիկ PETG- ի լուսարձակի համար:
- Միջին հատվածը
- Հետևի սալիկը `LCD- ի համար անցք և մալուխների համար անցք:
Սկզբնական մոդելում 7 հատվածի ցուցադրման համար անցք չկար, սակայն դա անհրաժեշտ է, քանի որ հակառակ դեպքում 7 հատվածի ցուցադրման լույսը չի շողա:
Ինչպես տեսնում եք, բոլոր բաղադրամասերը դնելուց հետո ես փայտե տեսքով վինիլային կպչուն պիտակներ օգտագործեցի, որպեսզի վերջնական արդյունքն ավելի լավ տեսք ունենա: Clockամացույցի էկրանը փայլում է կպչուկի միջով, ինչը ստեղծում է շատ գեղեցիկ արտաքին տեսք:
Խորհուրդ ենք տալիս:
Աղմկոտ զարթուցիչ `3 քայլ
Աղմկոտ զարթուցիչ. Ես 13 տարեկան ուսանող եմ Թայվանում: Ես առաջին անգամ բաներ եմ պատրաստում Arduino- ի հետ, եթե կարող եք ինձ ասել, թե ինչպես բարելավել այս աշխատանքը, խնդրում եմ մեկնաբանություններ թողեք ինձ համար, որպեսզի կարողանամ ավելի լավը դարձնել: (շնորհակալություն ) Այս ժամացույցը կարող է արթնացնել ձեզ քնած ժամանակ, բայց ես
Օլեդ զարթուցիչ `8 քայլ (նկարներով)
Oled rmարթուցիչ. Շատ arduino/ESP32 ժամացույցներ են պտտվում, բայց արդյո՞ք նրանք օգտագործում են այդ գեղեցիկ և փխրուն OLED- երը: Ես արդեն որոշ ժամանակ փորձեր եմ կատարում arduinos- ի և ESP32- ի հետ, բայց ես երբեք չէի հասցնում պատրաստի արտադրանքի: Ես պատրաստել եմ զարթուցիչ 4 1.3 դյույմ երկուշաբթիով
Ինչպես պատրաստել DIY զարթուցիչ `LCD ստեղնաշարի վահանով` 5 քայլ
Ինչպես պատրաստել DIY զարթուցիչ `LCD ստեղնաշարի վահանով. Բարև բոլորին: Այս ուսանելիում ես ձեզ ցույց կտամ, թե ինչպես կարելի է զարթուցիչ պատրաստել Arduino Board- ի միջոցով: Այս ժամացույցը կառուցելու համար ես օգտագործել եմ Arduino UNO, LCD ստեղնաշարի Shield, 5V Buzzer և Jumper Wires: Դուք կարող եք տեսնել ժամանակը էկրանին և կարող եք ժամանակ սահմանել
LED մատրիցային զարթուցիչ (MP3 նվագարկիչով) ՝ 6 քայլ (նկարներով)
LED Matrix rmարթուցիչ (MP3 նվագարկիչով). Arduino- ի վրա հիմնված այս զարթուցիչն ունի այն ամենը, ինչ դուք կսպասեիք ձեր զարթուցիչից `հնարավորություն ձեզ արթնացնել յուրաքանչյուր երգով, որը ցանկանում եք, հետաձգել կոճակը և այն հեշտությամբ կառավարել երեք կոճակով: Կան երեք հիմնական բլոկ ՝ LED մատրիցա, RTC մոդուլ և
Բոլորը մեկ թվային ժամանակաչափ (ժամացույց, ժամաչափ, զարթուցիչ, ջերմաստիճան). 10 քայլ (նկարներով)
All in One Digital Chronometer (ockամացույց, erամաչափ, rmարթուցիչ, peratերմաստիճան). Մենք պլանավորում էինք ժամաչափ պատրաստել մեկ այլ մրցույթի համար, բայց հետագայում մենք նաև գործարկեցինք ժամացույց (առանց RTC): Երբ մենք սկսեցինք ծրագրավորումը, մենք հետաքրքրվեցինք սարքի վրա ավելի շատ գործառույթներ կիրառելով և վերջում ավելացրեցինք DS3231 RTC, քանի որ