Obsah:
- Krok 1: Čo budete potrebovať
- Krok 2: Vybudujte si obvod
- Krok 3: Vytvorte skript na ovládanie a testovanie diód LED
- Krok 4: Pridanie flexibility pomocou parametrov a podmienených vyhlásení
Video: Ovládanie viacerých LED diód pomocou GPIO pinov Pythonu a Raspberry Pi: 4 kroky (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
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ť
- 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 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
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:
Ovládanie jasu Ovládanie LED na báze PWM pomocou tlačidiel, Raspberry Pi a Scratch: 8 krokov (s obrázkami)
Ovládanie jasu Ovládanie LED na základe PWM pomocou tlačidiel, Raspberry Pi a Scratch: Snažil som sa nájsť spôsob, ako vysvetliť, ako PWM funguje u mojich študentov, a tak som si dal za úlohu pokúsiť sa ovládať jas LED pomocou dvoch tlačidiel. - jedno tlačidlo zvyšuje jas LED diódy a druhé ju stmieva. Programovať
ESP8266 RGB LED STRIP WIFI ovládanie - NODEMCU Ako IR diaľkové ovládanie pre LED pás ovládané cez Wifi - Ovládanie smartfónu RGB LED STRIP: 4 kroky
ESP8266 RGB LED STRIP WIFI ovládanie | NODEMCU Ako IR diaľkové ovládanie pre LED pás ovládané cez Wifi | Ovládanie smartfónu RGB LED STRIP: Ahoj, v tomto návode sa naučíme, ako používať nodemcu alebo esp8266 ako IR diaľkové ovládanie na ovládanie RGB LED pásu a Nodemcu budete ovládať smartfónom cez wifi. V zásade teda môžete RGB LED STRIP ovládať pomocou svojho smartfónu
Použite Cortanu a Arduino na ovládanie LED diód alebo LED pásov svojim hlasom!: 4 kroky (s obrázkami)
Použite Cortanu a Arduino na ovládanie RGB LED alebo LED pásikov svojim hlasom!: V tomto návode vám ukážem, ako môžete ovládať svoj RGB LED alebo LED pásik svojim hlasom. Vykonáva to aplikácia CoRGB, ktorá je bezplatne k dispozícii v obchode Windows App Store. Táto aplikácia je súčasťou môjho projektu CortanaRoom. Keď budete hotoví,
Vývoj aplikácií pomocou GPIO pinov na DragonBoard 410c s operačným systémom Android a Linux: 6 krokov
Vývoj aplikácií pomocou GPIO pinov na DragonBoard 410c s operačnými systémami Android a Linux: Cieľom tohto tutoriálu je ukázať informácie potrebné na vývoj aplikácií pomocou kolíka GPIO na nízkorýchlostnom rozšírení DragonBoard 410c. Tento tutoriál prináša informácie o vývoji aplikácií pomocou pinov GPIO so systémom SYS na Andr
Ako riadiť veľa diód LED z niekoľkých pinov mikrokontroléra .: 6 krokov (s obrázkami)
Ako ovládať veľa diód LED z niekoľkých pinov mikrokontroléra: Vďaka skutočnosti, že mnoho pinov mikrokontroléra má tri stavy (+V, GND alebo „vysoká impedancia“), môžete z N pinov ovládať LED diódy N*(N-1). Malý 8pinový mikrokontrolér ako PIC12Fxxx alebo ATtiny11 teda môže ovládať 20 LED diód, pričom k dispozícii je päť