Talaan ng mga Nilalaman:

Pagkontrol ng Maramihang mga LED Sa Python at Iyong Mga Piano ng GPP ng Iyong Raspberry Pi: 4 na Hakbang (na may Mga Larawan)
Pagkontrol ng Maramihang mga LED Sa Python at Iyong Mga Piano ng GPP ng Iyong Raspberry Pi: 4 na Hakbang (na may Mga Larawan)

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)

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)
Video: Prevailing Prayer | Dwight L Moody | Christian Audiobook Video 2024, Hulyo
Anonim
Pagkontrol ng Maramihang mga LED Sa Python at Mga GPIO Pins ng Iyong Raspberry Pi
Pagkontrol ng Maramihang mga LED Sa Python at Mga GPIO Pins ng Iyong Raspberry Pi

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

Ano ang Kakailanganin Mo
Ano ang Kakailanganin Mo
Ano ang Kakailanganin Mo
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 Iyong Circuit
Buuin ang Iyong Circuit
Buuin ang Iyong Circuit
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

Lumikha ng isang Script upang Makontrol at Subukan ang mga LED
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: