Talaan ng mga Nilalaman:
- Hakbang 1: Ano ang Kakailanganin Mo
- Hakbang 2: Buuin ang Iyong Circuit
- Hakbang 3: Lumikha ng isang Script upang Makontrol at Subukan ang mga LED
- Hakbang 4: Pagdaragdag ng kakayahang umangkop sa pamamagitan ng Paggamit ng Mga Parameter at Mga Kundisyon na Pahayag
Video: Pagkontrol ng Maramihang mga LED Sa Python at Iyong Mga Piano ng GPP ng Iyong Raspberry Pi: 4 na Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:12
Ipinapakita ng Instructable na ito kung paano makontrol ang maraming mga GPIO pin sa iyong RaspberryPi sa power 4 LEDs. Ipapakilala ka rin nito sa mga parameter at kondisyon na pahayag sa Python.
Ang aming nakaraang Nakagagamot Gamit ang Iyong Mga Ras Pberry GPIO Pins upang Makontrol ang isang LED ay nagpapakita kung paano lumipat at i-off ang isang solong LED sa pamamagitan ng paggamit ng utos ng GPIO.output. Nakagagawa ang Instructable na ito sa kaalamang iyon upang turuan ka kung paano makakuha ng higit na kontrol sa iyong circuit.
Hakbang 1: Ano ang Kakailanganin Mo
- Isang RaspberryPi na may naka-install na na Raspbian. Kakailanganin mo ring ma-access ang Pi gamit ang isang Monitor, Mouse at Keyboard o sa pamamagitan ng Remote Desktop. Maaari mong gamitin ang anumang modelo ng Raspberry Pi. Kung mayroon kang isa sa mga modelo ng Pi Zero, baka gusto mong maghinang ng ilang mga pin ng header sa port ng GPIO.
- Red, Blue, Yellow at Green LEDs
- Isang Solderless Prototyping Breadboard
- 4 x 330 ohm Resistors
- Ang ilang mga Male to Female jumper wires
Hakbang 2: Buuin ang Iyong Circuit
Buuin ang circuit sa itaas sa iyong breadboard na tinitiyak na wala sa mga bahagi ng mga bahagi ang nakakaantig at ang mga LED ay konektado sa tamang paraan ng pag-ikot.
Paano mo makikilala ang positibo at negatibong mga lead (ang polarity) sa iyong mga LED? Kung titingnan mo nang mabuti ang isang LED, makikita mo na mayroon itong dalawang maliit na piraso ng metal sa loob ng kulay na pambalot. Ang mga ito ay tinatawag na Anode at Cathode. Ang Cathode ay ang pinakamalaki sa dalawa at konektado din sa mga negatibong tingga ng LED.
Kapag nasuri mo na ang iyong circuit, ikonekta ang mga jumper cables ng iyong mga Raspberry Pi's GPIO pin sa pamamagitan ng pagsunod sa diagram sa itaas.
Hakbang 3: Lumikha ng isang Script upang Makontrol at Subukan ang mga LED
Sa iyong Raspberry Pi, buksan ang IDLE (Menu> Programming> Python 2 (IDLE)).
Magbukas ng isang bagong proyekto pumunta sa File> Bagong File. Pagkatapos i-type (o kopyahin at i-paste) ang sumusunod na code:
i-import ang RPi. GPIO bilang GPIO
oras ng pag-import 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, Tama) oras. Tulog (3) GPIO.output (17, Mali) oras. Tulog (1) GPIO.output (18, Totoo) oras. Pagtulog (3) GPIO.output (18, Mali) oras.matulog (1) GPIO.output (22, Totoo) oras.matulog (3) GPIO.output (22, Mali) oras.sulog (1) GPIO.output (23, Totoo) oras.sulog (3) GPIO. output (23, Mali)
I-save ang iyong proyekto bilang multilights.py (File> I-save Bilang) sa iyong folder na Raspberry Pis Documents.
Sa iyong Raspberry Pi buksan ang Terminal (Menu> Mga accessory> Terminal) at mag-navigate sa iyong folder ng Mga Dokumento sa pamamagitan ng pag-type ng sumusunod:
cd / bahay / pi / Mga Dokumento
Maaari mo nang patakbuhin ang iyong bagong script sa pamamagitan ng pag-type ng sumusunod:
python multilights.py
Dadalhin ito ng mga ilaw upang i-on at i-off. Ang script sa itaas ay gumagamit ng utos ng oras. Tulog upang lumikha ng isang pag-pause sa pagitan ng bawat hakbang, na ginagawa ang bawat ilaw na manatili sa loob ng 3 segundo at maghintay para sa 1 segundo bago buksan ang susunod na ilaw.
Hakbang 4: Pagdaragdag ng kakayahang umangkop sa pamamagitan ng Paggamit ng Mga Parameter at Mga Kundisyon na Pahayag
Sa pamamagitan ng paggamit ng Mga Parameter at Kundisyon na Pahayag maaari naming gawing mas may kakayahang umangkop ang script sa itaas.
Pinapayagan ka ng isang Parameter na mag-imbak ng isang halaga na maaari mong magamit sa ibang pagkakataon sa script. Ang pinakakaraniwang uri ng mga halaga ay mga string (teksto), integer (buong numero) o float (decimal number).
Ang isang Pahayag na Kundisyon ay tutukoy kung ang isang segment ng code ay dapat na ipatupad sa pamamagitan ng pag-check kung natugunan ang isang tiyak na kundisyon. Ang kondisyon ay maaari ring kasangkot sa mga parameter.
Buksan ang IDLE sa iyong Raspberry Pi at magbukas ng isang bagong proyekto (File> Bagong File). Pagkatapos i-type ang sumusunod. Mag-ingat upang matiyak na ang lahat ng mga indent (tab) ay kasama sa pamamagitan ng paggamit ng tab key:
i-import ang RPi. GPIO bilang GPIO
oras ng pag-import mula sa 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) kung ledaction == "off": kung alingawngaw == "a": GPIO.output (LEDa, Mali) kung alingawngaw == "b": GPIO.output (LEDb, Maling) kung alingawngaw == "c": GPIO.output (LEDc, False) kung alingawngaw == "d": GPIO.output (LEDd, False) kung alingawngaw == "lahat": GPIO.output (LEDa, Maling) GPIO.output (LEDb, Maling) GPIO. output (LEDc, False) GPIO.output (LEDd, False) kung ledaction == "on": kung may aling == "a": GPIO.output (LEDa, True) kung may aling == "b": GPIO.output (LEDb, True) kung alingawngaw == "c": GPIO.output (LEDc, True) kung alingawngaw == "d": GPIO.output (LEDd, True) kung alingawngaw == "lahat": GPIO.output (LEDa, Totoo) GPIO.output (LEDb, True) GPIO.output (LEDc, True) GPIO.output (LEDd, True)
I-save ang iyong proyekto bilang controlight.py (File> I-save Bilang) sa iyong folder ng Mga Dokumento. Ngayon buksan ang Terminal (Menu> Mga accessory> Terminal) at i-type ang sumusunod na utos:
python controllight.py b on
Ang pangalawang LED ay dapat na lumipat. I-type ngayon ang sumusunod:
python controllight.py b off
Ang pangalawang LED ay dapat na patayin.
Sa mga linya 5, 6, 7 & 8, lumilikha kami ng mga parameter na LEDa, LEDb, LEDc at LEDd upang maiimbak kung aling GPIO pin ang naikonekta namin sa aling LED. Nagbibigay-daan ito sa amin na gumamit ng mga kahaliling GPIO pin nang hindi kinakailangang gumawa ng malalaking pagbabago sa script.
Halimbawa, kung ikokonekta namin ang unang LEDs na humantong sa Pin 3 (GPIO 2) sa halip, kakailanganin lamang naming baguhin ang linya 5 sa mga sumusunod:
LEDa = 2
Inimbak ng linya 4 ang mga halagang na-type mo pagkatapos ng controlight.py sa mga parameter na nasa (c) at ledaction (on). Ginagamit ng script ang mga parameter na ito, kasabay ng isang bilang ng Mga Pahayag na Kundisyon upang magpasya kung aling LED ang makokontrol at kung isasa-on o patayin ito.
Ang linya 16 (kung ledaction == "sa":) ay isang kondisyon na pahayag. Ang mga linya na naka-indent na sumusunod sa pahayag na ito ay tatakbo lamang kung ang kondisyon ng pahayag ay natutugunan. Sa senaryong ito, ang kundisyon ay naglalaman ng ledaction ang teksto sa.
Sa pamamagitan ng pagbabasa sa iba pang Mga Pahiwatig na Pahayag ng script, mahuhulaan mo ba kung ano ang mangyayari kapag na-type mo ang sumusunod na utos sa Terminal?
python controllight.py lahat sa
Bakit hindi mo ito subukan at i-post ang iyong sagot sa seksyon ng mga komento sa ibaba.
Inirerekumendang:
Pagkontrol ng Mga Ilaw Sa Iyong Mga Mata: 9 Mga Hakbang (na may Mga Larawan)
Pagkontrol ng Mga Ilaw Sa Iyong Mga Mata: Sa semestre na ito sa kolehiyo, kumuha ako ng klase na tinatawag na Instrumentation in Biomedicine kung saan natutunan ko ang mga pangunahing kaalaman sa pagpoproseso ng signal para sa mga medikal na aplikasyon. Para sa huling proyekto ng klase, nagtrabaho ang aking koponan sa teknolohiya ng EOG (electrooculography). Essenti
Pagkontrol ng Arduino ng Maramihang P.I.R Sensor sa Parehong Bord: 3 Mga Hakbang
Kinokontrol ng Arduino ang Maramihang PIR Sensor sa Parehong Bord: Ngayon sasabihin ko sa iyo kung paano ikonekta ang maraming PIR Sensor sa solong Arduino Bord > narito nagamit ko rin ang 4 na module ng relay ng channel para sa ilang labis na pag-andar .ARDUINO + 4 Channel Relay Module + 4 PIR Sensor (O Maaari mong gamitin ang maraming pin sa iyong arduin
Pagpapanatiling Cool ng Iyong Baby Ngayong Tag-araw - Pagkontrol sa Mga Bobo na Tagahanga Sa Mga Smart bagay!: 6 na Hakbang (na may Mga Larawan)
Pagpapanatiling Cool ng Iyong Sanggol Ngayong Tag-init - Pagkontrol sa Mga Bobo na Tagahanga Sa Mga Matalinong Bagay !: Tulad ng dalawang linggo na ang nakalilipas sa pagsulat nito, ako ay naging isang ama sa isang hindi kapani-paniwalang sanggol na lalaki! Sa pagbabago ng panahon, ang mga araw na nagiging mas mahaba at ang mga temperatura ay nagiging mas mainit, naisip kong makabubuting magkaroon ng ilang uri ng monitor tungkol sa
Pagkontrol sa 3 Mga Servo Motors Na May 3 Potentiometers at isang Arduino: 11 Mga Hakbang (na may Mga Larawan)
Pagkontrol sa 3 Mga Servo Motors Na May 3 Potentiometers at isang Arduino: Kumusta. Ito ang aking kauna-unahang itinuro, kaya inaasahan kong maging matiyaga ka sa akin kung magkamali ako sa pag-set up nito. Ito ay nakasulat para sa mga nagsisimula, kaya ang mas advanced sa iyo ay maaaring laktawan ang marami sa mga ito at makarating lamang ito sa kable. Ang layunin na itinakda ko sa aking
Mga Daigdig na Pinakamaliit na Kotse Na May Elektronikong Katatagan ng Pagkontrol !: 5 Mga Hakbang (na may Mga Larawan)
Mga Daigdig na Pinakamaliit na Kotse Na May Elektronikong Katatagan ng Pagkontrol !: Mayroon kang isa sa mga maliit na maliit na Coke Can Cars? At ang kakayahang kontrolin ay sumuso? Pagkatapos narito ang solusyon: Arduino 2.4GHz " Micro RC " pagbabago ng proporsyonal na kontrol! Mga Tampok: Proportional na kontrol Arduino " Micro RC " conversion