Banayad na isang LED na may GPIO ng Raspberry Pi

Mas maaga sa taong ito nakuha mo ang paglilibot sa GPIO ng Raspberry Pi at inirerekomenda din ang ilang mga talagang kapaki-pakinabang na breakout boards para sa pagtukoy ng mga numero ng pin. Ngayon patuloy namin ang tema na iyon at simulang gamitin ang mga pin na pinagsama sa code at hardware.

Ang GPIO ay kung paano ang pakikipag-usap ng Raspberry Pi sa labas ng mundo - "mga tunay na bagay" - gamit ang code upang magproseso ng mga signal at voltages papunta at mula sa header ng 40-pin.

Ang coding sa GPIO ay makatwirang simple upang makapagsimula, lalo na para sa mga proyektong nagsisimula tulad ng mga LED at buzzer. Sa pamamagitan lamang ng isang pares ng mga sangkap at ng ilang mga linya ng code maaari mong ilaw o flash ng isang LED bilang bahagi ng iyong proyekto.

Ipapakita sa iyo ng artikulong ito kung ano ang kailangan mong i-ilaw ang LED gamit ang code sa Python sa iyong Raspberry Pi, gamit ang tradisyonal na 'RPi.GPIO' na paraan.

01 ng 04

Ang iyong kailangan

Lamang ng ilang mga simple at murang mga bahagi ay kinakailangan para sa proyektong ito. Richard Saville

Narito ang isang listahan ng lahat ng kailangan mo para sa maliit na proyekto ng starter na ito. Dapat mong mahanap ang mga item na ito sa iyong paboritong tindahan ng tindahan o mga site sa online na auction.

02 ng 04

Lumikha ng Circuit - Hakbang 1

Ikabit ang bawat pin sa breadboard na may mga jumper wires. Richard Saville

Gagamitin namin ang 2 GPIO pin para sa proyektong ito, isang pin ng lupa (pisikal na pin 39) para sa lupa binti ng LED, at isang pangkaraniwang GPIO pin (GPIO 21, pisikal na pin 40) upang mapalakas ang LED - ngunit kapag magpapasiya tayo - na kung saan naroon ang code.

Una, i-off ang iyong Raspberry Pi. Ngayon, gamit ang mga wire jumper, ikonekta ang pin ng lupa sa isang lane sa iyong breadboard. Susunod na gawin ang parehong para sa PIN pin GPIO, pagkonekta sa ibang lane.

03 ng 04

Lumikha ng Circuit - Hakbang 2

Ang LED at risistor kumpletuhin ang circuit. Richard Saville

Susunod idagdag namin ang LED at risistor sa circuit.

Ang mga LED ay may polarity - nangangahulugan na kailangan nilang magamit sa isang tiyak na paraan. Sila ay karaniwang may isa pang binti na ang anod (positibo) binti, at karaniwan ay isang patag na gilid sa LED plastic ulo na nagpapahiwatig ng katod (negatibong) binti.

Ang isang risistor ay ginagamit upang protektahan ang parehong LED mula sa pagtanggap ng masyadong maraming kasalukuyang, at ang GPIO pin mula sa 'pagbibigay' ng masyadong maraming - na maaaring makapinsala sa pareho.

May isang bit ng isang pangkaraniwang rating ng risistor para sa mga karaniwang LEDs - 330ohm. Mayroong ilang mga matematika sa likod na iyon, ngunit sa ngayon ay tumuon tayo sa proyekto - maaari kang laging tumingin sa batas ng ohms at kaugnay na mga paksa pagkatapos.

Ikonekta ang isang paa ng risistor sa GND lane sa iyong breadboard, at ang iba pang binti ng risistor sa lane na konektado sa mas maikling binti ng iyong LED.

Ang mas mahabang paa ng LED ngayon ay kailangang sumali sa lane na konektado sa GPIO pin.

04 ng 04

Python GPIO Code (RPi.GPIO)

Ang RPi.GPIO ay isang mahusay na aklatan para sa paggamit ng GPIO pin. Richard Saville

Sa sandali kami ay may isang circuit wired up at handa na upang pumunta, ngunit hindi namin sinabi sa aming pin GPIO upang magpadala ng anumang kapangyarihan pa, kaya ang iyong LED ay hindi dapat lit.

Gumawa ng file na Python upang sabihin sa aming GPIO pin upang magpadala ng ilang kapangyarihan sa loob ng 5 segundo at pagkatapos ay tumigil. Ang pinakabagong bersyon ng Raspbian ay magkakaroon ng naka-install na necassary GPIO library.

Buksan ang isang terminal window at lumikha ng isang bagong script sawa sa pamamagitan ng pagpasok ng sumusunod na command:

sudo nano led1.py

Magbubukas ito ng blangkong file para makapasok sa aming code. Ipasok ang mga linya sa ibaba:

#! / usr / bin / python # Mag-import ng mga aklatan na kailangan namin ng import RPi.GPIO bilang GPIO import time # Itakda ang GPIO mode GPIO.setmode (GPIO.BCM) # Itakda ang LED GPIO number LED = 21 # Itakda ang LED GPIO pin bilang isang output GPIO.setup (LED, GPIO.OUT) # Lumiko ang GPIO pin sa GPIO.output (LED, Tama) # Maghintay ng 5 segundo time.sleep (5) # Lumiko ang GPIO pin off GPIO.output (LED, False)

Pindutin ang Ctrl + X upang i-save ang file. Upang patakbuhin ang file, ipasok ang sumusunod na command sa terminal at pindutin ang enter:

sudo python led1.py

Ang LED ay dapat na ilaw para sa 5 segundo pagkatapos i-off, nagtatapos ang programa.

Bakit hindi subukan ang pagbabago ng numero ng 'time.sleep' upang magaan ang LED para sa iba't ibang oras, o subukang baguhin ang 'GPIO.output (LED, True)' sa 'GPIO.output (LED, False)' at makita kung ano ang mangyayari?