Košík je prázdný

Raspberry Pi je oblíbený jednodeskový počítač, který se vyznačuje svou flexibilitou, nízkou cenou a širokou škálou využití v oblastech jako domácí automatizace, robotika a mnoho dalších. Klíčovou součástí jeho flexibilitě je schopnost přímo ovládat elektronické komponenty pomocí General Purpose Input/Output (GPIO) pinů. GPIO piny mohou být programovány k vysílání digitálních signálů (zapnutí/vypnutí) nebo k čtení stavů z externích senzorů. V tomto článku se podrobně zaměříme na správu GPIO pinů na Raspberry Pi pomocí jazyka Python, který je pro tento účel díky své přístupnosti a výkonnosti velmi oblíben.

Základy GPIO na Raspberry Pi

Raspberry Pi disponuje několika GPIO piny, jejichž konkrétní počet a funkčnost se může lišit v závislosti na modelu zařízení. Tyto piny můžeme programově nastavit buď jako vstupní (input), pro čtení signálů/senzorů, nebo jako výstupní (output), pro řízení externích zařízení, například LED diod, motorů atd.

Příprava prostředí

Pro práci s GPIO piny v Pythonu je nejprve nutné zajistit, že máte nainstalovaný Python a balíček RPi.GPIO. Instalace tohoto balíčku se provádí pomocí pip, nástroje pro správu balíčků Pythonu:

sudo apt-get update
sudo apt-get install python3-pip
sudo pip3 install RPi.GPIO

Základní použití knihovny RPi.GPIO

Po úspěšné instalaci knihovny RPi.GPIO je možné začít s programováním GPIO pinů. V následujícím příkladu demonstrujeme, jak nastavit pin jako výstup a jak jej použít k zapnutí a vypnutí LED diody.

import RPi.GPIO as GPIO
import time

# Nastavení číselného módu pinů
GPIO.setmode(GPIO.BCM)

# Nastavení pinu 18 jako výstup
GPIO.setup(18, GPIO.OUT)

# Zapnutí LED
GPIO.output(18, GPIO.HIGH)
time.sleep(1) # Pauza 1 sekunda

# Vypnutí LED
GPIO.output(18, GPIO.LOW)

# Uvolnění všech GPIO zdrojů
GPIO.cleanup()

V tomto příkladu GPIO.setmode(GPIO.BCM) určuje, že se budou používat čísla pinů BCM (Broadcom pin number) místo fyzického číslování pinů. Nastavení pinu jako výstup se provádí pomocí GPIO.setup(18, GPIO.OUT), kde 18 je číslo pinu. K zapnutí a vypnutí LED diody slouží GPIO.output(18, GPIO.HIGH) a GPIO.output(18, GPIO.LOW).

Čtení stavu vstupního pinu

Pro čtení signálů ze senzorů nebo tlačítek je nutné pin nastavit jako vstup. Následuje příklad kódu pro čtení stavu tlačítka:

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.IN)

try:
    while True:
        if GPIO.input(17):
            print("Tlačítko stisknuto")
        else:
            print("Tlačítko uvolněno")
        time.sleep(0.5)

finally:
    GPIO.cleanup()

V tomto případě GPIO.setup(17, GPIO.IN) nastavuje pin 17 jako vstupní. Pomocí GPIO.input(17) pak program čte aktuální stav pinu a vypíše odpovídající zprávu.

 

Správa GPIO pinů na Raspberry Pi pomocí Pythonu umožňuje uživatelům efektivně interagovat s fyzickým světem. Ať už se jedná o jednoduché projekty, jako je blikání LED, nebo složitější aplikace zahrnující různé senzory a aktuátory, Python společně s knihovnou RPi.GPIO nabízí výkonné a přístupné prostředí pro realizaci těchto nápadů.