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

Խելացի զարթուցիչ `13 քայլ
Խելացի զարթուցիչ `13 քայլ

Video: Խելացի զարթուցիչ `13 քայլ

Video: Խելացի զարթուցիչ `13 քայլ
Video: ԹԵՍՏ. Արդյոք ԴՈւ խելացի ես...? 🤔😉| Պարզ թեստ 4 րոպեում 2024, Նոյեմբեր
Anonim
Խելացի զարթուցիչ
Խելացի զարթուցիչ

Բարև, իմ անունն է Ալեքսանդրա Քրիստիանս, և ես սովորում եմ մեդիա և հաղորդակցման տեխնոլոգիա Howest- ում, Բելգիայի Կորտրիկ քաղաքում:

Որպես դպրոցական առաջադրանք ՝ մեզանից պահանջվում էր պատրաստել IoT սարք: Մենք խրախուսվեցինք անել մի բան, որը փոփոխություն կբերի կամ մեր, կամ մեր ծանոթ մարդկանց կյանքում: Ինձ համար բավականին դժվար էր նախագիծ գտնելը և երբ փորձում էի համապատասխան նախագիծ փնտրել, հաճախ մտածում էի. «Ես շատ հոգնել եմ դրա համար»: Ի վերջո, ես հասկացա, որ սա կարող է լինել իմ նախագիծը. Ես խելացի զարթուցիչ կպատրաստեի, որը և՛ առավոտյան արթնանալուն կօգնի, և՛ երեկոյան ժամանակին քնելու ժամանակ: Քանի որ այս առաջադրանքի պահանջները թելադրում էին, որ մենք ամեն ինչ գործարկելու համար օգտագործենք Raspberry Pi- ն, որոշեցի իմ սարքը որպես բառախաղ անվանել «Sleepi»:

Եթե կցանկանայիք ինքներդ պատրաստել այս սարքը և իմ նման արժանապատիվ քնի ռեժիմ ունենալ, ապա դիտեք ստորև գրված այս օգտակար ուղեցույցը: Եթե ցանկանում եք ավելին իմանալ իմ և իմ պատրաստած կամ պատրաստած այլ նախագծերի մասին, ապա իմ պորտֆելը դիտեք:

Քայլ 1: Քայլ 1. Բաղադրիչների հավաքում

Քայլ 1. Բաղադրիչների հավաքում
Քայլ 1. Բաղադրիչների հավաքում
Քայլ 1. Բաղադրիչների հավաքում
Քայլ 1. Բաղադրիչների հավաքում
Քայլ 1. Բաղադրիչների հավաքում
Քայլ 1. Բաղադրիչների հավաքում

Այսպիսով, առաջին հերթին, եկեք համոզվենք, որ մենք ունենք այն ամենը, ինչ մեզ անհրաժեշտ է, նախքան շինարարությունը սկսելը: Ես կազմել եմ ամենակարևոր բաղադրիչների ցանկը: Ստորև կարող եք գտնել pdf բաղադրիչների վերաբերյալ ավելի մանրամասն տեղեկություններով:

- 1 x Ազնվամորի Pi 3 մոդել B

- 1 x (դատարկ) microSD քարտ և ադապտեր (ես ունեմ 16 ԳԲ քարտ, բայց 8 ԳԲ -ն բավարար է)

- 1 x 5V սնուցման աղբյուր Raspberry Pi- ի համար

- 1 x ethernet մալուխ

- 2 x 9V մարտկոց

- 2 x 9V մարտկոցի տեսահոլովակներ

- 1 x GPIO 40 փին ընդլայնման տախտակ և ծիածանի մալուխ

- 2 x BB830 Solderless Plug-in Breadbord

- 1 x Arduino Uno

- 1 x 0.56 դյույմ 4*7 հատվածի էկրան

- 1x DS18B20 ջերմաստիճանի տվիչ

- 1 x TSL2561 լուսավորության սենսոր

- 1 x 1602A LCD էկրան

- 1 x մակարդակի փոխարկիչ

- 1 x SN74HC595N հերթափոխի գրանցիչ

- 1 x Պտտվող կոդավորիչ

- 1 x պոտենցիոմետր

- 1 x Power RGB LED

- 1 x բարձրախոս

- 4 x 337B տրանզիստորներ

- 1 x դիոդ

- 1 x կոճակ

- 3 x xl4005 31 LED վարորդ

- 7 x դիմադրություն (2 x 10k Օմ, 4 x 1k Օմ, 1 x 470 Օմ)

- Տարբեր ցատկող մետաղալարեր (արականից արական և արականից իգական)

Լրացուցիչ:

- 1 x մուլտիպլեքս փայտե վահանակ (ես օգտագործել եմ մեկը հետևյալ չափումներով, որը ավելի քան բավարար էր ՝ 860 մմ x 860 մմ x 5 մմ)

- Փայտամշակման տարբեր գործիքներ

- ակրիլային ներկ ձեր նախընտրած գույնով

Քայլ 2: Քայլ 2: Սխեմաներ

Քայլ 2: Սխեմաներ
Քայլ 2: Սխեմաներ

Բոլոր բաղադրիչները հավաքելուց հետո ես կարողացա սկսել ամեն ինչ միացնել: Սկզբում ես պատրաստեցի Fritzing- ի սխեման ՝ համոզվելու համար, որ ես ոչ մի բաղադրիչ չեմ տապակի ՝ դրանք միացնելով սխալ: Իմ ուսուցիչների որոշ արձագանքներից հետո ես որոշ ուղղումներ կատարեցի, որոնց արդյունքում ստացվեց հետևյալ սխեմատիկ դիագրամը և էլեկտրագծերի դիագրամը.

GPIO կապումներից շատերը փոխանակելի են, ուստի ցանկության դեպքում կարող եք մի քանիսը փոխել: Չմոռանաք, սակայն, համապատասխանաբար փոխել ծածկագրի կոդերը:

Այնուամենայնիվ, որոշ տարրեր պետք է միացված լինեն որոշակի կապում: Համոզվեք, որ լուսարձակության սենսորը համապատասխանաբար միացված է GPIO 23 (SDA) և GPIO 24 (SCL) սարքերին: Ես կբացատրեմ, թե ինչու է դա կարևոր 5 -րդ քայլում:

Քայլ 3: Քայլ 3: Ազնվամորի Պի կարգավորում

Այժմ ժամանակն է ստեղծել մեր Pi- ն.

1. Տեղադրեք ձեր microSD քարտը ադապտերի ներսում և միացրեք այն ձեր համակարգչին:

Եթե ձեր microSD քարտը դատարկ չէ, ապա նախ ձևակերպեք այն ձեր նախընտրած եղանակով:

2. Տեղադրեք Raspbian OS ծրագրակազմը Raspberry pi կայքից:

Ներբեռնեք ZIP ֆայլը և հանեք այն ցանկալի վայր:

3. Ներբեռնեք Win32 սկավառակի կառավարիչը:

Կտտացրեք թղթապանակի պատկերակին ՝ պատկերը ընտրելու համար Ընտրեք ձեր microSD- ը «Սարքում»: Կտտացրեք «Գրեք»

Երբ պատկերը գրված է ձեր MicroSD քարտի վրա, կարող եք այն բացել Windows Explorer- ում:

Բացեք «cmdline.txt» ֆայլը Ֆայլի վերջում ավելացրեք տեքստի հետևյալ տողը ՝ ip = 169.254.10.1 Համոզվեք, որ ամեն ինչ նույն տողում է: Պահպանել ֆայլը:

Այժմ հեռացրեք MicroSD քարտը ձեր համակարգչից: Համոզվեք, որ ձեր Pi- ի հզորությունն անջատված է և քարտը տեղադրեք ձեր Raspberry Pi- ի մեջ:

Միացրեք Ethernet մալուխը ձեր Pi- ին և ձեր համակարգչին:

5, 2V հոսանքի ադապտեր օգտագործեք ձեր Pi- ին:

Քայլ 4: Քայլ 4. Ազնվամորի Pi- ի միացում

Քայլ 4: Միացրեք Raspberry Pi- ն
Քայլ 4: Միացրեք Raspberry Pi- ն

Միացնել

Pi- ն մեր համակարգչով, մենք կօգտագործենք Putty:

1. Տեղադրեք tyեփամածիկ և բացեք այն:

2. Լրացրեք IP հասցեն և նավահանգիստը, ինչպես ցույց է տրված նկարում և կտտացրեք «բացել»:

3. Մուտք գործեք հետևյալ կանխադրված պարամետրերով.

ա Մականուն: pi

բ. Գաղտնաբառ `ազնվամորի

4. WiFi- ը կարգավորելու համար.

ա Սուդո նանո/այլն/wpa_supllicant/wpa_supllicant.conf

բ. Ֆայլի ներքևում ավելացրեք այս տողերը.

ես Networkանց = {

ii. ssid = "Լրացրեք ձեր անլար ցանցի անունը"

iii. psk = "Լրացրեք ձեր անլար ցանցի գաղտնաբառը"

iv }

գ. Փակեք ֆայլը և պահեք այն

5. Մուտքագրեք հետևյալ հրամանը ՝ ձեր Pi- ի IP հասցեն պարզելու համար. Ifconfig wlan0

6. Այժմ կարող եք օգտագործել այս IP հասցեն Putty- ում `անլար կապ ստեղծելու համար (տես վերը):

Քայլ 5: Քայլ 5. Փոխեք կարգավորումները Raspi-config- ով

Այժմ մենք պետք է համոզվենք, որ Pi- ն կարող է շփվել մեր բոլոր բաղադրիչների հետ:

Մենք կփոխենք որոշ կարգավորումներ raspi-config- ում

Բացեք raspi-config հրամանը

sudo raspi-config

2. Ընտրեք 4 Տեղայնացման ընտրանքներ:

3. Ընտրեք I2 Change Timezone:

4. Փոխեք ժամային գոտին ձեր տեղական ժամային գոտու և ավարտեք ՝ raspi-config վերադառնալու համար:

5. Ընտրեք 5 Interfacing Options:

6. Ընտրեք P5 I2C:

7. Միացնել I2C հաղորդակցությունը:

8. Ընտրեք 5 Interfacing Options

9. Ընտրեք P6 սերիա

10. Անջատել մուտքի պատյանը:

11. Միացնել սերիական հաղորդակցությունը

Քայլ 6: Քայլ 6. Փոխեք կարգավորումները /boot/config.txt- ում

Այժմ մենք պետք է վերակազմակերպենք որոշ բաներ /boot/config.txt ֆայլում

1. Մուտք գործեք ֆայլ.

sudo nano /boot/config.txt

2. Ներքեւի մասում դուք պետք է տեսնեք.

enable_uart = 1

Դա պայմանավորված է նրանով, որ մենք ավելի վաղ միացրել էինք սերիական նավահանգիստը:

3. Ավելացնել հետեւյալ երկու տողերը.

dtoverlay = pi3-miniuart-bt

dtoverlay = i2c-gpio, ավտոբուս = 3

Raspberry Pi 3 -ն ունի 2 սերիական նավահանգիստ `ապարատային սերիական պորտ և ծրագրային ապահովման սերիա: Առաջին հրամանով մենք ծրագրաշարի սերիայի պորտը վերագրում ենք Bluetooth գործառույթին և ապարատային սերիայի պորտին տալիս ենք Rx և Tx կապումներին, որոնք մենք կօգտագործենք Arduino- ի հետ հաղորդակցվելու համար:

Երկրորդ գիծը Pi- ում ակտիվացնում է ծրագրային ապահովման I²C ավտոբուսը: Դա պայմանավորված է նրանով, որ ապարատային I²C ավտոբուսը երբեմն սխալներ է թույլ տալիս, երբ այս I²C ավտոբուսին միացված սենսորը օգտագործում է ժամացույցի ձգում: Softwareրագրային ապահովման I²C ավտոբուսն ինքնաբերաբար կաշխատի GPIO 23 (SDA) և GPIO 4 (SCL) վրա, այդ իսկ պատճառով այդքան կարևոր էր ճիշտ միացնել լուսավորության սենսորը, որն օգտագործում է I²C ՝ տվյալներ ուղարկելու համար:

Քայլ 7: Քայլ 7: Օգտվողին ավելացրեք աջ խմբեր

Վերջապես օգտագործողին ավելացրեք որոշ խմբերի.

1. Ստուգեք, թե որ խմբերին է պատկանում ձեր ներկայիս օգտվողը.

խմբավորեք ձեր_անունը

2. Որպեսզի բոլոր գործառույթներն աշխատեն, օգտագործողը պետք է պատկանի հետևյալ խմբերին.

adm dialout sudo մուտքագրում netdev gpio i2c spi ·

Անհրաժեշտության դեպքում օգտագործողին ավելացրեք համապատասխան խմբերին.

sudo adduser your_username խմբի անունը

Քայլ 8: Քայլ 8: Տվյալների բազա

Քայլ 8: Տվյալների բազա
Քայլ 8: Տվյալների բազա
Քայլ 8: Տվյալների բազա
Քայլ 8: Տվյալների բազա
Քայլ 8: Տվյալների բազա
Քայլ 8: Տվյալների բազա

Օգտատիրոջ կողմից սահմանված տագնապի տարբեր ժամանակները և սենսորների տարբեր արժեքները պահելու համար ես պետք է տվյալների բազա կազմեի: Դուք կարող եք տեսնել տվյալների բազայի սխեման վերևում:

Raspberry Pi- ին տվյալների բազան ավելացնելու համար կատարեք հետևյալ քայլերը.

1. Կապ հաստատեք tyեփամածուկի միջոցով

2. Թարմացրեք MySQL- ը

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

sudo apt-get տեղադրել mysql-server --fix-missing -y

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

3. Ապահով MariaDB

sudo mysql_secore_installation

4. Մուտք գործեք MariaDB

sudo mysql -u արմատ

5. Տվյալների բազան այս պահին օգտվողներ չունի: Մենք օգտագործում ենք այս ծածկագիրը օգտվող ստեղծելու համար, պարզապես անհրաժեշտ է լրացնել օգտվողին և գաղտնաբառը ՝

ՏՐԱՄԱԴՐԵԼ ԲՈԼՈՐ ՊՐԻՎԻԼԻԳՆԵՐԸ *. * «Լրացնելու_Ձեր_ընտրված_անունը»@'%'

ՏԵENTԵԿԱՎՈՐՎԱ ‘Է« լրացնել_Ձեր_ընտրված_բառով »՝ ՏՐԱՄԱԴՐՈԹՅԱՆ ԱՄԱՆԱԿՈՎ;

USԱՌԱՅԻՆ ԱՌԱIVՆՈԹՅՈՆՆԵՐ; ԵԼՔ;

6. Ներբեռնեք տվյալների բազան Github- ից:

7. Տեղադրեք աշխատասեղան:

8. Աշխատանքային սեղանին միացրեք ձեր pi- ն և կատարեք ֆայլը:

Քայլ 9: Քայլ 9: Python կոդ

1. Ներբեռնեք և պահեք Pythonfiles- ը Github- ից:

2. Ներբեռնեք և բացեք Pycharm- ը:

3. Կատարեք ձեր Raspberry Pi- ի համար հարմար թարգմանիչ և տեղակայման կոնֆիգուրացիա:

4. Խմբագրեք ֆայլը mainCode1.py- ում Pycharm- ում և նախորդ քայլերից փոխեք ձեր համարների և տվյալների բազաների կարգավորումները ձեր անձնական կարգավորումների:

Քայլ 10: Քայլ 10: Ավտոմատ գործարկել Python ծածկագիրը

Քայլ 10: Ավտոմատ գործարկել Python ծածկագիրը
Քայլ 10: Ավտոմատ գործարկել Python ծածկագիրը

1. Կապ հաստատեք ծեփամածիկի հետ ձեր Pi- ի հետ:

2. Բացեք ֆայլը /etc/rc.local:

sudo nano /etc/rc.local

3. Դուրս գալուց առաջ ավելացրեք հետևյալ տողերը.

քնել 60

python3 /path_from_root_to_your_pythonfile/name_of_your_pythonfile.py

Քայլ 11: Քայլ 11: Arduino կոդ

1. Ներբեռնեք և պահեք.ino ֆայլը Github- ից:

2. Միացրեք ձեր Arduino- ն ձեր նոութբուքի հետ USB- ի միջոցով:

3. Անջատեք Rx և Tx մալուխները, որոնք միացնում են Arduino- ն Raspberry Pi- ի հետ:

4. Բացեք ֆայլը և վերբեռնեք այն Arduino- ում:

5. Անջատեք Arduino- ն նոութբուքից և ճիշտ միացրեք Rx և Tx մալուխները:

6. Ուժ տվեք Arduino- ին: 4*7 հատվածի էկրանն այժմ պետք է ցույց տա 12:34

Քայլ 12: Քայլ 12: Վեբ սերվեր

Քայլ 12: Վեբ սերվեր
Քայլ 12: Վեբ սերվեր

1. Տեղադրեք apache:

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

2. Դարձեք սեփականատեր/var/www/html գրացուցակից.

sudo chown pi/var/www/html

3. Գնացեք գրացուցակ.

cd/var/www/html

4. Ստուգեք, արդյոք դուք սեփականատերն եք արմատների փոխարեն.

ls -al

5. Ներբեռնեք և բացեք Filezilla- ն

6. Կապ հաստատեք ձեր pi- ի հետ, ինչպես ցույց է տրված նկարում: (կամ օգտագործեք 169.254.10.1 և Ethernet մալուխ, կամ միացեք wi-fi- ի միջոցով)

ա Գնացեք գրացուցակ/var/www/html

բ. Deնջել կանխադրված index.html էջը

գ. Տեղափոխեք բոլոր առջևի ֆայլերը այս գրացուցակում

Քայլ 13: Քայլ 13. Արտաքին կառուցում

Քայլ 13: Արտաքին կառուցում
Քայլ 13: Արտաքին կառուցում
Քայլ 13: Արտաքին կառուցում
Քայլ 13: Արտաքին կառուցում
Քայլ 13: Արտաքին կառուցում
Քայլ 13: Արտաքին կառուցում

Դուք կարող եք զարթուցիչի արտաքին հատվածը պատրաստել այնպես, ինչպես ցանկանում եք: Alarmարթուցիչիս համար տուփ պատրաստեցի ՝ մուլտիպլեքս փայտի վահանակով ՝ 5 մմ լայնությամբ: Ես ուզում եմ նման բան պատրաստել, ահա նշված տուփի քայլերը.

1. Մուլտիպլեքս վահանակի վրա գծեք հետևյալ ձևերը.

Կողքեր ՝ 2 x քառակուսի (180 մմ x 180 մմ)

Վերև և ներքև ՝ 2 x ուղղանկյուն (180 մմ x 300 մմ)

Առջև և հետև ՝ 2 x ուղղանկյուն (170 մմ x 300 մմ)

2. Տեսեք և ավազեք յուրաքանչյուր ձևի քառակուսի և ուղղանկյուն

3. Ստացեք պահեստային փայտ և պատրաստեք 20 մմ բարձրությամբ և 20 մմ լայնությամբ փոքր տախտակներ:

4. Պտուտակեք փոքր տախտակները մուլտիպլեքսի ներքին մասերին (ներքևում, առջևում և հետևում), ինչպես երևում է լուսանկարներում:

5. Որոշեք, թե որտեղ եք ցանկանում համապատասխան անցքեր կատարել LCD- էկրանի, 4*7 հատվածի ցուցադրման, բարձրախոսի, լուսարձակման տվիչի, RGB LED- ի, պտտվող կոդավորիչի և կոճակի համար:

6. Չափեք յուրաքանչյուր բաղադրիչ, որը ցանկանում եք դրսից ցուցադրել և մուլտիպլեքսի վրա նկարեք համապատասխան չափի ձևեր:

7. Կտրեք անհրաժեշտ կտորները:

8. Տուփի արտաքին մասում ամրացրեք որոշ ծխնիներ `միացնելով վերևը և հետույքը:

9. frontակատի ներքին մասում ամրացրեք մագնիս, իսկ վերին մասի ներքին մասում `փոքր մետաղյա ափսե:

10. Պտուտակեք կամ կպցրեք ամեն ինչ այնտեղ, որտեղ ցանկանում եք:

11. Հավաքեք տուփը `պտուտակելով բոլոր արտաքին կողմերը (բացառությամբ վերևի):

Դուք կարող եք բաց թողնել 3 -ը և 4 -ը, եթե օգտագործում եք ավելի փոքր պտուտակներ (ես օգտագործել եմ 12 մմ պտուտակներ): Փոքր պտուտակներ օգտագործելը, այնուամենայնիվ, մի փոքր նվազեցնում է տուփի կայունությունը:

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