Raspberry Pi on monipuolinen yhden laidan tietokone, josta on tullut suosikki harrastajien, opettajien ja ammattilaisten keskuudessa. Yksi sen tehokkaimmista piirteistä on kyky olla vuorovaikutuksessa fyysisen maailman kanssa yleiskäyttöisen syöttö/lähtö (GPIO) -tappiensa kautta. Hyödyntämällä Pythonia, aloittelijaystävällistä ja tehokasta ohjelmointikieltä, voit hallita näitä GPIO-nastat rakentamaan laaja valikoima projekteja, yksinkertaisista LED-viljelijöistä monimutkaisiin kodin automaatiojärjestelmiin. Tässä blogiviestissä opimme sinut läpi Raspberry Pi: n käytön perusteet GPIO: n hallintaan Pythonin kanssa.
GPIO -nastajen ymmärtäminen
GPIO -nastat ovat monipuolisia rajapintoja Raspberry PI: ssä, joiden avulla voit kytkeä ja hallita ulkoisia laitteita, kuten LED -levyjä, antureita, moottoreita ja paljon muuta. Raspberry PI: n mallista riippuen löydät erilaisen määrän GPIO -nastaja, jotka on järjestetty tiettyyn malliin. Nämä nastat voidaan konfiguroida joko tuloina tai lähdöinä:
- Tulo: Lue ulkoisten laitteiden (esim. Painikkeet, anturit) signaalit.
- Lähtö: Lähetä signaaleja ulkoisiin laitteisiin (esim. LEDit, releet).
Ennen sukellusta ohjelmointiosuuteen on välttämätöntä ymmärtää Raspberry Pi -sovelluksen PIN -asettelu. Katso mallillesi ominaiset tiedot Raspberry Pi GPIO Pinout -kaaviosta.
Raspberry Pi -sovelluksen asettaminen
Aloita GPIO -nastajen hallinta Pythonilla varmista, että vadelma PI on asetettu oikein:
- Asenna uusin Raspberry Pi OS: Varmista, että Raspberry Pi on käyttänyt uusinta versiota Raspberry Pi OS -sovelluksesta. Voit ladata sen viralliselta Raspberry Pi -sivustolta ja käyttää työkaluja, kuten Raspberry Pi Imager, salataksesi sen SD -kortillesi.
- Päivitä järjestelmäsi: Avaa pääte ja suorita seuraavat komennot päivittääksesi järjestelmäpaketit:
sudo apt update
sudo apt upgrade -y
sudo apt install python3-rpi.gpio
Ensimmäisen GPIO Python -komentosarjan kirjoittaminen
Aloitetaan yksinkertaisella projektilla: vilkkuu LED. Tarvitset seuraavat komponentit:
- Raspberry Pi
- LED
- 220-Ohm-vastus
- Leipälevy- ja hyppyjohdot
Johdotus LED:
- Kytke LED: n pitkä jalka (anodi) GPIO -nastaan 17 vastuksen läpi.
- Kytke LED: n lyhyt jalka (katodi) maapallon (GND) -tappiin Raspberry Pi: llä.
Kirjoitetaan nyt Python -käsikirjoitus hallitsemaan LEDiä.
Vilkkuu LED Pythonilla
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
Selitys:
-
import RPi.GPIO as GPIO
: Tuo RPI.GPIO -kirjasto. -
import time
: Tuo aikamoduuli nukkumistoimintoihin. -
GPIO.setmode(GPIO.BCM)
: Asettaa GPIO PIN -numerointijärjestelmän BCM: ään (Broadcom Soc -kanava). -
GPIO.setup(LED_PIN, GPIO.OUT)
: Määrittää GPIO -nasta 17 lähtötapinksi. - Se
try
Block sisältää äärettömän silmukan, joka kääntää LED: n päälle ja pois joka sekunti. -
GPIO.cleanup()
: Puhdistaa GPIO -asetukset puhtaan poistumisen varmistamiseksi.
Käsikirjoituksen suorittaminen
Tallenna komentosarjasi blink_led.py
ja suorita se seuraavan komennon avulla:
python3 blink_led.py
Sinun pitäisi nähdä LED, joka on kytketty GPIO -nastaan 17 vilkkuvan päälle ja pois joka sekunti. Pysäytä käsikirjoitus paina Ctrl + C
.
Laajenna projekti
Kun olet hallinnut LEDin vilkkumisen, voit tutkia monimutkaisempia projekteja yhdistämällä erilaiset anturit ja toimilaitteet. Tässä on muutamia ideoita alkuun:
- Painike -vuorovaikutus: Hallitse LEDiä fyysisen painikkeen avulla. Tähän sisältyy GPIO -tapin asettaminen syötteenä ja sen tilan lukeminen Python -komentosarjassa.
- Anturitietojen kirjaaminen: Käytä antureita, kuten lämpötila- tai liikkeenilmaisimia tietojen keräämiseen ja kirjautumiseen analysoitavaksi.
- Kodin automaatio: Ohjauslaitteet etäyhteydessä integroimalla GPIO -ohjaus web -rajapintoihin tai mobiilisovelluksiin.
Painikkeen ohjaaminen
Laajennetaan edellinen esimerkki lisäämällä painike LEDin hallitsemiseksi. Tarvitset:
- Painike
- 10K-OHM-vastus
- Ylimääräisiä hyppääjiä
Painikkeen johdotus:
- Kytke painikkeen yksi jalka GPIO -nastaan 27.
- Kytke toinen jalka maa (GND) -tappiin 10K-OHM-vastuksen läpi.
Tässä on Python -komentosarja, joka hallitsee LED -painiketta:
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()
Selitys:
- GPIO-nasta 27 on asetettu sisääntulona vetävällä vastusilla vakaan tilan varmistamiseksi, kun painiketta ei painaa.
- Komentosarja lukee jatkuvasti painikkeen tilan ja kytkee LED -levyn päälle, kun painiketta painetaan.
Parhaat käytännöt ja turvallisuusvinkit
Kun työskentelet GPIO -nastat, on ratkaisevan tärkeää noudattaa parhaita käytäntöjä, jotta vadelmapipilläsi tai kytkettyjä komponentteja ei pidä vahingoittaa:
- PÄÄLLÄ ON KORJAAMISEKSI Laitteistoa: Sammuta Raspberry Pi aina ennen laitteiston kytkemistä tai irrottamista oikosulkujen estämiseksi.
- Käytä virran rajoittavia vastuksia: Suojaa komponentit käyttämällä sopivia vastuksia, etenkin kun työskentelet LED -levyjen kanssa.
- Kaksoiskorvaus johdotus: Varmista, että kaikki yhteydet ovat oikeat estämään GPIO -tapien vahingossa tapahtuvat vahingot.
- Käsittele huolellisesti: Vältä staattista purkausta käsittelemällä Raspberry Pi ja komponentit huolellisesti.
Johtopäätös
GPIO -nastajen hallinta Pythonilla Raspberry PI: llä avaa mahdollisuuksien maailman interaktiivisten ja automatisoitujen projektien luomiseksi. Yksinkertaisista tehtävistä, kuten vilkkuvien LEDien, monimutkaisempiin järjestelmiin, jotka sisältävät useita antureita ja toimilaitteita, GPIO -ohjauksen hallitseminen on perustavanlaatuinen taito kaikille Raspberry Pi -harrastajille. Seuraamalla tässä oppaassa esitettyjä vaiheita ja parhaiden käytäntöjen noudattamista, olet hyvin matkalla rakentamaan jännittäviä ja innovatiivisia projekteja.
Hyvää tinking!