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

Կառուցեք ավելի լավ ազնվամորի Pi հզորության կոճակ. 4 քայլ
Կառուցեք ավելի լավ ազնվամորի Pi հզորության կոճակ. 4 քայլ

Video: Կառուցեք ավելի լավ ազնվամորի Pi հզորության կոճակ. 4 քայլ

Video: Կառուցեք ավելի լավ ազնվամորի Pi հզորության կոճակ. 4 քայլ
Video: Récit:Bosnie Herzégovine Corruption en haut lieu 2024, Հուլիսի
Anonim
Image
Image

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

Կան նաև նախագծեր ՝ փակված Pi- ի վերագործարկման համար, բայց դրանք ոչ մի տեսողական արձագանք չեն տալիս:

Բայց ո՞ւմ է պետք նման կոճակը: Եթե դու ինձ պես մի փոքր անզգամ ես, կամ նույնիսկ պարզապես ձգտող դեբիլ, միշտ կարող ես մուտք գործել քո Pi տեղական կամ ցանցի միջոցով և մուտքագրել sudo shutdown –h հիմա: Բայց եթե դուք նախագիծ եք կառուցում ոչ տեխնիկական օգտագործողների համար, ապա դա պարզապես չի անի: Trueիշտ է, գրեթե միշտ կարող եք հեռանալ հոսանքի լարը քաշելով, բայց նշեք, ես գրեթե միշտ ասել եմ: Բոլորի բախտը վաղ թե ուշ սպառվում է: Ես SD քարտ էի մահացել ինձ վրա միայն անցած շաբաթ, չնայած երբեք չեմ իմանա ՝ դա իրո՞ք էներգիայի կտրուկ կորստի պատճառով էր, թե ոչ:

Իմ դեպքում ես պետք է միացնեի մի կոճակ այն Pi- ին, որը մենք օգտագործում ենք որպես midi հաջորդականիչ եկեղեցում օրհներգեր և երգեր ձայնագրելու և նվագարկելու համար, այն դեպքում, երբ մեզ մոտ չկա կենդանի դաշնակահար: Ես միշտ կարող եմ մուտքագրել անջատման հրամանը, բայց ես պետք է այն հմտացնեմ այն ժամանակ, երբ ես այնտեղ չեմ:

Այստեղ ես մտադիր չեմ ձեզ տրամադրել պատրաստի արտադրանք, որը համալրված է գեղեցիկ 3D տպագրված պատյանով, ինչպես շատ այլ հրահանգներ: Յուրաքանչյուրը տարբեր կերպ կօգտագործի այն կամ կցանկանա ներառել իր սեփական նախագծում: Ավելի շուտ, ես ձեզ կկարգավորեմ այն տեխնոլոգիայով, որը կարող եք ավելացնել ձեր նախագծին ՝ լինի դա մեդիա կենտրոն, IoT սարք, թե որևէ այլ բան:

(Տեսանյութում ես դա ցուցադրում եմ Pi Zero v1.2- ով և մոնիտորով, որը ես պատրաստել եմ նոութբուքի էկրանից և Հեռավոր Արևելքի վերահսկիչից):

Քայլ 1: Դիզայն

Ինչպես է դա աշխատում
Ինչպես է դա աշխատում

Ահա թե ինչ է անելու ձեզ համար իմ հոսանքի կոճակը.

  • Երբ Pi- ն աշխատում է, LED- ն անընդհատ վառվում է: Եթե այն ձեռքով անջատված է, LED- ն անջատվում է միայն այն դեպքում, երբ ապահով է հոսանքից անջատելը:
  • Վազելիս, եթե կոճակը սեղմում եք առնվազն մեկ վայրկյան, անջատումը սկսվում է, և LED- ն ամեն վայրկյան քառորդ վայրկյան անջատվում է, մինչև որ ապահով լինի հոսանքից անջատելը:
  • Անջատման վիճակից (եթե հոսանքը չի անջատվել), կոճակը սեղմելը սկսում է գործարկումը և ամեն վայրկյան քառորդ վայրկյան լուսարձակում է LED- ը, մինչև այն կբեռնվի: (Կարող է մի փոքր ավելի երկար տևել, մինչև բոլոր ծառայությունները, ինչպիսիք են ssh և vnc- ը, գործարկվեն):

Բաղադրիչները շատ էժան են: Ձեզ անհրաժեշտ է.

  • ATTiny85 (Arduino- ի հետ համատեղելի չիպ)
  • 3 դիմադրություն ՝ 2 x 330Ω և 1 x 10kΩ
  • 1 LED - Ես առաջարկում եմ կանաչ կամ կապույտ, բայց դա ձեր ընտրությունն է
  • տախտակամած և թռչկոտող մետաղալարեր, կամ շերտի տախտակ, կամ ինչպես ուզում եք այն կառուցել:

Քայլ 2: Ինչպես է այն աշխատում

Ինչպես Pi- ի բոլոր հոսանքի կոճակները, այնպես էլ այս մեկը GPIO- ի քորոցը ցածր վիճակի է բերում ՝ Pi- ով աշխատող օգնական ծրագրին անջատելու խնդրանքն ազդարարելու համար: Ես օգտագործել եմ GPIO4 (փին 7), բայց դուք կարող եք օգտագործել ցանկացած այլ քորոց:

Միակ միջոցը `ասելու, որ Pi- ն ավարտել է անջատումը, դիտելն է TxD կապ 8 -ը, որն այնուհետև իջնում է: Սա կախված է սերիական վահանակի միացումից, որը դա լռելյայն է: Իրականում TxD- ը պարբերաբար բարձրանալու և իջնելու է, մինչ այն օգտագործվում է որպես սերիական վահանակ, բայց այն երբեք չի իջնի ավելի քան 30 մՍ -ով միաժամանակ, նույնիսկ ամենադանդաղ ընդհանուր բաուդ արագությամբ: Այն դեռ կարող է օգտագործվել սերիական վահանակի համար, քանի որ մենք պարզապես պասիվ ենք դիտում այն:

Վերագործարկելու համար մենք պետք է հակիրճ քաշենք SCL1 (pin 5) ցածր: Այս քորոցն օգտագործվում է ցանկացած I2C սարքերի կողմից (ներառյալ իմ միջերեսի ինտերֆեյսը), բայց բեռնախցիկը սկսելուց հետո մենք այն հանգիստ ենք թողնում:

Բարդության մեծ մասը գտնվում է Arduino էսքիզի մեջ, որը մենք բեռնում ենք ATTiny85- ում: Սա իրականացնում է «պետական մեքենա» `ցանկացած խնդրի կոդավորման շատ օգտակար և հզոր միջոց, որը կարող է ներկայացվել մի շարք« վիճակների »միջոցով: Լվացքի մեքենան աշխատում է նույն կերպ: Նահանգները ներկայացնում են լվացման ցիկլի փուլերը, և յուրաքանչյուրը սահմանում է, թե ինչ պետք է անի մեքենան այդ պահին (շարժիչներ կամ պոմպեր, որոնք պետք է գործարկվեն, փականները բացվեն կամ փակվեն) և ինչ տվիչների մուտքերը (ջերմաստիճան, ջրի մակարդակ, ժամաչափ) որոշել, թե երբ է տեղափոխվելու հաջորդ պետություն և որ հաջորդ նահանգն է ընտրել:

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

Մեր դեպքում մենք ունենք 6 վիճակ, որոնք ես անվանել եմ OFF, BOOT REQUEST, BOOTING, RUNNING, SHUTDOWN REQUEST և SHUTTING DOWN: (ՓԱԿՈՄ -ից հետո այն վերադառնում է OFF): Դրանք որոշվում են ուրվագծի մեկնաբանություններով, և յուրաքանչյուրի համար հետագա մեկնաբանությունները ասում են, թե ինչ պետք է անի և ինչ իրադարձություններ կտեղափոխեն այն այլ վիճակի:

Pi- ի վրա աշխատող օգնական ծրագիրը մի փոքր ավելի բարդ է, քան անջատման կոճակների մեծամասնության համար: Այն արձագանքում է GPIO- ի քորոցի երկար ցածր զարկերակին ՝ սկսելով անջատում, բայց նաև արձագանքում է կարճ զարկերակին ինքնին կարճ համառոտ քաշելով GPIO- ի քորոցը: Այսպես ATTiny85- ը կարող է ասել, որ այն աշխատում է և կարող է BOOTING- ից անցնել ՎԱUNԱՌԻՆ վիճակ:

Քայլ 3. Կառուցեք դեմո նախատիպ

Կառուցեք դեմո նախատիպ
Կառուցեք դեմո նախատիպ
Կառուցեք դեմո նախատիպ
Կառուցեք դեմո նախատիպ
Կառուցեք դեմո նախատիպ
Կառուցեք դեմո նախատիպ

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

Քայլ 4. ATTiny85- ի ծրագրավորում

Այս քայլին կցված են Arduino էսքիզը և օգնական ծրագիրը: Ձեր Arduino էսքիզների թղթապանակում ստեղծեք մի թղթապանակ, որը կոչվում է PiPwr և պատճենեք PiPwr.ino ֆայլը դրա մեջ: Գործարկելով Arduino IDE- ն, այժմ այն կգտնեք ձեր ուրվագծային գրքում:

ATTiny85- ի ծրագրավորման մի քանի եղանակ կա: Եթե ձերն ունի տեղադրված bootloader, կարող եք օգտագործել ATTiny85 զարգացման տախտակ, որն արժե ընդամենը մի քանի ֆունտ: Սա միանում է ձեր համակարգչին USB պորտի միջոցով: Ես օգտագործեցի Hidiot- ը, որն ըստ էության նույնն է, բայց նախատիպերի տիրույթով:

Arduino IDE- ում Ֆայլ - Նախապատվություններ, ավելացրեք

digistump.com/package_digistump_index.json

դեպի լրացուցիչ խորհուրդների մենեջերի URL- ներ:

Գործիքներ - տախտակի ներքո այժմ դուք պետք է տեսնեք Digispark- ի մի շարք տարբերակներ: Ընտրեք Digispark (Default - 16.5MHz):

Եթե ձեր ATTiny85- ը չունի bootloader (կամ չգիտեք), ապա կարող եք ձեռք բերել AVR ISP ծրագրավորող մի քանի ֆունտ ստեռլինգով: Կամ որպես ծրագրավորող կարող եք օգտագործել Arduino Uno կամ ավելի էժան Pro Mini կամ Nano: Google- ի համար «arduino as isp attiny85» (առանց չակերտների) հրահանգների համար:

Եթե ցանկանում եք փոփոխել ուրվագիծը, այն ամբողջությամբ մեկնաբանված կլինի, և հուսով եմ ՝ հեշտ կլինի հետևել: Վրիպազերծման համար շատ ավելի հեշտ է օգտագործել Arduino Pro Mini կամ Nano: Մեկնաբանեք կարգաբերման serial.begin () և օղակի մեջ տպված հայտարարությունները () ՝ սերիական մոնիտորի միջոցով տեսած քայլերը տեսնելու համար: Աղբյուրում կան այլընտրանքային բնորոշումներ `Uno, Pro Mini կամ Nano- ի համար:

Ձեր Raspberry Pi- ում պատճենեք shutdown_helper.py ֆայլը/etc/local/bin թղթապանակին և հրամանի հետ սահմանեք այն որպես գործարկելի

sudo chmod +x /usr/local/bin/shutdown_helper.py

Այժմ խմբագրեք ֆայլը /etc/rc.local ձեր նախընտրած խմբագրիչով: (Դուք պետք է դա անեք որպես արմատ:) Մինչև վերջին տողը (ելք 0) տեղադրեք տողը

nohup /usr/local/bin/shutdown_helper.py &

Վերագործարկեք, և օգնականի ծրագիրը ինքնաբերաբար կսկսվի:

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