Obsah:

Vypínacie tlačidlo pre Raspberry Pi: 3 kroky
Vypínacie tlačidlo pre Raspberry Pi: 3 kroky

Video: Vypínacie tlačidlo pre Raspberry Pi: 3 kroky

Video: Vypínacie tlačidlo pre Raspberry Pi: 3 kroky
Video: Полное руководство по Google Forms - универсальный инструмент для опросов и сбора данных онлайн! 2024, December
Anonim
Vypínacie tlačidlo pre Raspberry Pi
Vypínacie tlačidlo pre Raspberry Pi

Raspberry Pi je veľmi užitočná počítačová platforma, ktorá umožňuje vytváranie rôznych projektových aplikácií IoT/robotika/smart-home/…. Jedna vec, ktorú v porovnaní s bežným počítačom nemá, je vypínač. Ako si ich teda môžeme vytvoriť sami? Dobre, urobme to spoločne!

Na tento tutoriál budete potrebovať nasledujúce:

  • 1 Raspberry Pi je už nakonfigurovaný a pripravený na použitie
  • 1 breadboard alebo niečo, čo vám umožní vytvoriť elektronický obvod
  • 1 tlačidlo
  • 2 prepojovacie vodiče

Ak ste Raspberry Pi nikdy nepoužívali, môžete si pozrieť môj návod, ako a čo urobiť pre jeho konfiguráciu:

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

Krok 1: Elektronický obvod

Elektronický obvod
Elektronický obvod
Elektronický obvod
Elektronický obvod
Elektronický obvod
Elektronický obvod

Nie je tu nič super komplikované, je to celkom jednoduchý okruh. 2 obrázky vyššie vysvetľujú stavbu obvodu. Na tlačidlový vstup môžete použiť ľubovoľný požadovaný pin GPIO, stačí sa uistiť, že ste aktualizovali kód, aby to zodpovedal.

Poďme rýchlo vysvetliť, ako to bude fungovať:

  • ČERVENÝ vodič privádza 3,3 V na jeden koniec tlačidla.
  • ČIERNY kábel pripája druhý koniec tlačidla k Pi GPIO, ktorý bude použitý ako vstup.
  • v predvolenom nastavení je tlačidlo otvorené, takže ním neprechádza žiadne napätie. Keď nie je tlačidlo stlačené, ČIERNY kábel je na 0V. To znamená, že logický stav vstupu Pi GPIO je 0.
  • keď bude tlačidlo stlačené, prejde ním napätie a ČIERNY kábel bude prepojený s 3,3V. Raspberry Pi potom uvidí na svojom vstupe napätie 3,3 V, čo zodpovedá logickému stavu 1.

Krok 2: Python kód

Python kód
Python kód

Teraz, keď je obvod pripravený na použitie, musíme napísať kód, ktorý ho spustí, a tu používam Python v prostredí PyCharm. Tlačidlo som nakonfiguroval tak, aby vypínal Raspberry Pi iba vtedy, ak ho stlačíte viac ako 3 sekundy. Dôvod, prečo to robím, je ten, že je veľmi jednoduché omylom ho stlačiť a nechcete náhodou vypnúť Pi.

Obrazovka printscreen vyššie pochádza z môjho prostredia PyCharm a kód je nasledujúci (s malým rozdielom na riadku 26, ktorý je prepojený s iným projektom, ale tu sa nevyžaduje):

# Toto je kód pre vypnutie Raspberry Pi pri stlačení a podržaní definovaného tlačidla # Externý modul importuje import RPi. GPIO ako GPIOimport časový import os # Raspberry Pi pin a premenné definície & hold_time = 3 # Čas držania v sekundách do poweroffbutton_poweroff = 1 # Tlačidlo vypnúť Raspberry PiGPIO.setwarnings (False) GPIO.setmode (GPIO. BCM) # Schéma číslovania pinov BroadcomGPIO.setup (button_poweroff, GPIO. IN, pull_up_down = GPIO. PUD_DOWN) # Tlačidlo nastavené ako vstupné True: GPIO.wait_for_edge (button_poweroff, GPIO. RISING) start = time.time () time.sleep (0.2) # Switch debounce while GPIO.input (button_poweroff) == 1: time.sleep (0.01) length = time.time () - start if length > hold_time: os.system ("sudo poweroff")

Prvá vec, ak ste tlačidlo pripojili k inému GPIO, je aktualizovať riadok 11 na vyššie uvedenej tlačovej obrazovke s príslušným vstupom GPIO:

button_poweroff = GPIO_X # Aktualizujte pomocou správneho GPIO použitého vo vašom obvode

Premenná hold_time vám tiež umožňuje upraviť čakaciu dobu, po ktorej sa Pi vypne.

Krok 3: Ako automaticky spustiť skript po postupe zavádzania

Ako automaticky spustiť skript po postupe zavádzania
Ako automaticky spustiť skript po postupe zavádzania
Ako automaticky spustiť skript po postupe zavádzania
Ako automaticky spustiť skript po postupe zavádzania

Teraz, keď máme kód pripravený, stačí ho spustiť. Ale bolo by vhodné, keby sme mohli nechať tento skript spustiť vždy, keď sa Pi spustí, automaticky, takže tlačidlo by fungovalo bez toho, aby sme skript spustili zakaždým. Existuje mnoho spôsobov, ako to urobiť. Pridal som sem jeden riadok do súboru rc.local, ktorý sa nachádza v priečinku / etc / vášho Pi. Vykonáva sa ako súčasť bootovacej sekvencie.

Musíte otvoriť príkazový riadok a zadať nasledujúce príkazy (1. tlačová obrazovka vyššie):

cd /

cd atď sudo nano rc.local

Prvý príkaz vás zavedie z adresára /home /pi do koreňového adresára, ktorým je /.

Druhý príkaz vás potom zavedie do adresára / etc /.

Nakoniec tretí otvorí súbor rc.local ako superužívateľ s úplnými právami na úpravy, ktoré potrebujete na úpravu súboru.

Keď ste v súbore, stačí pridať riadok na jeho koniec, ale pred príkaz ukončenia 0 (2. tlačová obrazovka vyššie):

# Skript spustíte pridaním tohto riadka do súboru rc.local

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

Tu je niekoľko vecí, ktorým by ste mali venovať pozornosť:

  1. názov vášho súboru: v riadku vyššie predpokladám, že súbor je shutdown_with_hold.py. Ale môže to byť čokoľvek, stačí aktualizovať meno svojim.
  2. kam ste uložili súbor: v riadku vyššie predpokladám, že je uložený vo vašom adresári/home/pi/Documents. Ale opäť to môže byť kdekoľvek. Tu sa uistite, že ste zadali absolútnu cestu k svojmu súboru.
  3. znak „&“na jeho konci: je to dôležité a umožňuje tomuto príkazu bežať na pozadí

A je to! Teraz sa teda skript spustí vždy, keď bude váš Pi zapnutý, a na jeho vypnutie budete musieť stlačiť tlačidlo viac ako 3 sekundy.

Odporúča: