Indholdsfortegnelse:
- Trin 1: Elektronisk kredsløb
- Trin 2: Python -kode
- Trin 3: Sådan startes scriptet automatisk efter opstartsproceduren
Video: Sluk-knap til Raspberry Pi: 3 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:25
Raspberry Pi er en meget nyttig computerplatform, der gør det muligt at oprette forskellige IoT/robotics/smart-home/… projekt applikationer. Den eneste ting, den dog ikke har, sammenlignet med en normal computer, er en slukningsknap til nedlukning. Så hvordan kan vi selv oprette en? Okay, lad os gøre det sammen!
Til denne vejledning har du brug for følgende:
- 1 Raspberry Pi allerede konfigureret og klar til brug
- 1 brødbræt eller noget, der giver dig mulighed for at oprette det elektroniske kredsløb
- 1 trykknap
- 2 springtråde
Hvis du aldrig har brugt en Raspberry Pi, kan du tjekke min tutorial om, hvordan og hvad du skal gøre for at konfigurere den:
www.instructables.com/How-to-Setup-a-Raspberry-Pi-and-Start-Using-It/
Trin 1: Elektronisk kredsløb
Intet super kompliceret her, det er et ganske ligetil kredsløb. De 2 billeder ovenfor forklarer kredsløbets opbygning. Du kan bruge den GPIO -pin, du ønsker til knapindgangen, du skal bare sørge for at opdatere koden, så den afspejler det.
Lad os hurtigt forklare, hvordan dette kommer til at fungere:
- den RØDE ledning tager 3.3V til den ene ende af trykknappen.
- det SORT kabel forbinder den anden ende af trykknappen til en Pi GPIO, som vil blive brugt som input.
- Som standard er knappen åben, så der går ingen spænding igennem den. Så det SORT kabel er på 0V, når der ikke trykkes på knappen. Det betyder, at den logiske tilstand for Pi GPIO -input er 0.
- når der trykkes på knappen, vil spændingen gå igennem den, og det SORT kabel vil blive forbundet til 3,3V. Raspberry Pi vil derefter se en spænding på 3,3V ved indgangen, svarende til en logisk tilstand på 1.
Trin 2: Python -kode
Nu hvor kredsløbet er klar til brug, skal vi skrive koden, der vil køre det, og jeg bruger Python i et PyCharm -miljø her. Jeg konfigurerede knappen til kun at slukke Raspberry Pi, når den blev trykket på mere end 3 sekunder. Grunden til, at jeg gør det, er, at det er meget let at få det trykket ved et uheld, og du ikke vil lukke din Pi ved et uheld.
Udskrivningsskærmen ovenfor er fra mit PyCharm -miljø, og koden er følgende (med en mindre forskel på linje 26, der er knyttet til et andet projekt, men ikke påkrævet her):
# Dette er en kode for at slukke for Raspberry Pi, når du trykker på en defineret knap og holder den inde for at deaktivere Raspberry PiGPIO.setwarnings (False) GPIO.setmode (GPIO. BCM) # Broadcom pin-nummering schemeGPIO.setup (button_poweroff, GPIO. IN, pull_up_down = GPIO. PUD_DOWN) # Knap indstillet som input True: GPIO.wait_for_edge (button_poweroff, GPIO. RISING) start = time.time () time.sleep (0.2) # Switch debounce mens GPIO.input (button_poweroff) == 1: time.sleep (0.01) length = time.time () - start hvis længde > hold_time: os.system ("sudo poweroff")
Den første ting, hvis du har tilsluttet trykknappen til en anden GPIO, er at opdatere linje 11 på ovenstående printskærm med den relevante GPIO -indgang:
button_poweroff = GPIO_X # Opdater med den korrekte GPIO, der bruges på dit kredsløb
Hold_time -variablen giver dig også mulighed for at ændre ventetiden, der får Pi til at lukke ned.
Trin 3: Sådan startes scriptet automatisk efter opstartsproceduren
Nu hvor vi har koden klar, skal vi bare udføre den. Men det ville være praktisk, hvis vi kan få dette script udført hver gang Pi starter, på en automatisk måde, så knappen ville fungere uden at vi kørte scriptet hver gang. Der er mange måder at gøre det på. Jeg har tilføjet en linje her til rc.local -filen, som er placeret i mappen / etc / på din Pi. Det udføres som en del af startsekvensen.
Du skal åbne en kommandolinje og skrive følgende kommandoer (1. printscreen ovenfor):
cd /
cd osv. sudo nano rc.local
Den første kommando tager dig fra dit /home /pi -bibliotek til den rod, som er /.
Den anden kommando fører dig derefter til / etc / biblioteket.
Endelig åbner den tredje rc.local -fil som en superbruger med fulde redigeringsrettigheder, som du skal ændre filen.
Når du er i filen, skal du bare tilføje en linje i slutningen af den, men før exit 0 -sætningen (2. printscreen ovenfor):
# Tilføj denne linje til rc.local -filen for at starte scriptet
sudo python /home/pi/Documents/shutdown_with_hold.py &
Der er et par ting, du skal være opmærksom på her:
- navnet på din fil: i linjen ovenfor antager jeg, at filen er shutdown_with_hold.py. Men det kan være hvad du vil, bare opdater navnet med dit.
- hvor du har gemt din fil: i linjen ovenfor antager jeg, at den er gemt i mappen/home/pi/Documents. Men igen, det kan være hvor som helst. Du skal bare sørge for at sætte den absolutte sti til din fil her.
- "&" -tegnet i slutningen af det: dette er vigtigt, og det giver denne kommando mulighed for at køre i baggrunden
Og det er det! Så nu vil scriptet blive udført hver gang din Pi er tændt, og du skal bare trykke mere end 3 sekunder på knappen for at slukke for den.
Anbefalede:
Nem snapkredsløbsventilator med tænd/sluk -kontakt: 3 trin
Easy Snap Circuit Fan With On/off Switch: Dette er et let projekt, der bruger snapkredsløb --- håber du kan lide det! Dette projekt er for sjov, og måske kan det hjælpe dig med at køle ned. Det fungerer ikke rigtigt sådan, men hey, det er lærerigt! P.S. Dette projekt er kun for begyndere uden demonstration
En Raspberry Pi PC-PSU stationær computer med harddisk, ventilator, PSU og tænd / sluk-switch: 6 trin
En stationær computer fra Raspberry Pi PC-PSU med harddisk, blæser, PSU og tænd / sluk-switch: September 2020: En anden Raspberry Pi, der var indeholdt i en omformet pc-strømforsyningskasse, var blevet bygget. Dette bruger en ventilator ovenpå - og arrangementet af komponenterne inde i PC -PSU -kabinettet er derfor anderledes. En ændret (for 64x48 pixels), annonce
Hvordan laver man klappe? TÆND/SLUK -kontakt -- Uden nogen IC: 6 trin
Hvordan laver man klappe? TÆND/SLUK -kontakt || Uden nogen IC: Dette er et klap ON af switch Uden nogen IC. Kan du klappe? Første gang derefter pæren? Tændt og klapp anden gang pæren? AF. Dette kredsløb baseret på SR-flip-flop. Komponenter 1. BC547 NPN -transistorer (4 stk.) 2. 10k modstande (5 stk.) 3. 1K modstå
LED julelys (med tænd/sluk): 3 trin
LED julelys (med tænd/sluk): Dette projekt er en modificeret version af https: //www.instructables.com/id/Arduino-Christma …, hvor jeg tilføjede en knap, som brugeren kan styre, hvornår man skal dreje lyset tændt
Raspberry Pi Tænd/sluk med enhver fjernbetjening: 3 trin (med billeder)
Raspberry Pi Tænd/sluk med enhver fjernbetjening: Styring af strøm til Raspberry Pi med en IR -fjernbetjening