Avstängningsknapp
Trots de många starka sidorna hos Raspberry Pi saknar den något vi tar för givet hos de flesta andra elektronikprylar: en avstängningsknapp.
Steg 1: Montera Knappen
Börja med att fästa tryckknappen på kopplingsplattan.
Om tryckknappen har fyra anslutningsstift måste du använda två som kopplas samman när knappen trycks ner. Anslut knappen med kopplingstrådarna enligt bilden.
Steg 2: Välj ett GPIO-stift
Härnäst behöver vi välja ett GPIO-stift. Vi vill använda ett av stiften för att känna av när knappen tryckts ner: Knappen kommer då att koppla samman GPIO-stiftet med jordstiftet, så att spänningen går ner till noll då knappen trycks ner.
För det här projektet kan vi välja stiftet GPIO 21, som sitter i ena änden av kontakten, precis bredvid jordstiftet. (Du kan använda vilket ledigt GPIO-stift som helst.)
Koppla ihop kretsen med kopplingstrådarna enligt bilden.
Steg 3: Programmera Pi-datorn
Starta din Raspberry Pi och öppna ett terminalfönster.
Skriv leafpad shutdown.py så att ett nytt Leafpad-redigeringsfönster öppnas. Skriv in nedanstående programkod, spara sedan filen och stäng terminalfönstret.
# !/bin/python
# Ett enkelt skript för att stänga av Raspberry Pi med en knapptryckning.
# av Inderpreet Singh
import RPi.GPIO as GPIO
import time
import os
# Använd Broadcom-chipets stiftnummer
# Aktivera stiftets interna pullup-motstånd och ställ in stiftet i läsläge.
GPIO.setmode(GPIO.BCM)
GPIO.setup(21, GPIO.IN, pull_up_down=GPIO.PUD_UP)
# Vår funktion för det som ska hända när knappen trycks ner
def Shutdown(channel):
print("Stänger av")
time.sleep(5)
os.system("sudo shutdown -h now")
# Lägg till vår funktion för det som ska hända när en knapptryckningshändelse inträffar
GPIO.add_event_detect(21, GPIO.FALLING, callback=Shutdown, bouncetime=2000)
# Vänta!
while 1:
time.sleep(1)
Steg 4: Prova skriptet
Prova skriptet genom att öppna terminalfönstret och skriva sudo python3 shutdown.py
Tryck på avstängningsknappen.
Meddelandet ”Stänger av” ska nu visas på skärmen och efter fem sekunders fördröjning stängs din Raspberry Pi av. Om du trycker på Ctrl + C innan fem sekunder förflutit, stoppas skriptet och avstängningsproceduren avbryts.
Steg 5: Aktivera vid start
För att avstängningsknappen ska aktiveras när Pi-datorn startas, måste du inkludera den i ett rc.local-skript.
Öppna ett nytt terminalfönster och skriv sudo leafpad /etc/rc.local
Nu öppnas Leafpad-redigeraren och visar filen rc.local. Lägg till följande rad i slutet av filen (före exit 0 i programkoden):
sudo python3 /home/shutdown.py &
Spara filen och avsluta Leafpad.
Steg 6: Klart!
Efter att du startat om din Raspberry Pi ska avstängningsknappen fungera.
Gratulerar!
Du har utrustat din Raspberry Pi med en enkel, tillförlitlig och mycket användbar avstängningsknapp.