Lampu hiji LED kalawan GPIO nu buah prambus Pi urang

Baheula taun anjeun ngagaduhan tur tina buah prambus Pi urang GPIO sarta ogé dianjurkeun sababaraha bener papan breakout mangpaat pikeun identifying angka pin. Dinten ieu kami nuluykeun téma anu tur mimitian nganggo pin ieu digabungkeun jeung kode jeung hardware.

The GPIO nyaeta kumaha éta buah prambus Pi ceramah ka dunya luar - "hirup nyata" - maké kode kana program sinyal jeung tegangan jeung ti lulugu 40-pin.

Coding jeung GPIO mangrupakeun alesan basajan pikeun ngamimitian kalawan utamana pikeun proyék-proyék pemula kayaning LEDs na buzzers. Kalawan ngan sababaraha komponen-komponen sareng sababaraha garis kode bisa lampu atawa lampu kilat hiji LED jadi bagian tina proyék Anjeun.

artikel ieu bakal némbongkeun Anjeun naon nu peryogi terang hiji LED ngagunakeun kode Python on Anjeun buah prambus Pi, maké metodeu tradisional 'RPi.GPIO'.

01 of 04

Naon Anjeun ngabutuhkeun

Ngan sababaraha patempatan basajan tur mirah diwajibkeun pikeun proyék ieu. Richard Saville

Di dieu hiji daptar sagalana anjeun gé butuh keur proyék starter saeutik ieu. Anjeun kudu bisa manggihan barang ieu di toko maker favorit anjeun atanapi situs lelang online.

02 of 04

Jieun The Circuit - Lengkah 1

Sambungkeun unggal pin ka breadboard kalayan kawat jumper. Richard Saville

Simkuring nuju bade ngagunakeun 2 pin GPIO kanggo proyék ieu mangrupa pin taneuh (pin fisik 39) pikeun leg taneuh LED teh, sarta pin generik GPIO (GPIO 21, pin fisik 40) ngawasa LED teh - tapi ngan lamun urang mutuskeun - nu mana kode asalna di.

Firstly, pareuman Anjeun buah prambus Pi. Ayeuna, ngagunakeun kawat jumper, nyambungkeun pin taneuh ka jalur on breadboard Anjeun. Salajengna lakonan hal nu sarua pikeun pin GPIO, kumaha nyambungkeun ka jalur béda.

03 of 04

Jieun The Circuit - Lengkah 2

The LED sarta résistor ngalengkepan sirkuit. Richard Saville

Salajengna urang nambah LED sarta résistor ka sirkuit.

LEDs gaduh polaritasna - hartina maranéhna kudu jadi kabel dina cara nu tangtu. Aranjeunna biasana boga hiji leg panjang nu di anoda leg (positip), sarta biasana tepi datar dina sirah palastik LED nu ngalambangkeun katoda (negatip) leg.

A résistor ieu dipaké pikeun ngajaga boh LED tina narima ayeuna teuing, jeung pin GPIO tina 'mere' teuing - nu bisa ngaruksak duanana.

Aya saeutik anu rating résistor generik pikeun LEDs baku - 330ohm. Aya sababaraha maths tukangeun eta, tapi pikeun ayeuna hayu urang difokuskeun proyek - anjeun salawasna bisa ngungkaban hukum ohm na jejer nu patali afterwards.

Sambungkeun hiji leg tina résistor ka jalur GND on breadboard anjeun, jeung leg résistor séjén kana jalur disambungkeun ka leg pondok tina LED Anjeun.

Leg panjang tina LED ayeuna perlu gabung jalur disambungkeun ka pin GPIO.

04 of 04

Python GPIO Code (RPi.GPIO)

RPi.GPIO mangrupa perpustakaan alus teuing pikeun ngagunakeun pin GPIO. Richard Saville

Di momen kami boga circuit hiji kabel nepi na siap balik, tapi kami teu ngawartoskeun pin GPIO urang ngirim kaluar kakuatan sagala acan, jadi LED Anjeun teu kudu hartina

Hayu urang ngadamel file Python jeung ngabejaan pin GPIO urang ngirim kaluar sababaraha kakuatan pikeun 5 detik lajeng eureun. Versi panganyarna tina Raspbian bakal boga perpustakaan GPIO necassary dipasang acan.

Buka jandela terminal jeung nyieun Aksara Python anyar ku cara nuliskeun paréntah di handap:

sudo nano led1.py

Ieu bakal muka file kosong pikeun urang asupkeun kode urang. Asupkeun garis handap:

#! / Usr / bin / python # ngimpor perpustakaan kami kudu ngimpor RPi.GPIO sakumaha GPIO waktos impor # Setel GPIO mode GPIO.setmode (GPIO.BCM) # Atur jumlah LED GPIO LED = 21 # Setel pin LED GPIO salaku hiji output GPIO.setup (LED, GPIO.OUT) # Hurungkeun pin GPIO on GPIO.output (LED, leres) # Tungguan 5 detik time.sleep (5) # Hurungkeun pin GPIO kaluar GPIO.output (LED, Palsu)

Pencét Ctrl + X jeung simpen file. Pikeun ngajalankeun file, asupkeun paréntah di handap di terminal jeung mencet asupkeun:

sudo python led1.py

LED kudu terang pikeun 5 detik lajeng mareuman, tungtung program.

Naha henteu coba ngarobah jumlah 'time.sleep' terang nu LED pikeun kali béda, atawa coba ngarobah éta 'GPIO.output (LED, Leres)' pikeun 'GPIO.output (LED, Palsu)' tur tingal kumaha kajadian?