Raspberry Pi är en mångsidig dator som har blivit en favorit bland hobbyister, lärare och proffs. En av dess mest kraftfulla funktioner är förmågan att interagera med den fysiska världen genom dess generella stift/output (GPIO) -stift. Genom att utnyttja Python, ett nybörjarvänligt och kraftfullt programmeringsspråk, kan du styra dessa GPIO-stift för att bygga ett brett utbud av projekt, från enkla LED-blinkare till komplexa hemautomationssystem. I det här blogginlägget leder vi dig genom grunderna för att använda Raspberry Pi för att kontrollera GPIO med Python.
Förstå GPIO -stift
GPIO -stift är mångsidiga gränssnitt på Raspberry Pi som gör att du kan ansluta och styra externa enheter som lysdioder, sensorer, motorer och mer. Beroende på modellen för Raspberry Pi hittar du ett varierande antal GPIO -stift arrangerade i ett specifikt mönster. Dessa stift kan konfigureras som antingen ingångar eller utgångar:
- Input: Läs signaler från externa enheter (t.ex. knappar, sensorer).
- Produktion: Skicka signaler till externa enheter (t.ex. lysdioder, reläer).
Innan du dyker in i programmeringsaspekten är det viktigt att förstå stiftlayouten för din Raspberry Pi. Se det officiella Raspberry Pi GPIO Pinout -diagrammet för korrekt information som är specifik för din modell.
Ställ in din Raspberry Pi
För att börja kontrollera GPIO -stift med Python, se till att din Raspberry Pi är korrekt inställd:
- Installera det senaste Raspberry Pi OS: Se till att din Raspberry Pi kör den senaste versionen av Raspberry Pi OS. Du kan ladda ner den från den officiella Raspberry Pi -webbplatsen och använda verktyg som Raspberry Pi Imager för att blinka den på ditt SD -kort.
- Uppdatera ditt system: Öppna terminalen och kör följande kommandon för att uppdatera dina systempaket:
sudo apt update
sudo apt upgrade -y
sudo apt install python3-rpi.gpio
Skriva ditt första GPIO Python -skript
Låt oss börja med ett enkelt projekt: blinkande en LED. Du behöver följande komponenter:
- Hallon
- LED
- 220-ohm motstånd
- Breadboard och jumpertrådar
Koppla av lysdioden:
- Anslut det långa benet (anoden) för LED till GPIO -stiftet 17 genom motståndet.
- Anslut den korta benet (katoden) på LED till en mark (GND) -stift på Raspberry Pi.
Låt oss nu skriva Python -skriptet för att kontrollera lysdioden.
Blinkande en lysdioder med Python
import RPi.GPIO as GPIO
import time
# Use BCM GPIO numbering
GPIO.setmode(GPIO.BCM)
# Set GPIO pin 17 as output
LED_PIN = 17
GPIO.setup(LED_PIN, GPIO.OUT)
try:
while True:
GPIO.output(LED_PIN, GPIO.HIGH) # Turn LED on
time.sleep(1) # Wait for 1 second
GPIO.output(LED_PIN, GPIO.LOW) # Turn LED off
time.sleep(1) # Wait for 1 second
except KeyboardInterrupt:
pass
finally:
GPIO.cleanup() # Reset GPIO settings
Förklaring:
-
import RPi.GPIO as GPIO
: Importerar RPI.gpio -biblioteket. -
import time
: Importerar tidsmodulen för sömnfunktionalitet. -
GPIO.setmode(GPIO.BCM)
: Ställer in GPIO -stiftnumreringsschemat till BCM (Broadcom SOC Channel). -
GPIO.setup(LED_PIN, GPIO.OUT)
: Konfigurerar GPIO -stift 17 som en utgångsstift. - De
try
Block innehåller en oändlig slinga som sätter på och av varje sekund. -
GPIO.cleanup()
: Rengör GPIO -inställningarna för att säkerställa en ren utgång.
Kör ditt manus
Spara ditt skript som blink_led.py
och kör den med följande kommando:
python3 blink_led.py
Du bör se lysdioden ansluten till GPIO -stift 17 blinka på och av varje sekund. För att stoppa skriptet, tryck på Ctrl + C
.
Utöka ditt projekt
När du har behärskat blinkande en LED kan du utforska mer komplexa projekt genom att kombinera olika sensorer och ställdon. Här är några idéer för att komma igång:
- Knappinteraktion: Kontrollera lysdioden med en fysisk knapp. Detta handlar om att ställa in en GPIO -stift som en inmatning och läsa sitt tillstånd i ditt Python -skript.
- Sensordataloggning: Använd sensorer som temperatur eller rörelsedetektorer för att samla in data och logga in den för analys.
- Hemmautomation: Kontrollera apparater på distans genom att integrera GPIO -kontroll med webbgränssnitt eller mobilappar.
Styr en knapp
Låt oss utöka vårt tidigare exempel genom att lägga till en knapp för att styra lysdioden. Du behöver:
- Spändsknapp
- 10k-ohm motstånd
- Ytterligare bygeltrådar
Koppla av knappen:
- Anslut ett ben på knappen till GPIO -stift 27.
- Anslut det andra benet till en mark (GND) stift genom ett 10K-ohm-motstånd.
Här är Python -skriptet för att styra lysdioden med knappen:
import RPi.GPIO as GPIO
import time
# Use BCM GPIO numbering
GPIO.setmode(GPIO.BCM)
# Define GPIO pins
LED_PIN = 17
BUTTON_PIN = 27
# Set up GPIO pins
GPIO.setup(LED_PIN, GPIO.OUT)
GPIO.setup(BUTTON_PIN, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
try:
while True:
button_state = GPIO.input(BUTTON_PIN)
if button_state == GPIO.HIGH:
GPIO.output(LED_PIN, GPIO.HIGH) # Turn LED on
else:
GPIO.output(LED_PIN, GPIO.LOW) # Turn LED off
time.sleep(0.1)
except KeyboardInterrupt:
pass
finally:
GPIO.cleanup()
Förklaring:
- GPIO-stift 27 är inställd som en ingång med ett neddragningsmotstånd för att säkerställa ett stabilt tillstånd när knappen inte trycks in.
- Skriptet läser kontinuerligt tillståndet för knappen och sätter på lysdioden när knappen trycks in.
Bästa praxis och säkerhetstips
När du arbetar med GPIO -stift är det avgörande att följa bästa praxis för att undvika att skada din Raspberry Pi eller anslutna komponenter:
- Stäng av när du ansluter hårdvara: Stäng alltid av din Raspberry Pi innan du ansluter eller kopplar bort hårdvara för att förhindra kortkretsar.
- Använd nuvarande begränsande motstånd: Skydda dina komponenter genom att använda lämpliga motstånd, särskilt när du arbetar med lysdioder.
- Dubbelkontroll ledningar: Se till att alla anslutningar är korrekta för att förhindra oavsiktliga skador på GPIO -stift.
- Handtag med omsorg: Undvik statisk urladdning genom att hantera Raspberry Pi och komponenter noggrant.
Slutsats
Kontroll av GPIO -stift med Python på en Raspberry Pi öppnar upp en värld av möjligheter för att skapa interaktiva och automatiserade projekt. Från enkla uppgifter som att blinka lysdioder till mer komplexa system som involverar flera sensorer och ställdon är det en grundläggande färdighet för alla Raspberry Pi -entusiaster. Genom att följa stegen som beskrivs i den här guiden och följa bästa praxis kommer du att vara på god väg att bygga spännande och innovativa projekt.
Glad tippning!