Daftar Isi:

Mengontrol Beberapa LED Dengan Python dan Pin GPIO Raspberry Pi Anda: 4 Langkah (dengan Gambar)
Mengontrol Beberapa LED Dengan Python dan Pin GPIO Raspberry Pi Anda: 4 Langkah (dengan Gambar)

Video: Mengontrol Beberapa LED Dengan Python dan Pin GPIO Raspberry Pi Anda: 4 Langkah (dengan Gambar)

Video: Mengontrol Beberapa LED Dengan Python dan Pin GPIO Raspberry Pi Anda: 4 Langkah (dengan Gambar)
Video: Web server to control GPIO on a Raspberry Pi with websockets (see description for important notes) 2024, November
Anonim
Mengontrol Beberapa LED Dengan Python dan Pin GPIO Raspberry Pi Anda
Mengontrol Beberapa LED Dengan Python dan Pin GPIO Raspberry Pi Anda

Instruksi ini menunjukkan cara mengontrol beberapa pin GPIO pada RaspberryPi Anda untuk memberi daya pada 4 LED. Ini juga akan memperkenalkan Anda pada parameter dan pernyataan kondisional dengan Python.

Instruksi kami sebelumnya Menggunakan Pin GPIO Raspberry Pi Anda untuk Mengontrol LED menunjukkan cara menghidupkan dan mematikan satu LED dengan menggunakan perintah GPIO.output. Instruksi ini dibangun di atas pengetahuan itu untuk mengajari Anda cara mendapatkan kontrol lebih besar atas sirkuit Anda.

Langkah 1: Apa yang Anda Butuhkan

Apa yang Anda Butuhkan
Apa yang Anda Butuhkan
Apa yang Anda Butuhkan
Apa yang Anda Butuhkan

- RaspberryPi dengan Raspbian sudah terpasang. Anda juga harus dapat mengakses Pi menggunakan Monitor, Mouse, dan Keyboard atau melalui Remote Desktop. Anda dapat menggunakan model Raspberry Pi apa saja. Jika Anda memiliki salah satu model Pi Zero, Anda mungkin ingin menyolder beberapa pin header ke port GPIO.

- LED Merah, Biru, Kuning dan Hijau

- Papan Tempat Memotong Roti Prototipe Tanpa Solder

- Resistor 4 x 330 ohm

- Beberapa kabel jumper Pria ke Wanita

Langkah 2: Bangun Sirkuit Anda

Bangun Sirkuit Anda
Bangun Sirkuit Anda
Bangun Sirkuit Anda
Bangun Sirkuit Anda

Bangun sirkuit di atas pada papan tempat memotong roti Anda untuk memastikan bahwa tidak ada kabel komponen yang bersentuhan dan LED terhubung dengan cara yang benar.

Bagaimana Anda mengidentifikasi lead positif dan negatif (polaritas) pada LED Anda? Jika Anda melihat LED dari dekat, Anda akan melihat bahwa ia memiliki dua potongan logam kecil di dalam casing berwarna. Ini disebut Anoda dan Katoda. Katoda adalah yang terbesar dari keduanya dan juga terhubung ke kabel negatif LED.

Setelah Anda memeriksa sirkuit Anda, sambungkan kabel jumper pin GPIO Raspberry Pi Anda dengan mengikuti diagram di atas.

Langkah 3: Buat Script untuk Mengontrol dan Menguji LED

Buat Script untuk Mengontrol dan Menguji LED
Buat Script untuk Mengontrol dan Menguji LED

Di Raspberry Pi Anda, buka IDLE (Menu > Programming > Python 2 (IDLE)).

Buka proyek baru, buka File > File Baru. Kemudian ketik (atau salin dan tempel) kode berikut:

impor RPi. GPIO sebagai GPIO

waktu impor 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, True) time.sleep(3) GPIO.output(17, False) time.sleep(1) GPIO.output(18, True) time.sleep(3) GPIO.output(18, False) time.sleep(1) GPIO.output(22, True) time.sleep(3) GPIO.output(22, False) time.sleep(1) GPIO.output(23, True) time.sleep(3) GPIO. keluaran(23, Salah)

Simpan proyek Anda sebagai multilights.py (File > Save As) di folder Dokumen Raspberry Pis Anda.

Di Raspberry Pi Anda, buka Terminal (Menu > Accessories > Terminal) dan arahkan ke folder Documents Anda dengan mengetikkan yang berikut:

cd /home/pi/Documents

Anda sekarang dapat menjalankan skrip baru Anda dengan mengetikkan yang berikut:

python multilights.py

Lampu akan mengambilnya secara bergantian untuk dinyalakan dan dimatikan. Script di atas menggunakan perintah time.sleep untuk membuat jeda di antara setiap langkah, membuat setiap lampu tetap menyala selama 3 detik dan menunggu selama 1 detik sebelum menyalakan lampu berikutnya.

Langkah 4: Menambahkan Fleksibilitas dengan Menggunakan Parameter dan Pernyataan Bersyarat

Dengan menggunakan Parameter dan Pernyataan Bersyarat kita dapat membuat skrip di atas jauh lebih fleksibel.

Parameter memungkinkan Anda untuk menyimpan nilai yang dapat Anda gunakan nanti dalam skrip. Jenis nilai yang paling umum adalah string (teks), integer (bilangan bulat) atau float (bilangan desimal).

Pernyataan Bersyarat akan menentukan apakah segmen kode harus dieksekusi atau tidak dengan memeriksa apakah kondisi tertentu terpenuhi. Kondisi juga dapat melibatkan parameter.

Buka IDLE di Raspberry Pi Anda dan buka proyek baru (File > File Baru). Kemudian ketik berikut ini. Berhati-hatilah untuk memastikan bahwa semua indentasi (tab) disertakan dengan menggunakan tombol tab:

impor RPi. GPIO sebagai GPIO

waktu impor dari sistem impor 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. KELUAR) jika ledaction=="off": if whichled=="a": GPIO.output(LEDa, False) if whichled=="b": GPIO.output(LEDb, False) if whichled=="c": GPIO.output(LEDc, False) jika whichled=="d": GPIO.output(LEDd, False) if whichled=="all": GPIO.output(LEDa, False) GPIO.output(LEDb, False) GPIO. output(LEDc, False) GPIO.output(LEDd, False) if ledaction=="on": if whichled=="a": GPIO.output(LEDa, True) if whichled=="b": GPIO.output(LEDb, True) if whichled=="c": GPIO.output(LEDc, True) if whichled=="d": GPIO.output(LEDd, True) if whichled=="all": GPIO.output(LEDa, Benar) GPIO.output(LEDb, Benar) GPIO.output(LEDc, Benar) GPIO.output(LEDd, Benar)

Simpan proyek Anda sebagai controllight.py (File > Save As) di folder Documents Anda. Sekarang buka Terminal (Menu > Accessories > Terminal) dan ketik perintah berikut:

python controllight.py b on

LED kedua harus menyala. Sekarang ketik berikut ini:

python controllight.py mati

LED kedua harus dimatikan.

Pada baris 5, 6, 7 & 8, kita membuat parameter LEDa, LEDb, LEDc dan LEDd untuk menyimpan pin GPIO mana yang telah kita sambungkan ke LED mana. Ini memungkinkan kami untuk menggunakan pin GPIO alternatif tanpa harus membuat perubahan substansial pada skrip.

Misalnya, jika kita menghubungkan kabel LED pertama ke Pin 3 (GPIO 2), kita hanya perlu mengubah baris 5 menjadi berikut:

LED = 2

Baris 4 menyimpan nilai yang Anda ketikkan setelah controllight.py ke dalam parameter yang dipimpin (c) dan ledaction (aktif). Script kemudian menggunakan parameter ini, di samping sejumlah Pernyataan Bersyarat untuk memutuskan LED mana yang akan dikontrol dan apakah akan menyalakan atau mematikannya.

Baris 16 (jika ledaction=="on":) adalah pernyataan bersyarat. Baris indentasi yang mengikuti pernyataan ini hanya akan berjalan jika kondisi pernyataan terpenuhi. Dalam skenario ini, kondisinya adalah ledaction berisi teks aktif.

Dengan membaca Pernyataan Bersyarat skrip lainnya, dapatkah Anda memprediksi apa yang akan terjadi ketika Anda mengetikkan perintah berikut di Terminal?

python controllight.py semua aktif

Mengapa tidak mencobanya dan kirimkan jawaban Anda di bagian komentar di bawah.

Direkomendasikan: