Nyalakan LED dengan GPIO Raspberry Pi

Awal tahun ini Anda mendapat tur GPIO Raspberry Pi dan juga merekomendasikan beberapa papan breakout yang sangat berguna untuk mengidentifikasi nomor pin. Hari ini kami melanjutkan tema itu dan mulai menggunakan pin ini dikombinasikan dengan kode dan perangkat keras.

GPIO adalah bagaimana Raspberry Pi berbicara ke dunia luar - "hal-hal nyata" - menggunakan kode untuk memprogram sinyal dan voltase ke dan dari header 40-pin.

Pengodean dengan GPIO cukup mudah untuk memulai, terutama untuk proyek-proyek pemula seperti LED dan buzzer. Dengan hanya beberapa komponen dan beberapa baris kode Anda dapat menyalakan atau mem-flash LED sebagai bagian dari proyek Anda.

Artikel ini akan menunjukkan kepada Anda apa yang Anda butuhkan untuk menyalakan LED menggunakan kode Python pada Raspberry Pi Anda, menggunakan metode 'RPi.GPIO' tradisional.

01 04

Apa yang kau butuhkan

Hanya beberapa bagian sederhana dan murah yang diperlukan untuk proyek ini. Richard Saville

Berikut adalah daftar semua yang Anda perlukan untuk proyek pemula kecil ini. Anda harus dapat menemukan barang-barang ini di toko pembuat favorit Anda atau situs lelang online.

02 04

Buat Sirkuit - Langkah 1

Hubungkan setiap pin ke papan tempat memotong roti dengan kabel jumper. Richard Saville

Kita akan menggunakan 2 pin GPIO untuk proyek ini, pin ground (pin fisik 39) untuk ground leg dari LED, dan pin GPIO generik (GPIO 21, pin fisik 40) untuk menyalakan LED - tetapi hanya ketika kami memutuskan untuk - di mana kode itu masuk.

Pertama, matikan Raspberry Pi Anda. Sekarang, dengan menggunakan kabel jumper, hubungkan pin ground ke jalur di papan tempat memotong roti Anda. Selanjutnya lakukan hal yang sama untuk pin GPIO, menghubungkan ke jalur yang berbeda.

03 04

Buat Sirkuit - Langkah 2

LED dan resistor melengkapi sirkuit. Richard Saville

Selanjutnya kita tambahkan LED dan resistor ke rangkaian.

LED memiliki polaritas - artinya mereka harus dihubungkan dengan cara tertentu. Mereka biasanya memiliki satu kaki lagi yang merupakan kaki anoda (positif), dan biasanya tepi rata pada kepala plastik LED yang menunjukkan kaki katoda (negatif).

Sebuah resistor digunakan untuk melindungi kedua LED dari menerima terlalu banyak arus, dan pin GPIO dari 'memberi' terlalu banyak - yang dapat merusak keduanya.

Ada sedikit rating resistor umum untuk LED standar - 330ohm. Ada beberapa matematika di balik itu, tetapi untuk sekarang mari kita fokus pada proyek - Anda selalu dapat melihat ke dalam hukum ohm dan topik terkait sesudahnya.

Hubungkan satu kaki resistor ke jalur GND di papan tempat memotong roti Anda, dan kaki penghambat lainnya ke jalur yang terhubung ke kaki pendek LED Anda.

Kaki yang lebih panjang dari LED sekarang perlu bergabung dengan jalur yang terhubung ke pin GPIO.

04 04

Kode Python GPIO (RPi.GPIO)

RPi.GPIO adalah pustaka yang sangat bagus untuk menggunakan pin GPIO. Richard Saville

Saat ini kami memiliki rangkaian kabel dan siap untuk digunakan, tetapi kami belum memberi tahu pin GPIO kami untuk mengirimkan daya apa pun, sehingga LED Anda tidak boleh menyala.

Mari buat file Python untuk memberi tahu pin GPIO kami untuk mengirimkan beberapa daya selama 5 detik dan kemudian berhenti. Versi terbaru dari Raspbian akan memiliki perpustakaan GPIO yang sudah terpasang.

Buka jendela terminal dan buat skrip Python baru dengan memasukkan perintah berikut:

sudo nano led1.py

Ini akan membuka file kosong untuk kami masukkan kode kami. Masukkan garis di bawah ini:

#! / usr / bin / python # Impor pustaka yang kita perlukan impor RPi.GPIO sebagai waktu impor GPIO # Setel mode GPIO GPIO.setmode (GPIO.BCM) # Setel nomor LED GPIO LED = 21 # Atur pin GPIO LED sebagai output GPIO.setup (LED, GPIO.OUT) # Hidupkan pin GPIO pada GPIO.output (LED, True) # Tunggu 5 detik time.sleep (5) # Hidupkan pin GPIO dari GPIO.output (LED, False)

Tekan Ctrl + X untuk menyimpan file. Untuk menjalankan file, masukkan perintah berikut di terminal dan tekan enter:

sudo python led1.py

Lampu LED akan menyala selama 5 detik kemudian dimatikan, mengakhiri program.

Mengapa tidak mencoba mengubah nomor 'time.sleep' untuk menyalakan LED untuk waktu yang berbeda, atau coba mengubah 'GPIO.output (LED, True)' menjadi 'GPIO.output (LED, False)' dan lihat apa yang terjadi?