Kazalo:
- Korak: Elektronsko vezje
- 2. korak: Koda Python
- 3. korak: Kako samodejno zagnati skript po zagonskem postopku
Video: Gumb za izklop za Raspberry Pi: 3 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:02
Raspberry Pi je zelo uporabna računalniška platforma, ki omogoča ustvarjanje različnih aplikacij za IoT/robotiko/pametni dom/…. Edina stvar, ki je v primerjavi z običajnim računalnikom nima, je gumb za izklop. Kako si ga torej lahko sami ustvarimo? V redu, naredimo skupaj!
Za to vadnico boste potrebovali naslednje:
- 1 Raspberry Pi je že konfiguriran in pripravljen za uporabo
- 1 mizo ali nekaj, kar vam bo omogočilo ustvarjanje elektronskega vezja
- 1 gumb
- 2 mostični žici
Če še nikoli niste uporabljali Raspberry Pi, si oglejte mojo vadnico o tem, kako in kaj storiti, da ga konfigurirate:
www.instructables.com/How-to-Setup-a-Raspberry-Pi-and-Start-Using-It/
Korak: Elektronsko vezje
Tukaj ni nič zelo zapletenega, to je precej enostaven krog. Zgornji 2 sliki pojasnjujeta konstrukcijo vezja. Za vnos gumbov lahko uporabite kateri koli pin GPIO, le posodobiti morate kodo, da to odraža.
Naj hitro razložimo, kako bo to delovalo:
- RDEČA žica vodi 3.3V na en konec potisnega gumba.
- ČRNI kabel povezuje drugi konec gumba s Pi GPIO, ki bo uporabljen kot vhod.
- privzeto je gumb odprt, zato skozi njega ne prehaja napetost. ČRNI kabel je torej pri 0V, ko gumba ne pritisnete. To pomeni, da je logično stanje vhoda Pi GPIO 0.
- ko pritisnete gumb, bo napetost prešla skozi njega in ČRNI kabel bo povezan z 3.3V. Raspberry Pi bo nato na vhodu videl napetost 3,3 V, kar ustreza logičnemu stanju 1.
2. korak: Koda Python
Zdaj, ko je vezje pripravljeno za uporabo, moramo napisati kodo, ki ga bo izvajala, in tukaj uporabljam Python v okolju PyCharm. Gumb sem konfiguriral za izklop Raspberry Pi le, če je pritisnjen več kot 3 sekunde. Razlog, zakaj to počnem, je, da ga je zelo enostavno naključno pritisniti in ne želite po naključju izklopiti svojega Pi.
Zgornji zaslon za tiskanje je iz mojega okolja PyCharm in koda je naslednja (z manjšo razliko v vrstici 26, ki je povezana z drugim projektom, vendar tukaj ni potrebna):
# To je aa koda za izklop Raspberry Pi, ko pritisnete in držite določen gumb # Zunanji modul importi uvoz RPi. GPIO kot GPIOimport timeimport os # Raspberry Pi pin & spremenljivke definitons & hold_time = 3 # Čas zadrževanja v sekundah za poweroffbutton_poweroff = 1 # Pritisnite gumb za izklop Raspberry PiGPIO.setwarnings (False) GPIO.setmode (GPIO. BCM) # Shema oštevilčevanja pin-številk Broadcom GPO.setup (button_poweroff, GPIO. IN, pull_up_down = GPIO. PUD_DOWN) # Gumb nastavljen kot vnos medtem ko je True: GPIO.wait_for_edge (button_poweroff, GPIO. RISING) start = time.time () time.sleep (0.2) # Preklopi debounce, medtem ko GPIO.input (button_poweroff) == 1: time.sleep (0.01) length = time.time () - start if length > hold_time: os.system ("sudo poweroff")
Prva stvar, če ste pritisnili gumb na drug GPIO, je, da vrstico 11 na zgornjem zaslonu za tiskanje posodobite z ustreznim vhodom GPIO:
button_poweroff = GPIO_X # Posodobite s pravilnim GPIO, uporabljenim v vašem vezju
Tudi spremenljivka hold_time vam omogoča, da spremenite čakalni čas, ki sproži izklop Pi.
3. korak: Kako samodejno zagnati skript po zagonskem postopku
Zdaj, ko imamo kodo pripravljeno, jo moramo le izvesti. Vendar bi bilo priročno, če bi lahko izvedli ta skript vsakič, ko se Pi zažene, na samodejen način, tako da bi gumb deloval brez nas, da vsakič zaženemo skript. Obstaja veliko načinov za to. Tu sem dodal eno vrstico v datoteko rc.local, ki se nahaja v mapi / etc / vašega Pi. Izvede se kot del zagonskega zaporedja.
Odpreti morate ukazno vrstico in vnesti naslednje ukaze (prvi zaslon za tiskanje zgoraj):
cd /
cd itd sudo nano rc.local
Prvi ukaz vas popelje iz imenika /home /pi v korenskega, ki je /.
Drugi ukaz vas nato popelje v imenik / etc /.
Nazadnje bo tretji odprl datoteko rc.local kot superkorisnik s polnimi pravicami za urejanje, ki jih morate spremeniti.
Ko ste v datoteki, morate le dodati vrstico na koncu le -tega, vendar pred stavkom exit 0 (2. zaslon za tiskanje zgoraj):
# Dodajte to vrstico v datoteko rc.local, da zaženete skript
sudo python /home/pi/Documents/shutdown_with_hold.py &
Tukaj je nekaj stvari, na katere morate biti pozorni:
- ime vaše datoteke: v zgornji vrstici predvidevam, da je datoteka shutdown_with_hold.py. Lahko pa je karkoli želite, samo posodobite ime s svojim.
- kjer ste shranili datoteko: v zgornji vrstici predvidevam, da je shranjena v vašem imeniku/home/pi/Documents. Ampak spet je lahko kjerkoli. Tukaj morate samo vnesti absolutno pot do svoje datoteke.
- znak "&" na koncu: to je pomembno in omogoča, da se ta ukaz izvaja v ozadju
In to je to! Zdaj se bo skript izvedel vsakič, ko bo vaš Pi vklopljen, za izklop pa boste morali pritisniti gumb več kot 3 sekunde.
Priporočena:
Gumb za izklop zvoka Microsoft Teams: 4 koraki
Gumb za izklop zvoka Microsoft Teams: Zgradite lahko dostopen gumb, s katerim se boste med klicem v skupini Microsoft Teams utišali/vklopili! Ker 2020. Ta projekt uporablja Adafruit Circuit Playground Express (CPX) in velik gumb za ustvarjanje gumba za izklop zvoka za Microsoft Teams prek vroče tipke
Ventilator za enostavno pritrditev s stikalom za vklop/izklop: 3 koraki
Enostaven ventilator s stikalom za vklop/izklop: To je enostaven projekt z uporabo zaskočnih vezij-upam, da vam bo všeč! Ta projekt je za zabavo in morda bi vam lahko pomagal, da se ohladite. V resnici ne gre tako, ampak hej, poučno je! P.S. Ta projekt je namenjen samo začetnikom brez demonstracije
Kako narediti stikalo za vklop/izklop na dotik za gospodinjske aparate: 4 koraki
Kako narediti stikalo za vklop/izklop na dotik za gospodinjske aparate: to je stikalo za vklop/izklop na dotik brez mikrokrmilnika. Ali se lahko dotaknete prsta? Prvič na kovinski plošči in nato žarnica? VKLOP in po odstranitvi prstne žarnice? Ostati na. Ali se lahko dotaknete prsta? Drugič na kovinski plošči, nato žarnica?
Gumb za fizični izklop zvoka za srečanja: 7 korakov (s slikami)
Zoom Meetings Gumb za fizični izklop zvoka: Če uporabljate zoom sestanke za delo ali šolo, je ta gumb za vas! Pritisnite gumb, da preklopite izklop zvoka, ali pa pritisnite gumb, da zapustite sestanek (ali ga končajte, če ste gostitelj). odlična stvar pri tem je, da deluje, tudi če je vaš Zoom windo
Vklop/izklop Raspberry Pi s katerim koli daljinskim upravljalnikom: 3 koraki (s slikami)
Raspberry Pi vklop/izklop s katerim koli daljinskim upravljalnikom: krmiljenje napajanja na Raspberry Pi z daljinskim upravljalnikom IR