Obsah:

Ovládání více LED diod pomocí GPIO pinů Pythonu a Raspberry Pi: 4 kroky (s obrázky)
Ovládání více LED diod pomocí GPIO pinů Pythonu a Raspberry Pi: 4 kroky (s obrázky)

Video: Ovládání více LED diod pomocí GPIO pinů Pythonu a Raspberry Pi: 4 kroky (s obrázky)

Video: Ovládání více LED diod pomocí GPIO pinů Pythonu a Raspberry Pi: 4 kroky (s obrázky)
Video: ESP32 Turorial 1 - Introduction to SunFounder's ESP32 IoT Learnig kit Software and Arduino IDE 2024, Červenec
Anonim
Ovládání více LED diod pomocí GPIO pinů Pythonu a Raspberry Pi
Ovládání více LED diod pomocí GPIO pinů Pythonu a Raspberry Pi

Tento Instructable ukazuje, jak ovládat více GPIO pinů na vašem RaspberryPi pro napájení 4 LED. Také vás seznámí s parametry a podmíněnými příkazy v Pythonu.

Náš předchozí návod k použití pinů GPIO vašeho Raspberry Pi k ovládání LED ukazuje, jak pomocí příkazu GPIO.output zapnout a vypnout jednu LED. Tento instruktáž staví na těchto znalostech a naučí vás, jak získat větší kontrolu nad svým obvodem.

Krok 1: Co budete potřebovat

Co budete potřebovat
Co budete potřebovat
Co budete potřebovat
Co budete potřebovat

- RaspberryPi s již nainstalovaným Raspbianem. Budete také muset mít přístup k Pi pomocí monitoru, myši a klávesnice nebo prostřednictvím vzdálené plochy. Můžete použít jakýkoli model Raspberry Pi. Pokud máte jeden z modelů Pi Zero, možná budete chtít připájet některé kolíkové kolíky k portu GPIO.

- Červené, modré, žluté a zelené LED diody

- Bezpájecí prototypovací prkénko

- Rezistory 4 x 330 ohmů

- Některé propojovací vodiče mezi muži a ženami

Krok 2: Vybudujte si obvod

Vybudujte si svůj obvod
Vybudujte si svůj obvod
Vybudujte si svůj obvod
Vybudujte si svůj obvod

Vybudujte výše uvedený obvod na prkénku a ujistěte se, že se žádný z vodičů komponent nedotýká a že diody LED jsou zapojeny správným způsobem.

Jak rozeznáte kladné a záporné vodiče (polaritu) na vašich LED diodách? Když se podíváte pozorně na LED, uvidíte, že má uvnitř barevného pouzdra dva malé kousky kovu. Říká se jim Anoda a Katoda. Katoda je největší ze dvou a je také připojena k zápornému vodiči LED.

Jakmile zkontrolujete svůj obvod, připojte propojovací kabely ke svým pinům GPIO Raspberry Pi podle výše uvedeného schématu.

Krok 3: Vytvořte skript pro ovládání a testování kontrolek LED

Vytvořte skript pro ovládání a testování LED diod
Vytvořte skript pro ovládání a testování LED diod

Na svém Raspberry Pi otevřete IDLE (Nabídka> Programování> Python 2 (IDLE)).

Otevřete nový projekt, přejděte na Soubor> Nový soubor. Poté zadejte (nebo zkopírujte a vložte) následující kód:

importujte RPi. GPIO jako GPIO

doba importu GPIO.setmode (GPIO. BCM) GPIO.setup (17, GPIO. OUT) GPIO.setup (18, GPIO. OUT) GPIO.setup (22, GPIO. OUT) GPIO.setup (23, GPIO. OUT) GPIO.output (17, True) time.sleep (3) GPIO.output (17, False) time.sleep (1) GPIO.output (18, True) time.sleep (3) GPIO.output (18, False) time.sleep (1) GPIO.output (22, True) time.sleep (3) GPIO.output (22, False) time.sleep (1) GPIO.output (23, True) time.sleep (3) GPIO. výstup (23, False)

Uložte svůj projekt jako multilights.py (Soubor> Uložit jako) do složky Dokumenty Raspberry Pis.

Na svém Raspberry Pi otevřete Terminál (Nabídka> Příslušenství> Terminál) a přejděte do složky Dokumenty zadáním následujícího:

cd/home/pi/Dokumenty

Nyní můžete spustit nový skript zadáním následujícího:

python multilights.py

Světla se budou střídavě zapínat a vypínat. Výše uvedený skript používá příkaz time.sleep k vytvoření pauzy mezi každým krokem, takže každé světlo zůstane zapnuté 3 sekundy a čeká 1 sekundu, než zapne další světlo.

Krok 4: Přidání flexibility pomocí parametrů a podmíněných prohlášení

Použitím parametrů a podmíněných příkazů můžeme výše uvedený skript učinit mnohem flexibilnějším.

Parametr vám umožňuje uložit hodnotu, kterou můžete použít později ve skriptu. Nejběžnějším typem hodnot jsou řetězce (text), celá čísla (celá čísla) nebo plovoucí čísla (desetinná čísla).

Podmíněný příkaz určí, zda by měl být proveden segment kódu kontrolou, zda je splněna určitá podmínka. Podmínka může také zahrnovat parametry.

Otevřete IDLE na svém Raspberry Pi a otevřete nový projekt (Soubor> Nový soubor). Potom zadejte následující. Dávejte pozor, abyste zajistili, že jsou zahrnuty všechny odsazení (záložky) pomocí klávesy tab:

importujte RPi. GPIO jako GPIO

doba importu ze sys import argv whichled = argv [1] provedení = argv [2] LEDa = 17 LEDb = 18 LEDc = 22 LEDd = 23 GPIO.setmode (GPIO. BCM) GPIO.setup (LEDa, GPIO. OUT) GPIO. setmode (GPIO. BCM) GPIO.setup (LEDb, GPIO. OUT) GPIO.setmode (GPIO. BCM) GPIO.setup (LEDc, GPIO. OUT) GPIO.setmode (GPIO. BCM) GPIO.setup (LEDd, GPIO. OUT) if ledaction == "off": if whichled == "a": GPIO.output (LEDa, False) if whichled == "b": GPIO.output (LEDb, False) if whichled == "c": GPIO.output (LEDc, False) if whichled == "d": GPIO.output (LEDd, False) if whichled == "all": GPIO.output (LEDa, False) GPIO.output (LEDb, False) GPIO. výstup (LEDc, False) GPIO.output (LEDd, False) if ledaction == "on": if whichled == "a": GPIO.output (LEDa, True) if whichled == "b": GPIO.output (LEDb, True) if whichled == "c": GPIO.output (LEDc, True) if whichled == "d": GPIO.output (LEDd, True) if whichled == "all": GPIO.output (LEDa, True) GPIO.output (LEDb, True) GPIO.output (LEDc, True) GPIO.output (LEDd, True)

Uložte svůj projekt jako controllight.py (Soubor> Uložit jako) do složky Dokumenty. Nyní otevřete Terminál (Nabídka> Příslušenství> Terminál) a zadejte následující příkaz:

python controllight.py b on

Druhá LED by se měla rozsvítit. Nyní zadejte následující:

python controllight.py b vypnuto

Druhá LED by měla zhasnout.

V řádcích 5, 6, 7 a 8 vytvoříme parametry LEDa, LEDb, LEDc a LEDd pro uložení, který GPIO pin jsme připojili ke které LED. To nám umožňuje používat alternativní piny GPIO, aniž bychom museli ve skriptu provádět podstatné změny.

Pokud bychom například místo toho připojili první LED diody ke kolíku 3 (GPIO 2), stačilo by změnit řádek 5 na následující:

LEDa = 2

Řádek 4 ukládá hodnoty, které jste zadali po controllight.py do parametrů, které zadávaly (c) a ledaction (on). Skript poté použije tyto parametry spolu s řadou podmíněných příkazů k rozhodnutí, kterou diodu LED ovládat a zda ji zapnout nebo vypnout.

Řádek 16 (pokud ledaction == "on":) je podmíněné prohlášení. Odsazené řádky, které následují za tímto příkazem, se spustí, pouze pokud je splněna podmínka příkazu. V tomto scénáři je podmínkou, aby akce obsahovala text.

Můžete si po přečtení dalších podmíněných prohlášení skriptu předvídat, co se stane, když do terminálu napíšete následující příkaz?

python controllight.py vše zapnuto

Proč to nezkusit a svou odpověď zveřejnit v sekci komentáře níže.

Doporučuje: