Obsah:

Ovládanie viacerých LED diód pomocou GPIO pinov Pythonu a Raspberry Pi: 4 kroky (s obrázkami)
Ovládanie viacerých LED diód pomocou GPIO pinov Pythonu a Raspberry Pi: 4 kroky (s obrázkami)

Video: Ovládanie viacerých LED diód pomocou GPIO pinov Pythonu a Raspberry Pi: 4 kroky (s obrázkami)

Video: Ovládanie viacerých LED diód pomocou GPIO pinov Pythonu a Raspberry Pi: 4 kroky (s obrázkami)
Video: ESP32 Tutorial 3 - Resistor, LED, Bredboard and First Project: Hello LED -ESP32 IoT Learnig kit 2024, Júl
Anonim
Ovládanie viacerých LED diód pomocou GPIO pinov Pythonu a vášho Raspberry Pi
Ovládanie viacerých LED diód pomocou GPIO pinov Pythonu a vášho Raspberry Pi

Tento návod ukazuje, ako ovládať viac pinov GPIO na vašom RaspberryPi tak, aby napájali 4 LED diódy. Tiež vás zavedie do parametrov a podmienených príkazov v Pythone.

Náš predchádzajúci návod na používanie pinov GPIO vášho Raspberry Pi na ovládanie LED diódy ukazuje, ako zapnúť a vypnúť jednu diódu LED pomocou príkazu GPIO.output. Tento návod stavia na týchto znalostiach a naučí vás, ako získať väčšiu kontrolu nad svojim obvodom.

Krok 1: Čo budete potrebovať

Čo budete potrebovať
Čo budete potrebovať
Čo budete potrebovať
Čo budete potrebovať

- RaspberryPi s už nainštalovaným Raspbianom. Budete tiež musieť mať prístup k Pi pomocou monitora, myši a klávesnice alebo prostredníctvom vzdialenej pracovnej plochy. Môžete použiť akýkoľvek model Raspberry Pi. Ak máte jeden z modelov Pi Zero, možno budete chcieť spájať niektoré kolíkové kolíky do portu GPIO.

- Červené, modré, žlté a zelené diódy LED

- Nepájkovateľná prototypová doska

- Rezistory 4 x 330 ohmov

- Niektoré prepojovacie vodiče medzi mužmi a ženami

Krok 2: Vybudujte si obvod

Vybudujte si svoj obvod
Vybudujte si svoj obvod
Vybudujte si svoj obvod
Vybudujte si svoj obvod

Vybudujte vyššie uvedený obvod na doske, pričom sa uistite, že sa žiadneho z káblov komponentov nedotýkajú a či sú diódy LED zapojené správne.

Ako identifikujete kladné a záporné vodiče (polaritu) vašich diód LED? Ak sa pozriete pozorne na LED diódu, uvidíte, že vo vnútri farebného puzdra sú dva malé kúsky kovu. Hovorí sa im anóda a katóda. Katóda je z týchto dvoch najväčšia a je tiež pripojená k zápornému vodiču LED.

Akonáhle skontrolujete svoj obvod, pripojte prepojovacie káble k svojim GPIO pinom Raspberry Pi podľa vyššie uvedeného diagramu.

Krok 3: Vytvorte skript na ovládanie a testovanie diód LED

Vytvorte skript na ovládanie a testovanie diód LED
Vytvorte skript na ovládanie a testovanie diód LED

Na svojom Raspberry Pi otvorte IDLE (Menu> Programovanie> Python 2 (IDLE)).

Otvorte nový projekt a prejdite na Súbor> Nový súbor. Potom zadajte (alebo skopírujte a prilepte) nasledujúci kód:

importujte RPi. GPIO ako GPIO

čas 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 svoj projekt ako multilights.py (Súbor> Uložiť ako) do priečinka Dokumenty Raspberry Pis.

Na svojom Raspberry Pi otvorte terminál (Menu> Príslušenstvo> Terminál) a prejdite do priečinka Dokumenty zadaním nasledujúceho príkazu:

cd/home/pi/Dokumenty

Teraz môžete spustiť nový skript zadaním nasledujúceho príkazu:

python multilights.py

Svetlá budú striedavo zapínať a vypínať. Vyššie uvedený skript používa príkaz time.sleep na vytvorenie prestávky medzi každým krokom, pričom každé svetlo zostane rozsvietené 3 sekundy a 1 sekundu počká, kým sa rozsvieti ďalšie svetlo.

Krok 4: Pridanie flexibility pomocou parametrov a podmienených vyhlásení

Použitím parametrov a podmienených vyhlásení môžeme vyššie uvedený skript urobiť oveľa flexibilnejším.

Parameter vám umožňuje uložiť hodnotu, ktorú môžete použiť neskôr v skripte. Najbežnejšími typmi hodnôt sú reťazce (text), celé čísla (celé čísla) alebo plávajúce čísla (desatinné čísla).

Podmienené vyhlásenie určí, či sa má alebo nemá vykonať segment kódu, a to kontrolou, či je splnená určitá podmienka. Podmienka môže zahŕňať aj parametre.

Otvorte IDLE na svojom Raspberry Pi a otvorte nový projekt (Súbor> Nový súbor). Potom zadajte nasledujúce. Dbajte na to, aby ste pomocou klávesu tabulátora zaistili zahrnutie všetkých zarážok (záložiek):

importujte RPi. GPIO ako GPIO

čas importu zo sys import argv whichled = argv [1] ledaction = 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 wholed == "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 svoj projekt ako controllight.py (Súbor> Uložiť ako) do priečinka Dokumenty. Teraz otvorte Terminál (Menu> Príslušenstvo> Terminál) a zadajte nasledujúci príkaz:

python controllight.py b on

Druhá dióda LED by sa mala rozsvietiť. Teraz zadajte nasledujúce:

python controllight.py b vypnuté

Druhá dióda LED by mala zhasnúť.

V riadkoch 5, 6, 7 a 8 vytvoríme parametre LEDa, LEDb, LEDc a LEDd, aby sme uložili, ktorý GPIO pin sme k ktorej LED pripojili. To nám umožňuje používať alternatívne piny GPIO bez toho, aby sme museli vykonávať podstatné zmeny v skripte.

Ak by sme napríklad namiesto toho pripojili prvé LED diódy k pinu 3 (GPIO 2), stačilo by zmeniť riadok 5 na nasledujúci:

LEDa = 2

Riadok 4 ukladá hodnoty, ktoré ste zadali po controllight.py, do parametrov, ktoré označili (c) a spustili (zapnuté). Skript potom použije tieto parametre spolu s niekoľkými podmienečnými vyhláseniami na rozhodnutie, ktorú diódu LED bude ovládať a či ju má zapnúť alebo vypnúť.

Riadok 16 (ak ledaction == "on":) je podmienené vyhlásenie. Odsadené riadky, ktoré nasledujú za týmto príkazom, sa spustia iba vtedy, ak je splnená podmienka príkazu. V tomto prípade je podmienkou, aby akcia obsahovala text.

Môžete si po prečítaní ďalších podmienečných vyhlásení skriptu predpovedať, čo sa stane, keď do terminálu napíšete nasledujúci príkaz?

python controllight.py všetko zapnuté

Prečo to nevyskúšať a napísať svoju odpoveď do nižšie uvedenej sekcie komentárov.

Odporúča: