Turinys:
- 1 žingsnis: elektroninė grandinė
- 2 žingsnis: „Python“kodas
- 3 žingsnis: Kaip automatiškai paleisti scenarijų po įkrovos procedūros
Video: „Raspberry Pi“išjungimo mygtukas: 3 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:44
„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ė
Č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
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
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ų:
- 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ą.
- 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ą.
- 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:
„Pasidaryk pats“ventiliatorius su įjungimo ir išjungimo mygtuku - M5StickC ESP32: 8 žingsniai
„Pasidaryk pats“ventiliatorius su įjungimo ir išjungimo mygtuku - M5StickC ESP32: Šiame projekte mes išmoksime naudoti FAN L9110 modulį naudojant M5StickC ESP32 plokštę
„Easy Snap“grandinės ventiliatorius su įjungimo/išjungimo jungikliu: 3 žingsniai
„Easy Snap Circuit“ventiliatorius su įjungimo/išjungimo jungikliu: tai lengvas projektas, naudojant snap grandines --- tikiuosi, kad jums tai patinka! Šis projektas skirtas linksmybėms ir galbūt tai gali padėti jums atvėsti. Tai tikrai neveikia taip, bet ei, tai edukacinis! P.S. Šis projektas skirtas tik pradedantiesiems be demonstravimo
„Raspberry Pi“išjungimo indikatorius: 6 žingsniai
„Raspberry Pi“išjungimo indikatorius: tai labai paprasta grandinė, rodanti „Raspberry pi“veikimo būseną (toliau-RPI). Galbūt tai naudinga, kai RPI veikia be galvos (be monitoriaus). Kartais man neramu, kada tinkamas laikas visiškai išjungti po RPI išjungimo
Kaip padaryti plojimą? ĮJUNGIMO/IŠJUNGIMO jungiklis -- Be jokio IC: 6 žingsniai
Kaip padaryti plojimą? ĮJUNGIMO/IŠJUNGIMO jungiklis || Be jokio IC: tai yra jungiklio plojimas be jokio IC. Ar galite plojoti? Pirmą kartą tada lemputė? ĮJUNGTI ir antrą kartą ploti lempute? IŠJUNGTA. Ši grandinė pagrįsta SR flip-flop. Komponentai 1. BC547 NPN tranzistoriai (4 vnt.) 2. 10 k rezistoriai (5 vnt.) 3. 1K pasipriešinimas
Įjungta išjungimo skląstis su UC. Vienas mygtukas. Vienas smeigtukas. Diskretusis komponentas: 5 žingsniai
Įjungta išjungimo skląstis su UC. Vienas mygtukas. Vienas smeigtukas. Diskretusis komponentas: Sveiki visi, internete ieškojo įjungimo/išjungimo grandinės. Viskas, ką radau, buvo ne tai, ko ieškojau. Aš kalbėjau su savimi, tam būtinai yra kelias. To man ir reikėjo.-Tik vienas mygtukas, kurį reikia įjungti ir išjungti.-Turi naudoti tik