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

Raspberry Pi Zero Garage Door Opener Սարքաշար. 10 քայլ
Raspberry Pi Zero Garage Door Opener Սարքաշար. 10 քայլ

Video: Raspberry Pi Zero Garage Door Opener Սարքաշար. 10 քայլ

Video: Raspberry Pi Zero Garage Door Opener Սարքաշար. 10 քայլ
Video: Raspberry Pi zero garage door opener using my phone and Blynk app 2024, Հուլիսի
Anonim
Raspberry Pi Zero Garage Door Opener Սարքավորումներ
Raspberry Pi Zero Garage Door Opener Սարքավորումներ

Այս նախագծի ոգեշնչման աղբյուրներից մեկն այն էր, որ սովորեցրեց Raspberry Pi 3 ավտոտնակի դուռը բացելիս, ինչպես նաև մի քանի ուրիշներ, որոնք գտնվեցին ինտերնետում: Չլինելով էլեկտրոնիկայի մասնագետ Ես նաև իմացա քաշվող և քաշվող ապարատային սխեմաների առավելությունների և ներկառուցված Pi ֆունկցիոնալության մասին:

Քանի որ ավտոտնակի դռների նախագիծը իսկապես բազմաբնույթ գործընթաց է, որը ներառում է Pi սարքավորումներ, ծրագրակազմ և տեղադրում ձեր ավտոտնակի դուռը բացող (ներ) ով, ես մտածեցի, որ առաջին հերթին կկենտրոնանամ Pi սարքավորման վրա, քանի որ այն անհրաժեշտ է յուրաքանչյուր այլ քայլի համար:

Իմ մոտեցումն այն է, որ շատ հիմնարար լինի ՝ հանդես գալով որպես իմ սովորածի ամփոփում, որպեսզի կարողանամ լրացնել սարքավորումները: Այն կսկսվի որոշ տեղեկություններով, իսկ հետո մենք սխեմաներ կկառուցենք հացահատիկի վրա: Ամեն քայլը կբարելավի մեր դիզայնը և գիտելիքները ՝ գագաթնակետ ստեղծելով մշտական ապարատային լուծում ՝ Pi- ն ռելեի և եղեգի սենսորների հետ միացնելու համար:

Բացի այդ, ի տարբերություն որոշ այլ նախագծերի, ես որոշեցի օգտագործել Raspberry Pi Zero W- ը, որը որոշ ժամանակ առաջ վաճառքի հանեցի, բայց դեռ չօգտագործված նստած էր իմ սեղանին: Դրականն այն է, որ նախատիպերի պատրաստման ընթացքում, եթե ես վնասում էի GPIO- ի սխեմաներից որևէ մեկը, էժան էր և հեշտ էր փոխարինել և պահել նախատիպը: Թերությունն այն է, որ այն ունի միայն ARMv6 պրոցեսոր, այնպես որ որոշ բաներ, ինչպես Java- ն, օգտագործելի չեն լինի:

Մյուս բանը, որ ես որոշեցի անել, դա միացումն ստեղծելու համար իմ սեփական լրացուցիչ տախտակի ստեղծումն էր, այնպես որ ես պետք է փոխե՞մ կամ փոխարինեմ իմ Pi- ն, քանի դեռ քորոցները նույնն են, խորհուրդը պետք է հեշտությամբ միացված լինի նոր Pi- ին:. Սա, հուսով եմ, նվազագույնի կհասցնի առնետների լարերի բույնը:

Իմ ենթադրություններն են.

  • Դուք հարմարավետ զոդում եք
  • Դուք արդեն գիտեք, թե ինչպես օգտագործել հիմնական տերմինալային հրամանները Raspberry Pi- ում
  • Դուք օգտագործում եք Raspbian Buster կամ ավելի նոր տարբերակ:
  • Դուք Pi- ի հրամանի տողի որոշ ինտերֆեյս ունեք; կամ հատուկ մոնիտորով, ստեղնաշարով և այլն: Եվ/կամ SSH օգտագործմամբ:
  • Դուք ծանոթ եք էլեկտրական սխեմաների նախագծման հիմնական հայեցակարգին; օրինակ, դուք գիտեք տարբերությունը հզորության և հողի միջև և հասկանում եք կարճ միացման հասկացությունը: Եթե կարող եք նոր ելք տեղադրել ձեր տանը, ապա պետք է կարողանաք հետևել դրան:

Պարագաներ

Կախված նրանից, թե որքան նվիրված եք այս նախագծին, կարող եք սկսել ամեն քայլափոխի անհրաժեշտ իրերով և գնալ այնտեղից: Այս մասերից շատերը հասանելի են ձեր տեղական էլեկտրոնիկայի կամ DIY/Maker խանութում, բայց նկարագրությունները բարելավելու համար ես ներառել եմ Amazon- ի հղումները:

  • MakerSpot RPi Raspberry Pi Zero W Protoboard (Pi- ի վերջնական գլխարկը դարձնելու համար)
  • 2 ալիք DC 5V ռելեի մոդուլ (ստացեք 1-ալիք, եթե ունեք մեկ դուռ, 2-ը ՝ 2 դռան համար և այլն)
  • Վերևի դռան անջատիչ, սովորաբար բաց (ՈՉ) (Եթե այս պահին դուք պարզապես նախատիպավորում եք և ցանկանում եք օգտագործել էժան եղեգի անջատիչներ ՝ սկսելու համար, դա լավ է)
  • Էլեկտրոնային զվարճանքի հավաքածու (սա պարունակում էր ինձ անհրաժեշտ բոլոր դիմադրողները, գումարած մի տախտակ և էներգաբլոկ ՝ նախատիպը օգնելու և փորձարկելու և սովորելու համար, մինչև որ ես անեի մշտական տախտակը): Եթե դուք արդեն ունեք այս ամենը, համոզվեք, որ ունեք մի քանի 10K, 1K և 330 ohm ռեզիստորներ, որոնք հարմար են:
  • Breadboard Jumper Wires (ցանկացած բան կանի)
  • Oldոդման երկաթ փոքր ծայրով
  • Ռոզինի միջուկի զոդում
  • Sոդման երկաթի հուշում մաքրող միջոց
  • Պահեստային 9 վ էլեկտրամատակարարում (տախտակին սնուցելու համար)
  • Cheոդման պրակտիկայի համար էժան նախատիպերի տախտակներ (ըստ ցանկության)
  • Գործող Raspberry Pi Zero կամ Pi ՝ ձեր ընտրությամբ
  • Raspberry Pi- ի վերնագրի կապում (եթե ձերն արդեն չունի դրա վերնագիրը)
  • Գլխարկների հավաքում ՝ գլխարկի գլխարկի օգտագործման համար:
  • Փոքր ասեղ քթի տափակաբերան աքցան
  • Ոսկերիչի պտուտակահան հավաքածու
  • Փոքր կողային կտրիչներ (զոդումից հետո մետաղալար կտրելու համար)
  • Պինցետ
  • Մի փոքր չափիչ մետաղալար (ես նախընտրում եմ պինդ միջուկով) `նախատախտակի վրա օգտագործելու համար
  • Մի փոքր սիլիկոն (եթե նախընտրում եք օգտագործել 1,8 մմ մակերևույթի վրա ամրացվող LED- ները ՝ փոխարենը, որոնք ներկայացված են փաթեթում)
  • Ես գտա, որ խոշորացույցը չափազանց օգտակար էր փոքր եռակցման աշխատանքը տեսնելու համար

Քայլ 1: Ներածություն Raspberry Pi GPIO- ին

Հիմնական ինտերֆեյսը, որը մենք կօգտագործենք Raspberry Pi- ի հետ, GPIO- ն է (ընդհանուր նշանակության մուտք/ելք):

Գտեք ձեր Pi- ի համար ձեր համապատասխան կապի դիագրամը այստեղ: Այս հրահանգը կենտրոնանալու է Pi Zero W v1.1- ի վրա:

Մենք կօգտագործենք միայն կանաչ GPIO կապում ՝ խուսափելով SDA, SCL, MOSI, MISO և այլն կապումներից: (Ես պարզեցի, որ GPIO- ի որոշ կապումներն ունեն հատուկ նպատակներ ՝ տախտակի վրա նախատիպերի ստեղծման առավելություններից մեկը, ուստի ես այդպես մնացի GPIO կապում 17 (քորոց #11), 27 (փին #13) և 12 (#32): լավ դիրքերում իմ հացահատիկի համար:

GPIO կապումներն նախագծված են որպես թվային (երկուական) անջատիչներ աշխատելու համար; դրանք տրամաբանորեն գոյություն ունեն որպես երկու վիճակներից մեկը ՝ 1 կամ զրո: Այս վիճակները կախված են այն բանից, թե արդյոք քորոցը մատակարարում կամ լարում է որոշակի շեմից բարձր (1), թե մատակարարում կամ ստանում լարման որոշակի շեմից ցածր: (Շեմերի մասին մենք կխոսենք ավելի ուշ):

Կարևոր է նշել, որ թեև Raspberry Pi- ն կարող է ապահովել ինչպես 5V, այնպես էլ 3.3V (3V3), GPIO կապումներն աշխատում են մինչև 3.3V լարման միջոցով: Ավելին, և դուք վնասում եք GPIO- ն և, հնարավոր է, ամբողջ վերահսկիչը: (Ահա թե ինչու մենք նախատիպ ենք պատրաստում տախտակի վրա և օգտագործում ենք ամենաէժան հնարավոր Pi- ն):

Քորոցների վիճակը կարող է շահարկվել կամ ծրագրակազմով (ելքով), կամ պետությունում սնվող այլ սարքերով (մուտքագրում):

Եկեք հնարավորություն տանք դրան ՝ օգտագործելով SYSFS- ի որոշ հիմնական հրամաններ: Ես վստահ չեմ, արդյոք դա պահանջում է WiringPi, բայց եթե խնդիրներ առաջանան, գուցե ցանկանաք տեղադրել այն, եթե օգտագործում եք Raspbian- ի նվազագույն պատկերը:

Նախ, եկեք մեզ թույլ տանք մուտք գործել GPIO 17:

sudo echo "17">/sys/class/gpio/export

Այժմ եկեք ստուգենք GPIO- ի արժեքը.

sudo cat/sys/class/gpio/gpio17/արժեք

Արժեքը պետք է լինի զրո:

Այս պահին GPIO- ն չգիտի ՝ մուտքային է, թե ելքային: Որպես այդպիսին, եթե փորձեք շահարկել GPIO արժեքը, դուք կստանաք «գրելու սխալ. Գործողությունը թույլատրված չէ»: Այսպիսով, եկեք պարզապես ասենք, որ քորոցը դա ելք է.

sudo echo "out">/sys/class/gpio/gpio17/ուղղություն

Եվ հիմա արժեքը սահմանեք 1:

sudo echo «1»>/sys/class/gpio/gpio17/արժեք

Կրկին ստուգեք արժեքը ՝ տեսնելու… և արժեքը պետք է լինի 1:

Շնորհավորում ենք, դուք պարզապես ստեղծել եք ելքային GPIO և փոխել վիճակը:

Հիմա դրան մի փոքր ավելին կա, բայց եկեք նախ մի քանի բան սովորենք:

Քայլ 2. Հասկանալով դիմադրողներին

Այսպիսով, դուք կարող եք դիմադրիչներ փնտրել Վիքիպեդիայում, բայց ի՞նչ նշանակություն ունեն դրանք մեզ համար: Նրանք հիմնականում պաշտպանում են մեր բաղադրիչները:

Հիշու՞մ եք, երբ մենք խոսում էինք GPIO- ների մասին, որ նրանք աշխատում են մինչև 3.3 Վ: Դա նշանակում է, որ եթե GPIO- ի քորից ավելին տաս, կարող ես տապակել: Ինչու՞ է սա կարևոր: Երբեմն լինում են փոքր ալիքներ ցանկացած միացումում, և եթե առավելագույնը 3.3 Վ է, ցանկացած փոքր ճեղքվածք կարող է խնդիրներ առաջացնել: Առավելագույն լարման վրա աշխատելը ռիսկային առաջարկ է:

Սա հատկապես ճիշտ է LED- ների համար: LED- ը հնարավորինս շատ էներգիա կգրավի: Ի վերջո, LED- ը կվառվի, բայց ընթացիկ զգալի հոսանքը կարող է սպառել շրջակայքում եղած ամբողջ հզորությունը ՝ պատճառելով այն անսարքությունը:

Օրինակ. Ի՞նչ կլիներ, եթե պատառաքաղը տեղադրեիք էլեկտրական վարդակի երկու սալերի մեջ: Քիչ-քիչ դիմադրություն կա, և դուք կպայթեցնեք անջատիչը: (Եվ, հավանաբար, ինքներդ ձեզ վիրավորեք այդ գործընթացում:) Ինչու՞ թոստը դա չի անում: Քանի որ դրա ջեռուցման տարրերը ապահովում են դիմադրություն, և որպես այդպիսին չի քաշում շրջանի ամբողջ բեռը:

Այսպիսով, ինչպես կարող ենք դա թույլ չտալ LED- ի դեպքում: Սահմանափակելով հոսանքի քանակը, որն օգտագործվում է LED- ն դիմադրիչի միջոցով քշելու համար:

Բայց ինչ չափի դիմադրություն: Այո, ես կարդացի մի քանի համացանցային հոդվածներ և վերջապես կարգավորեցի 330Ω ռեզիստորով 3.3 Վ լարման LED- ով: Դուք կարող եք կարդալ նրանց բոլոր հաշվարկները և ինքներդ դա պարզել, բայց ես մի քանիսը փորձեցի սեղանի վրա և 330 -ը լավ աշխատեց: Մի տեղեկանք, որը ես ստուգեցի, Raspberry Pi ֆորումներում էր, բայց Google- ի որոնումը շատ ավելին կբացահայտի:

Նմանապես, Pi GPIO կապումներն անհրաժեշտ են պաշտպանություն գերլարումից: Հիշում եք, թե ինչպես ասացի, որ նրանք օգտագործում են մինչև 3.3 Վ: Դե, մի փոքր ավելի քիչ չի վնասի: Շատ նախագծեր օգտագործում են 1KΩ ռեզիստորներ, և ես նույնն եմ արել: Կրկին, դուք կարող եք դա հաշվարկել ինքներդ, բայց սա շատ տարածված ընտրություն է: Կրկին, Raspberry Pi ֆորումները տալիս են որոշ տեղեկություններ:

Եթե դուք դա ամբողջությամբ չեք հասկանում, մի քիչ էլ կարդացեք: Կամ պարզապես հետևեք հրահանգներին: Որն աշխատում է ձեզ համար:

Շատ դիմադրիչներ նշված են փաթեթավորման մեջ, բայց երբ դրանք հանում եք, ինչպե՞ս կարող եք դրանք տարբերակել: Ռեզիստորի փոքրիկ գունավոր շերտերը կարող են ձեզ ասել:

Հաջորդը, մենք մի պարզ LED կշղթացնենք հացահատիկի վրա `ուժերը սկսելու համար:

Քայլ 3: LED- ի միացում

LED- ի միացում
LED- ի միացում

Առաջին քայլն այն է, որ LED- ն մետաղալարով ամրացնենք սեղանի վրա: Երբ մենք դա ապահով աշխատենք, մենք այն կկապենք Raspberry Pi- ին և կվերահսկենք այն GPIO կապից:

Հուսանք, որ ձեր հացահատիկի տախտակին տրվել է 3.3 վ լարման էներգիա: Եթե ոչ, կարող եք ամեն ինչ մետաղալարով կապել և ուղղակիորեն միացնել Pi- ին:

Գտեք LED և միացրեք այն տախտակին, ինչպես ցույց է տրված ՝ օգտագործելով 330Ω ռեզիստոր: LED- ի ավելի երկար ոտքը անոդը է, կարճ ոտքը `կաթոդը: Անոդը միանում է 3.3 Վ հոսանքին, իսկ կաթոդը նորից միանում է գետնին: Ռեզիստորը կարող է լինել LED- ից առաջ; դա կարեւոր չէ. Լարի ստանդարտ գույներն են.

  • Կարմիր = 5 Վ
  • Նարնջագույն = 3.3V
  • Սև = հող

Երբ դուք ունեք այդ հացահատիկի լարով և սնուցում, LED- ը պետք է լուսավորվի: Մի շարունակեք, քանի դեռ չեք ստացել այս աշխատանքը:

Քայլ 4. LED- ի միացում GPIO- ին

LED- ի միացում GPIO- ին
LED- ի միացում GPIO- ին

Այսպիսով, այժմ մենք ունենք աշխատանքային LED `դիմադրիչով: Այժմ ժամանակն է այդ LED- ն միացնել Raspberry Pi- ին: Մեր նպատակն է ստեղծել ելքային GPIO և միացնել այդ GPIO- ն LED- ին, որպեսզի GPIO- ն միացնելիս LED- ը լուսավորվի: Եվ հակառակը, երբ մենք ԱՆԿԱՆՈՆԵՆՔ GPIO- ն, LED- ն կանջատվի: (Սա հետագայում կօգտագործվի որպես միացում, որը «կտտացնի» կոճակը `բացելու ավտոտնակի դուռը):

Հեռացրեք հոսանքի սեղանից և միացրեք Pi- ն, ինչպես ցույց է տրված: (Ավելի լավ է դա անել, քանի դեռ Pi- ն նույնպես անջատված է): Մենք GPIO 17 -ից 3.3 Վ լարման և գետնին միացրել ենք գրունտներից մեկին:

Այժմ միացրեք Pi- ն և LED- ը պետք է անջատված լինեն: Կատարեք նույն հրամանները, որոնք մենք արել էինք նախկինում ՝ GPIO- ի կապը կարգավորելու և արժեքը դուրս բերելու համար.

sudo echo "17">/sys/class/gpio/export

sudo echo "out">/sys/class/gpio/gpio17/ուղղություն sudo cat/sys/class/gpio/gpio17/արժեք

Արժեքը պետք է լինի զրո:

Այժմ եկեք միացնենք GPIO- ն.

sudo echo «1»>/sys/class/gpio/gpio17/արժեք

Սա պետք է միացնի LED- ը: LED- ն անջատելու համար պարզապես անջատեք GPIO- ն հետևյալ կերպ.

sudo echo "0">/sys/class/gpio/gpio17/արժեք

Հնարավոր է, որ պատահի այն, որ LED- ի բավականաչափ միջամտությամբ կամ միացման/անջատման ցիկլերով դուք կարող եք նկատել, որ LED- ը մնում է մի փոքր լուսավորված: Սրա պատճառը կա, և մենք դրա մասին կխոսենք ապագա քայլում:

Քայլ 5: Ռելեի օգտագործումը LED- ը վարելու համար

Օգտագործելով ռելե LED- ը քշելու համար
Օգտագործելով ռելե LED- ը քշելու համար

Ինչպես նշվեց նախորդ քայլում, LED- ն ավտոտնակի դռան «կոճակի» համար կանգնած է: Այնուամենայնիվ, մինչ GPIO- ն կարող է սնուցել մեր LED- ը, այն չի կարող «սեղմել» մեր ավտոտնակի դռան կոճակը: Կոճակ սեղմելը, ըստ էության, միացնում է երկու կոճակների տերմինալները, իրականում կատարում է կոճակ սեղմելը: Այն, ինչ ձեզ հարկավոր է այս «մամուլը» կատարելու համար, ռելե է:

Ռելեն ոչ այլ ինչ է, քան անջատիչ, որը սնվում է ինչ -որ բանից: Այս դեպքում մեր Raspberry Pi- ն կարող է փոխանցումավազքին ասել, որ «սեղմի» ավտոտնակի դռան կոճակը: Մեր նախատիպի համար, Raspberry Pi- ն ռելեին կասի միացնել LED- ը … միայն այնպես, որ մենք կարողանանք ստուգել մեր սխեման:

Այն, ինչ մենք պետք է իմանանք մեր փոխանցման մասին.

  • Ռելեն աշխատում է 5 Վ լարման վրա: Սա հզորություն է միայն ռելեի գործարկման համար և չի օգտագործվում միացման այլ մասերում:
  • Մենք ցանկանում ենք մեր ռելեին լարել որպես «սովորաբար բաց»: Դա նշանակում է, որ ռելեն բաց է մնում (միացնելով երկու լարերը կամ «սեղմելով կոճակը»), մինչև միացված չլինի:
  • Այս կոնկրետ ռելեն ակտիվանում է, երբ GPIO- ն զրոյական էներգիա է մատակարարում ռելեի 3.3V միակցիչին: Իրոք, սա հետամնաց է թվում: 3.3V- ի մատակարարման դեպքում ռելեն բաց է թողնվում: Մնացեք մեզ հետ այս նախագծում և կտեսնեք, թե ինչպես է այն աշխատում:
  • Երկու ռելեային տերմինալային միացումները լիովին առանձնացված են Raspberry Pi- ից: Սա նշանակում է, որ դուք կարող եք անջատել ցանկացած անվանական հոսանք ունեցող մետաղալար, քանի որ այն իր հոսանքը ստանում է այլ էներգիայի աղբյուրից: Պարզ փոքրիկ 3.3 Վ և 5 Վ հզորությամբ Raspberry Pi- ն իսկապես կարող էր աշխատել ռելեով, որը վերահսկում է շատ ավելի մեծ լարումը: Այսպես ձեր վահանակի փոքրիկ փոքրիկ կոճակը կարող է գործարկել ձեր մեծ հզորությամբ տաքացրած նստատեղերը:

Այսպիսով, եկեք սկսենք:

Նախ, նորից միացրեք (բայց անջատեք) արտաքին սնուցման սարքը ձեր սեղանի համար: Այս հզորությունը կաշխատի LED միացումով, մինչդեռ Raspberry Pi- ն վերահսկում է ռելեն:

Հաջորդը, LED- ին սնուցող 3.3 Վ գծում ընդմիջում ստեղծեք: (Անջատիչներով և ռելեներով մենք միշտ ցանկանում ենք միացնել «տաք» -ը, ոչ թե գետինը): Դրանք գծապատկերում նշված են նարնջագույն և կապույտ գույնով:

Միացրեք Raspberry Pi- ն, ինչպես ցույց է տրված, 5V հոսանքը փոխանցում է ռելեին, 3.3V- ը ՝ որպես անջատիչ, և գետինը վերադառնում է Raspberry Pi: Այս օրինակում ես 3.3V- ը միացրել եմ GPIO 17. -ին: Խորհուրդ եմ տալիս 1KΩ ռեզիստորը միացնել GPIO լարին, ինչպես ցույց է տրված, GPIO- ն խնդիրներից պաշտպանելու համար: (Սա նշվեց Դիմադրիչների քայլում):

Միացրեք հացահատիկը և այժմ միացրեք ձեր Pi- ն: LED- ը պետք է լուսավորված լինի:

Այժմ գործարկեք հետևյալ հրամանները Pi- ի վրա.

sudo echo "17">/sys/class/gpio/export

sudo echo "out">/sys/class/gpio/gpio17/ուղղություն sudo cat/sys/class/gpio/gpio17/արժեք

Արժեքը պետք է լինի զրո:

Այժմ եկեք միացնենք GPIO- ն.

sudo echo «1»>/sys/class/gpio/gpio17/արժեք

Սա պետք է անջատի LED- ը:

Քայլ 6: Քաշվող դիմադրության ավելացում

Քաշվող դիմադրության ավելացում
Քաշվող դիմադրության ավելացում

Այս պահին ձեր բոլոր իրերը պետք է աշխատեն: Բայց կա մի բան, որը մենք չենք քննարկել GPIO- ների վերաբերյալ, և դա «լողացող» լարվածությունն է, որը հնարավոր է ՝ հիմնվելով նախկինում նշած շեմի վրա:

Թեև GPIO- ներն ընդհանուր առմամբ ունեն երկու տրամաբանական վիճակ (1 և զրո), այն որոշում է այս վիճակները ՝ ելնելով լարման շեմից բարձր կամ ցածր լարման առկայությունից, ինչպես նշեցինք GPIO բաժնում: Բայց GPIO- ների մեծ մասի խնդիրը «լողացող» լարման հնարավորությունն է. Raspberry Pi- ի դեպքում `ինչ -որ տեղ զրոյից մինչև 3.3V միջակայքում: Դա կարող է առաջանալ միջամտությունից կամ միացումով լարման բարձրացում/անկումից:

Մենք չենք ցանկանում այնպիսի իրավիճակ, երբ մեր ավտոտնակի դռան կոճակի ռելեն կարող է պարզապես ակտիվանալ լողացող լարման պատճառով: Իրոք, մենք ցանկանում ենք, որ այն ակտիվանա միայն այն ժամանակ, երբ մենք դրան ասում ենք:

Նման իրավիճակները լուծվում են ձգվող և ներքև դիմադրիչների օգտագործմամբ `որոշակի լարումը գործադրելու և լողացող լարումից խուսափելու համար: Մեր դեպքում, մենք ցանկանում ենք համոզվել, որ լարման մատակարարում է ապահովում ռելեի ակտիվացումը: Այսպիսով, մեզ անհրաժեշտ է ձգվող դիմադրություն `լարումը շեմից բարձրացնելու համար: (Շեմերը ծիծաղելի բաներ են … Ես փորձեցի կարդալ դրանց մասին և տեսնել, թե արդյոք դրանք հստակ սահմանվա՞ծ էին, և շատ տեղեկություններ ստացա գլխումս, և ոմանք էլ չափազանց պարզ թվացին: Բավական է ասել, որ մուլտիմետրով ես դա տեսնում էի լարումը 3.3 Վ -ից ցածր էր, բայց քանի որ ամեն ինչ աշխատում էր այնպես, ինչպես ես էի նախատիպավորում, ես պարզապես առաջ շարժվեցի: Ձեր վազքը կարող է տարբեր լինել, և դա է պատճառը, որ մենք դա պատրաստում ենք նախքան վերջնական արտադրանքը միացնելը):

Իհարկե, Raspberry Pi- ն ունի ինչպես ներքին քաշվող, այնպես էլ ներքև դիմադրություններ, որոնք կարող եք տեղադրել ծածկագրով կամ բեռնման ժամանակ: Այնուամենայնիվ, դա շատ ենթակա է միջամտության: Թեև հնարավոր է դրանք օգտագործել, քանի որ մենք արդեն աշխատում ենք ռեզիստորների հետ միացումում, գուցե արժե կայունություն օգտագործել արտաքինից:

Ավելի կարևոր է, որ սա ստեղծում է քաշքշուկ և ավելացնում է բավականաչափ լարման, որ GPIO- ի քորոցային վիճակը կանխադրված է 1-ի ՝ նախքան Pi- ի սկզբնավորումը: Հիշու՞մ եք, թե ինչպես է մեր ռելեն ակտիվացրել LED- ն վառվել է, երբ մենք առաջին անգամ նախաստորագրել ենք Pi- ն մինչև այն անջատելը: Ձգվող սարքի օգտագործումը խոչընդոտում է ռելեի գործարկմանը գործարկման ժամանակ, քանի որ ռելեի 3.3 Վ մուտքը լարում է ստանում միաժամանակ 5 Վ մուտքը ստանում է լարում: Մենք նաև կարող ենք դա անել Pi- ի կոնֆիգուրացիայում, եթե ցանկանում ենք, բայց կրկին, քանի որ ամեն դեպքում մենք միանում ենք ռեզիստորներով, այն ավելի քիչ խոցելի է թվում օպերացիոն համակարգի թարմացումների և բաշխումների նկատմամբ:

Տարբեր կոնֆիգուրացիաներին կարող են անհրաժեշտ լինել տարբեր ռեզիստորներ, սակայն իմ ունեցած ռելեի հետ աշխատել է 10kΩ ռեզիստոր: Իմ ռելեի LED- ը միացման ժամանակ շատ թույլ էր, բայց ձգվող ուժը բավականաչափ լարվածություն ապահովեց `ռելեի ակտիվացումը կանխելու համար:

Եկեք ավելացնենք քաշման դիմադրություն մեր շղթային: Հացահատիկի գծապատկերում ես 10kΩ ռեզիստոր ավելացրեցի ռելեի 3.3V մուտքի և 3.3V աղբյուրի միջև:

Այժմ մենք ունենք մի միացում, որը հարմար է ավտոտնակի դռան կոճակը «սեղմելու» համար. LED- ի և 330Ω դիմադրության փոխարինումը կոճակի լարերով պետք է լինի հեշտ:

Քայլ 7: Reed Switch Sensor

Reed Switch Sensor
Reed Switch Sensor

Այնքան հիանալի, մենք գիտենք, թե ինչ տեսք ունի մեր միացումը ավտոտնակի դուռը բացող սարքն ակտիվացնելու համար: Այնուամենայնիվ, հաճելի չէ՞ր իմանալ ՝ ավտոտնակի դուռը փակ է, թե բաց է: Դա անելու համար ձեզ հարկավոր է առնվազն մեկ եղեգի անջատիչ: Որոշ նախագծեր խորհուրդ են տալիս երկուսը, բայց երկուսն էլ կօգտագործեն նույն սխեմայի դիզայնը:

Մենք օգտագործում ենք «սովորաբար բաց» (NO) եղեգի անջատիչի կոնֆիգուրացիա: Դա նշանակում է, որ մեր շրջանը բաց է այնքան ժամանակ, մինչև եղեգի անջատիչը գտնվում է մագնիսի հարևանությամբ, ինչը կփակի շրջանը և թույլ կտա հոսանք հոսել:

Սենսորների տեղադրման և ռելեի տեղադրման հիմնական տարբերություններն են.

  • Սենսորին միացված GPIO- ն էներգիա կբացահայտի, ուստի այն կլինի մուտքային GPIO (մինչդեռ ռելեդը օգտագործում էր ելքային GPIO, որը մատակարարում էր լարումը)
  • Քանի որ լռելյայն վիճակը գոյություն ունի որպես սովորաբար բաց, դա նշանակում է, որ մեր սխեման ակտիվ չի լինի: Որպես այդպիսին, GPIO- ի վիճակը պետք է լինի 0. Հակառակ ռելեի սխեմայի ձգվող դիմադրության հայեցակարգին, մենք կցանկանանք համոզվել, որ մեր լարումը շեմից ցածր է, երբ միացումը բաց է: Դրա համար կպահանջվի ձգվող դիմադրություն: Սա հիմնականում նույնն է, ինչ քաշվում է, բայց ուժի փոխարեն միացված է գետնին:

Շատ նման է ռելեի սխեմայի, մենք պատրաստվում ենք իրերը միացնել սեղանի վրա նախքան այն Pi- ին միացնելը:

Եկեք օգտագործենք մեր սնուցվող տախտակը և մետաղալարով LED, 330Ω ռեզիստոր և հողալար: Այնուհետև 3.3 Վ լարը միացրեք եղեգի անջատիչի մի կողմին, իսկ եղեգի անջատիչի մյուս կողմից ՝ ցատկիչը դեպի LED: (Եթե ունեք NO և NC աջակցող եղեգի անջատիչ, օգտագործեք NO դիրքը:) Մագնիսը հեռացրեք եղեգի անջատիչից և միացրեք տախտակի հզորությունը: LED- ը պետք է մնա անջատված: Տեղափոխեք մագնիսը դեպի եղեգի անջատիչը և LED- ը պետք է լուսավորվի: Եթե հակառակն է անում, ապա այն պետք է լարված լինի NC- ի համար (սովորաբար փակ է)

Քայլ 8. Reed Switch- ը Pi- ին միացնելը

Reed Switch- ը միացնելով Pi- ին
Reed Switch- ը միացնելով Pi- ին

Այսպիսով, այժմ, երբ մենք ունենք միացում, որն աշխատում է առանց Pi- ի, մենք կարող ենք հոսանքը հանել տախտակից և մենք կկապենք Pi- ն:

Մենք կրկին կօգտագործենք GPIO17- ը, քանի որ մենք արդեն գիտենք, թե որտեղ է այն:

Շատ նման է ռելեային սխեմայի, մենք պաշտպանելու ենք GPIO կապը 1KΩ ռեզիստորով; սակայն, մենք 10kΩ դիմադրիչ կօգտագործենք գետնին `քաշքշուկ ստեղծելու համար:

Ամեն ինչ միացնելուց հետո եկեք մագնիսը հեռացնենք եղեգի անջատիչից, միացնենք P, i- ն և հայտնվենք հրամանի տող և նախաստորագրենք GPIO- ն ՝ նշելով, որ այս անգամ մենք ստեղծում ենք մուտքային GPIO.

sudo echo "17">/sys/class/gpio/export

sudo echo "in">/sys/class/gpio/gpio17/ուղղություն sudo cat/sys/class/gpio/gpio17/արժեք

Արժեքը պետք է լինի զրո: Մագնիսը տեղափոխեք եղեգի անջատիչ: LED լույսը պետք է լուսավորվի, և արժեքը 1 է:

Վոյա! Մենք միացրել ենք մեր եղեգի անջատիչը Pi- ին:

Քայլ 9. Նախատիպերի տախտակի վրա մշտական լուծում պատրաստելը

Մշտական լուծում կատարել նախատիպերի տախտակի վրա
Մշտական լուծում կատարել նախատիպերի տախտակի վրա
Մշտական լուծում կատարել նախատիպերի տախտակի վրա
Մշտական լուծում կատարել նախատիպերի տախտակի վրա
Մշտական լուծում կատարել նախատիպերի տախտակի վրա
Մշտական լուծում կատարել նախատիպերի տախտակի վրա
Մշտական լուծում կատարել նախատիպերի տախտակի վրա
Մշտական լուծում կատարել նախատիպերի տախտակի վրա

Այժմ, երբ մենք գիտենք, թե ինչպիսին պետք է լինեն մեր սխեմաները, ժամանակն է նախատիպերի տախտակին ամրացնել մշտական տարբերակը: Քանի որ ես օգտագործում եմ Pi Zero W, ես ձեռք բերեցի փոքր նախատախտակներ:

Ես մտածեցի, որ լավ կլինի օգտագործել Zero ձևաչափը և կարողանամ մեկ կամ մի քանի տախտակ տեղադրել, հավելյալ մոդուլ, որը Raspberry Pi- ն անվանում է HAT (Սարքավորումներ կցված են վերևում): Դե, տեխնիկապես, քանի որ այն չունի որևէ տիպի EEPROM և ինքն իրեն չի գրանցում, դա գլխարկ չէ, բայց ես պետք է այն ինչ -որ կերպ անվանեմ: Բայց ձևաչափը լավ է ամրացվում և վերացնում է առնետների բույնը էլեկտրագծերի, այնպես որ դա հաճելի է:

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

Կարծում էի, որ ես կարող եմ գլխարկ ստեղծել ավտոտնակի յուրաքանչյուր դռան համար, որը ցանկանում էի վերահսկել: Այսպիսով, դուք կարող եք ընդլայնել այս նախագիծը `ձեր կարիքներին համապատասխան:

Նախատախտակի վրա ես գտա, որ բավականաչափ տեղ կա երեք սխեման ստեղծելու համար.

  1. ռելեի միացում
  2. սենսորային միացում
  3. երկրորդ սենսորային միացում

Դա բավականին լավ է ցանկացած ավտոտնակի դռան նախագծի համար:

Այսպիսով, այն, ինչ ես արեցի, սենսորների համար օգտագործեցի GPIO17 և 27, իսկ ռելեի համար ՝ GPIO12: Այս պրոտո տախտակի իրոք հաճելի բանն այն է, որ կարող եք միացնել GPIO- ին ՝ առանց նույնիսկ վերնագրին դիպչելու: Բայց այո, դուք պետք է զոդեք իրար վրա տեղադրվող վերնագիր ՝ ձեր դիմադրողներից (և, ըստ ցանկության, LED- ների):

Ես բավականին վերստեղծեցի այն սխեմաները, որոնք նախատիպավորեցինք տախտակին: Կարող եք ասել, որ իմ զոդումը կատարյալ չէ, բայց այն դեռ աշխատում է: (Հաջորդ տախտակները ավելի լավը կլինեն, քանի որ ես վարժություններ եմ կատարել:) Ես ունեմ Aoyue 469 և 4 -ից բարձր մազից միայն մեկը լավագույն ջերմաստիճանն էր `հիմնված GPIO- ի վերնագրի զոդման առաջարկությունների վրա:

Ես օգտագործել եմ արտաքին միացված տողերը գետնի համար, իսկ ներքինը `3.3 Վ -ի համար: Եվ ես դիմադրության մետաղալարն օգտագործեցի որպես կամուրջ, քանի որ մենք իրար միացված տողեր չունեինք: Մնացածը բոլորը անկյունագծային են և կողային, որովհետև դա լավագույն միջոցն էր, որ կարողացա գտնել դրանք տախտակին տեղադրելու համար:

L-R- ից (նայելով առջևից, դիմադրության կողքից), իմ ավելացրած ելքային կապումներն են սենսորային GPIO լարերի, երկրորդ սենսորային GPIO լարերի և ռելեի GPIO լարերի համար: GPIO- ին ուղղակի միացման փոխարեն, որը մենք կարող էինք անել վերնագրից, այս կապումներն միանում են մեր բոլոր դիմադրողներին, իսկ սենսորների դեպքում ես ավելացրել եմ մի microLED: (Ուշադրություն դարձրեք, թե ինչպես է LED- ն գտնվում ամբողջովին առանձին հանգույցում, այնպես որ, եթե այն այրվի, միացումը դեռ աշխատում է):

Կցված է Fritzing ֆայլ, բայց քանի որ Instructables- ը խնդիրներ ունի ֆայլերի վերբեռնման հետ, ես ստիպված էի դրան տալ «txt» - ի կեղծ ընդլայնում `այն ներկառուցելու համար:

Քայլ 10: Հղումներ

Raspberry Pi Garage Door Opener Project (ոգեշնչում)

Idiot's Guide to a Raspberry Pi Garage Door Opener

iPhone կամ Android ավտոտնակի դռների բացիչ

Պետք է ռեզիստոր օգտագործե՞մ, թե՞ ոչ:

Օգտագործելով Pullup և Pulldown Resistors Raspberry Pi- ի վրա

SSH- ի կարգավորում

Ազնվամորի Պին Pin դիագրամներ:

SYSFS հրամաններ

WiringPi

Ռեզիստորներ և LED- ներ

Պաշտպանություն (sic) GPIO կապում

Ռեզիստորի գույնի կոդի հաշվիչ և գծապատկեր

Քաշեք-քաշեք և քաշեք ներքևի դիմադրիչները

GPIO լարման շեմեր

GPIO մուտքային լարման մակարդակները

GPIO վերահսկում config.txt- ում

GPIO Pull Up Resisance (sic)

Ինչու՞ են մեզ պետք արտաքին քաշվող դիմադրողները, երբ միկրոկոնտրոլերներն ունեն ներքին քաշող դիմադրիչներ:

Ի՞նչ է Raspberry Pi HAT- ը:

Ինչպես զոդել Raspberry Pi Zero W GPIO միակցիչը

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