Lampu LED karo GPIO Raspberry Pi

Sadurungé taun iki sampeyan entuk tur GPIO Raspberry Pi lan uga dianjurake sawetara papan breakout migunani banget kanggo ngenali nomer pin. Dina iki kita terus tema kasebut lan mulai nggunakake pin iki digabung karo kode lan hardware.

GPIO minangka cara Raspberry Pi ngobrol karo donya njaba - "nyata" - nggunakake kode kanggo ngowahi sinyal lan voltase menyang lan saka header 40-pin.

Pengkodean GPIO cukup prasaja kanggo diwiwiti, utamane kanggo proyek pamula kayata LED lan buzzer. Kanthi mung sawetara komponen lan sawetara baris kode sampeyan bisa ngemot utawa ngirupake LED minangka bagéan saka proyek sampeyan.

Artikel iki bakal nuduhake sampeyan apa sing perlu kanggo nguripake LED nggunakake kode Python ing Raspberry Pi, kanthi nggunakake metode 'RPi.GPIO' tradisional.

01 saka 04

Apa Sampeyan Perlu

Mung bagean sing prasaja lan murah sing dibutuhake kanggo proyek iki. Richard Saville

Punika dhaptar kabeh sing perlu kanggo project starter cilik iki. Sampeyan kudu bisa nemokake item kasebut ing toko panyedhiya favorit utawa situs lelang online.

02 saka 04

Nggawe Sirkuit - Langkah 1

Sambungake saben PIN menyang papan roti kanthi kabel jumper. Richard Saville

Kita bakal nggunakake 2 pin GPIO kanggo proyek iki, pin tanah (pin fisik 39) kanggo sikil lemah saka LED, lan pin GPIO umum (GPIO 21, pin fisik 40) kanggo ngowahi LED - nanging mung nalika kita arep - sing ngendi kode teka ing.

Pisanan, mateni Raspberry Pi sampeyan. Saiki, nggunakake kabel jumper, sambungake PIN ing lemah menyang papan ing papan roti. Sabanjure nglakoni sing padha kanggo PIN GPIO, nyambungake menyang jalur liyane.

03 saka 04

Nggawe Sirkuit - Langkah 2

LED lan resistor ngrampungake sirkuit. Richard Saville

Sabanjure kita nambahake LED lan resistor menyang sirkuit.

LED duwe polaritas - tegese kudu dipasangake kanthi cara tartamtu. Piyambakipun biasanipun gadhah leg tunggal ingkang dados kaki anode (positif), lan biasanipun wonten pinggiran datar ing sirup plastik LED ingkang nedahaken leg katod (negatif).

Resistor digunakake kanggo nglindhungi LED saka nampa akeh saiki, lan pin GPIO saka 'menehi' banget - kang bisa ngrusak loro.

Ana sawetara resistor umum kanggo standar LEDs - 330ohm. Ana sawetara maths sing isih ana, nanging saiki ayo fokus ing proyek kasebut - sampeyan bisa tansah nemokake hukum ohm lan topik sing gegandhengan sawise.

Sambungake siji kaki saka resistor menyang jalur GND ing papan roti, lan sikil resistor liyane menyang jalur sing disambungake menyang sikil sing luwih cendhek saka LED sampeyan.

Kaki sing luwih lawas saka LED saiki kudu nggabungake jalur sing disambungake menyang PIN GPIO.

04 saka 04

Kode GPIO Python (RPi.GPIO)

RPi.GPIO minangka perpustakaan sing apik kanggo nggunakake PIN GPIO. Richard Saville

Ing wayahe kita duwe sirkuit dipasang lan siap kanggo pindhah, nanging kita wis ora marang GPIO PIN kanggo ngirim metu daya apa durung, supaya LED sampeyan ora bakal cahya.

Ayo gawe berkas Python kanggo mangsuli PIN GPIO kanggo ngirim sawetara daya sakjam 5 detik lan banjur mandheg. Versi paling anyar saka Raspbian bakal duwe perpustakaan GPIO necassary sing wis diinstal.

Bukak jendela terminal lan gawe skrip Python anyar kanthi ngetik perintah ing ngisor iki:

sudo nano led1.py

Iki bakal mbukak file kosong kanggo ngetik kodhe kita. Ketik baris ing ngisor iki:

#! / usr / bin / python # Ngimpor pustaka sing kita perlu ngimpor RPi.GPIO minangka wektu impor GPIO # Nyetel GPIO mode GPIO.setmode (GPIO.BCM) # Setel nomer GPIO LED LED = 21 # Nyetel pin GPIO LED minangka output GPIO.setup (LED, GPIO.OUT) # Nguripake PIN GPIO.output (LED, Bener) # Tunggu 5 detik time.sleep (5) # Nguripake GPIO pin mati GPIO.output (LED, Palsu)

Pencet Ctrl + X kanggo nyimpen file kasebut. Kanggo mbukak file kasebut, ketikake perintah kasebut ing terminal banjur pencet ketik:

sudo python led1.py

LED ngirim cahya sakwise 5 detik banjur mateni, ngakhiri program.

Yèn ora nyoba ngowahi nomer 'time.sleep' kanggo ngresiki LED kanggo wektu sing béda, utawa coba ganti 'GPIO.output (LED, Bener)' menyang 'GPIO.output (LED, Palsu)' lan ndeleng apa sing kedadean?