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

Ազնվամորի Pi- ի անջատման կոճակ. 3 քայլ
Ազնվամորի Pi- ի անջատման կոճակ. 3 քայլ

Video: Ազնվամորի Pi- ի անջատման կոճակ. 3 քայլ

Video: Ազնվամորի Pi- ի անջատման կոճակ. 3 քայլ
Video: Ռադիո, որը բռնում է ԱՄԵՆ ԻՆՉ!!! RETEKESS TR105 #retekess #tr105 2024, Նոյեմբեր
Anonim
Անջատման կոճակ Raspberry Pi- ի համար
Անջատման կոճակ Raspberry Pi- ի համար

Raspberry Pi- ն շատ օգտակար հաշվողական հարթակ է, որը թույլ է տալիս ստեղծել տարբեր IoT/ռոբոտաշինություն/smart-home/… նախագծային ծրագրեր: Միակ բանը, որ այն չունի, համեմատած սովորական համակարգչի հետ, անջատման անջատման կոճակն է: Այսպիսով, ինչպես կարող ենք ինքներս ստեղծել մեկը: Լավ, եկեք միասին անենք:

Այս ձեռնարկի համար ձեզ հարկավոր է հետևյալը.

  • 1 Raspberry Pi- ն արդեն կազմաձևված է և պատրաստ է օգտագործման համար
  • 1 տախտակ կամ մի բան, որը թույլ կտա ստեղծել էլեկտրոնային միացում
  • 1 կոճակ
  • 2 թռիչքային լարեր

Եթե երբեք չեք օգտագործել Raspberry Pi- ն, կարող եք ծանոթանալ իմ ձեռնարկին, թե ինչպես և ինչ անել այն կազմաձևելու համար.

www.instructables.com/How-to-Setup-a-Raspberry-Pi-and-Start-Using-It/

Քայլ 1: Էլեկտրոնային միացում

Էլեկտրոնային միացում
Էլեկտրոնային միացում
Էլեկտրոնային միացում
Էլեկտրոնային միացում
Էլեկտրոնային միացում
Էլեկտրոնային միացում

Այստեղ ոչինչ շատ բարդ չէ, դա բավականին պարզ միացում է: Վերոնշյալ 2 նկարները բացատրում են միացման կառուցվածքը: Դուք կարող եք օգտագործել GPIO- ի ցանկացած քորոց, որը ցանկանում եք կոճակի մուտքագրման համար, պարզապես պետք է համոզվեք, որ թարմացնեք ծածկագիրը ՝ դա արտացոլելու համար:

Եկեք արագ բացատրենք, թե ինչպես է դա աշխատելու.

  • ԿԱՐՄԻՐ մետաղալարը 3.3 Վ լարման կոճակը տանում է դեպի մեկ ծայրը:
  • BLACK մալուխը միացնում է կոճակի մյուս ծայրը Pi GPIO- ին, որը կօգտագործվի որպես մուտք:
  • լռելյայն կոճակը բաց է, այնպես որ դրա միջով լարվածություն չկա: Այսպիսով, Սև մալուխը գտնվում է 0V- ում, երբ կոճակը սեղմված չէ: Սա նշանակում է, որ Pi GPIO մուտքի տրամաբանական վիճակը 0 է:
  • երբ կոճակը սեղմվի, լարումը կանցնի դրա միջով, և Սև մալուխը կկապվի 3.3 Վ -ի հետ: Այնուհետև Raspberry Pi- ն իր մուտքի մոտ կտեսնի 3.3V լարում ՝ համապատասխան 1 -ի տրամաբանական վիճակին:

Քայլ 2: Python կոդ

Python կոդ
Python կոդ

Այժմ, երբ շղթան պատրաստ է օգտագործման համար, մենք պետք է գրենք այն կոդը, որը կգործարկի այն, և ես Python- ն օգտագործում եմ այստեղ PyCharm միջավայրում: Ես կարգավորել եմ Raspberry Pi- ն անջատելու կոճակը միայն այն դեպքում, երբ այն համապատասխանաբար սեղմվում է ավելի քան 3 վայրկյան: Պատճառը, թե ինչու եմ դա անում, այն է, որ շատ հեշտ է այն պատահաբար սեղմել, և դուք չեք ցանկանում ձեր Pi- ն պատահաբար փակել:

Վերևի տպագիր էկրանը իմ PyCharm միջավայրից է, և ծածկագիրը հետևյալն է (26 -րդ տողում աննշան տարբերությամբ, որը կապված է մեկ այլ նախագծի հետ, բայց այստեղ չի պահանջվում).

# Սա aa ծածկագիր է ՝ անջատելու Raspberry Pi- ն, երբ սեղմում և պահում եք սահմանված կոճակը Raspberry PiGPIO.setwarnings (False) GPIO.setmode (GPIO. BCM) # Broadcom pin-numbering սխեմա անջատել button_poweroff, GPIO. RISING) սկիզբ = time.time () time.sleep (0.2) # Switch debounce while GPIO.input (button_poweroff) == 1: time.sleep (0.01) length = time.time () - սկսել, եթե երկարությունը > hold_time: os.system ("sudo poweroff")

Առաջին բանը, եթե կոճակը միացրել եք այլ GPIO- ի, վերը նշված տպագիր էկրանի 11 -րդ տողը թարմացնելն է ՝ համապատասխան GPIO մուտքագրմամբ.

button_poweroff = GPIO_X # Թարմացրեք ձեր շղթայում օգտագործված ճիշտ GPIO- ով

Բացի այդ, hold_time փոփոխականը թույլ է տալիս փոփոխել սպասման ժամանակը, որը հանգեցնում է Pi- ի անջատմանը:

Քայլ 3. Ինչպես ինքնաբերաբար գործարկել սկրիպտը բեռնման ընթացակարգից հետո

Ինչպես ինքնաբերաբար գործարկել սկրիպտը բեռնման ընթացակարգից հետո
Ինչպես ինքնաբերաբար գործարկել սկրիպտը բեռնման ընթացակարգից հետո
Ինչպես ինքնաբերաբար գործարկել սկրիպտը բեռնման ընթացակարգից հետո
Ինչպես ինքնաբերաբար գործարկել սկրիպտը բեռնման ընթացակարգից հետո

Այժմ, երբ մենք պատրաստ ենք կոդը, մենք պարզապես պետք է այն կատարենք: Բայց, հարմար կլինի, եթե մենք կարողանանք այս սցենարը կատարել ամեն անգամ, երբ Pi- ն գործարկում է, ավտոմատ կերպով, այնպես որ կոճակը կաշխատի առանց մեզ ՝ ամեն անգամ սցենարը գործարկելու համար: Կան բազմաթիվ եղանակներ դա անելու համար: Ես այստեղ մի տող եմ ավելացրել rc.local ֆայլի մեջ, որը գտնվում է ձեր Pi- ի / etc / թղթապանակում: Այն կատարվում է որպես բեռնման հաջորդականության մաս:

Դուք պետք է բացեք հրամանի տող և մուտքագրեք հետևյալ հրամանները (վերևի 1 -ին տպագիր էկրան).

cd /

cd և այլն sudo nano rc.local

Առաջին հրամանը կտանի ձեզ ձեր /home /pi գրացուցակից դեպի արմատ, որը /է:

Երկրորդ հրամանը ձեզ կտանի դեպի / etc / գրացուցակ:

Ի վերջո, երրորդը կբացի rc.local ֆայլը որպես գերօգտագործող ՝ ամբողջական խմբագրման իրավունքներով, որոնք անհրաժեշտ են ֆայլը փոփոխելու համար:

Ֆայլում հայտնվելուց հետո պարզապես անհրաժեշտ է ավելացնել տող դրա վերջում, բայց մինչև ելքի 0 հայտարարությունը (վերը նշված 2 -րդ տպագիր էկրանը).

# Ավելացրեք այս տողը rc.local ֆայլին `սցենարը գործարկելու համար

sudo python /home/pi/Documents/shutdown_with_hold.py &

Կան մի քանի բաների, որոնց պետք է ուշադրություն դարձնել ՝ այստեղ.

  1. Ձեր ֆայլի անունը. վերևի տողում ես ենթադրում եմ, որ ֆայլը անջատված է Բայց դա կարող է լինել այն, ինչ ցանկանում եք, պարզապես անունը թարմացրեք ձերով:
  2. որտեղ դուք պահել եք ձեր ֆայլը. վերևի տողում ես ենթադրում եմ, որ այն պահված է ձեր/home/pi/Documents գրացուցակում: Բայց կրկին, դա կարող է լինել ամենուր: Պարզապես պետք է համոզվեք, որ այստեղ տեղադրեք ձեր ֆայլի բացարձակ ուղին:
  3. «&» նշանը դրա վերջում. սա կարևոր է, և այն թույլ է տալիս այս հրամանը գործարկել հետին պլանում

Եվ վերջ! Այսպիսով, այժմ սցենարը կկատարվի ամեն անգամ, երբ ձեր Pi- ն միացված կլինի, և այն անջատելու համար պարզապես պետք է սեղմել կոճակի վրա ավելի քան 3 վայրկյան:

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