Turinys:

„Raspberry Pi“išjungimo mygtukas: 3 žingsniai
„Raspberry Pi“išjungimo mygtukas: 3 žingsniai

Video: „Raspberry Pi“išjungimo mygtukas: 3 žingsniai

Video: „Raspberry Pi“išjungimo mygtukas: 3 žingsniai
Video: 1. Q Light Controller + pradedama naudoti QLC +. Šviestuvai ir funkcijos 2024, Lapkritis
Anonim
„Raspberry Pi“išjungimo mygtukas
„Raspberry Pi“išjungimo mygtukas

„Raspberry Pi“yra labai naudinga skaičiavimo platforma, leidžianti kurti įvairias daiktų interneto/robotikos/išmaniųjų namų/… projektų programas. Vienintelis dalykas, kurio jis neturi, palyginti su įprastu kompiuteriu, yra išjungimo išjungimo mygtukas. Taigi, kaip mes galime tai sukurti patys? Gerai, padarykime tai kartu!

Šiai pamokai jums reikės:

  • 1 „Raspberry Pi“jau sukonfigūruota ir paruošta naudoti
  • 1 duonos lenta ar kažkas, kas leis jums sukurti elektroninę grandinę
  • 1 mygtukas
  • 2 jungiamieji laidai

Jei niekada nenaudojote „Raspberry Pi“, galite peržiūrėti mano vadovėlį, kaip ir ką daryti, kad jį sukonfigūruotumėte:

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

1 žingsnis: elektroninė grandinė

Elektroninė grandinė
Elektroninė grandinė
Elektroninė grandinė
Elektroninė grandinė
Elektroninė grandinė
Elektroninė grandinė

Čia nėra nieko sudėtingo, tai gana paprasta grandinė. Aukščiau pateiktos 2 nuotraukos paaiškina grandinės konstrukciją. Mygtuko įvedimui galite naudoti bet kurį norimą GPIO kaištį, tik turėsite būtinai atnaujinti kodą, kad tai atspindėtų.

Greitai paaiškinkime, kaip tai veiks:

  • RAUDONAS laidas nukreipia 3.3V į vieną mygtuko galą.
  • juodas kabelis jungia kitą mygtuko galą prie „Pi GPIO“, kuris bus naudojamas kaip įvestis.
  • pagal numatytuosius nustatymus mygtukas yra atidarytas, todėl per jį nėra įtampos. Taigi juodas kabelis yra 0V, kai mygtukas nėra paspaustas. Tai reiškia, kad loginė Pi GPIO įvesties būsena yra 0.
  • kai mygtukas bus paspaustas, įtampa praeis per jį ir JUODAS kabelis bus prijungtas prie 3.3V. Tada „Raspberry Pi“savo įvestyje matys 3,3 V įtampą, atitinkančią loginę būseną 1.

2 žingsnis: „Python“kodas

Python kodas
Python kodas

Dabar, kai grandinė yra paruošta naudoti, turime parašyti kodą, kuris ją paleis, ir aš čia naudoju „Python“„PyCharm“aplinkoje. Aš sukonfigūravau mygtuką išjungti „Raspberry Pi“tik tada, kai jis paspaudžiamas ilgiau nei 3 sekundes. Priežastis, kodėl taip darau, yra ta, kad labai lengva ją netyčia paspausti ir nenorite atsitiktinai išjungti „Pi“.

Aukščiau esantis spaudos ekranas yra iš mano „PyCharm“aplinkos, o kodas yra toks (su nedideliu skirtumu 26 eilutėje, kuri yra susieta su kitu projektu, bet čia nereikalinga):

# Tai yra kodas, skirtas išjungti „Raspberry Pi“, kai paspaudžiamas ir laikomas nuspaustas mygtukas išjungti „Raspberry PiGPIO.setwarnings“(klaidinga) GPIO.setmode (GPIO. BCM) # „Broadcom“kaiščių skaičiavimo schemaGPIO.setup (button_poweroff, GPIO. IN, pull_up_down = GPIO. PUD_DOWN) # Mygtukas nustatytas kaip įvestis, tiesa: 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) ilgis = time.time () - pradėti, jei ilgis > hold_time: os.system ("sudo išjungimas")

Pirmas dalykas, jei prijungėte mygtuką prie kito GPIO, atnaujinkite 11 eilutę aukščiau esančiame spausdinimo ekrane naudodami atitinkamą GPIO įvestį:

button_poweroff = GPIO_X # Atnaujinkite naudodami tinkamą grandinėje naudojamą GPIO

Be to, kintamasis hold_time leidžia keisti laukimo laiką, dėl kurio Pi išsijungia.

3 žingsnis: Kaip automatiškai paleisti scenarijų po įkrovos procedūros

Kaip automatiškai paleisti scenarijų po įkrovos procedūros
Kaip automatiškai paleisti scenarijų po įkrovos procedūros
Kaip automatiškai paleisti scenarijų po įkrovos procedūros
Kaip automatiškai paleisti scenarijų po įkrovos procedūros

Dabar, kai turime paruoštą kodą, mums tereikia jį vykdyti. Tačiau būtų patogu, jei šį scenarijų būtų galima vykdyti kiekvieną kartą, kai „Pi“paleidžiamas automatiškai, todėl mygtukas veiktų be mūsų, kad kiekvieną kartą paleistume scenarijų. Yra daug būdų tai padaryti. Čia pridėjau vieną eilutę į rc.local failą, esantį jūsų Pi aplanke / etc /. Jis vykdomas kaip įkrovos sekos dalis.

Turite atidaryti komandų eilutę ir įvesti šias komandas (pirmasis spausdinimo ekranas aukščiau):

cd /

cd ir tt sudo nano rc.local

Pirmoji komanda nuves jus iš /home /pi katalogo į pagrindinį, kuris yra /.

Antroji komanda nuves jus į / etc / katalogą.

Galiausiai trečiasis atidarys „rc.local“failą kaip supernaudotojas, turintis visas redagavimo teises, kurias turite pakeisti.

Patekę į failą, tiesiog turite pridėti eilutę jo pabaigoje, bet prieš išėjimą 0 (antrasis spausdinimo ekranas aukščiau):

# Pridėkite šią eilutę prie rc.local failo, kad paleistumėte scenarijų

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

Čia reikia atkreipti dėmesį į keletą dalykų:

  1. failo pavadinimas: aukščiau esančioje eilutėje darau prielaidą, kad failas yra shutdown_with_hold.py. Bet tai gali būti viskas, ko norite, tiesiog atnaujinkite savo vardą.
  2. kur išsaugojote savo failą: aukščiau esančioje eilutėje darau prielaidą, kad jis išsaugotas jūsų kataloge/home/pi/Documents. Bet vėlgi, tai gali būti bet kur. Jums tiesiog reikia įsitikinti, kad čia nurodote absoliutų savo failo kelią.
  3. pabaigoje esantis simbolis „&“: tai yra svarbu ir leidžia šiai komandai veikti fone

Štai ir viskas! Taigi dabar scenarijus bus vykdomas kiekvieną kartą, kai jūsų „Pi“bus įjungtas, ir jūs tiesiog turėsite paspausti mygtuką ilgiau nei 3 sekundes, kad jį išjungtumėte.

Rekomenduojamas: