● online
- IIC I2C LCD 1602 16x2 2004 20x4 Backpack for LCD A....
- Wemos D1 Mini ESP8266 - IoT Board....
- B0505S-1W 5V to 5V converter DC DC power module co....
- ESP32 ESP-32 Wireless Module ESP32-S ESP-WROOM-32 ....
- 5V 700mA (3.5W) Isolated switch Power Supply Modul....
- Kabel Jumper Dupont Pelangi 30 cm female to Female....
- LED 3mm Lampu LED 3 mm....
- Tilt Sensor SW-520D Module Modul Sensor Kemiringan....
- Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
- Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
Membuat Traffic Light LED Dengan Raspberry Pi dan Python
Traffic Light atau lampu lalu lintas adalah lampu yang mampu menertibkan arus lalu lintas jalanan baik kendaraan bermotor, mobil, dan pejalan kaki. Pada setiap traffic light terdapat 3 buah lampu yang masing-masing warnanya yaitu merah, kuning, hijau. Jika lampu menyala merah berarti kendaraan harus berhenti. Jika lampu menyala hijau maka kendaraan harus jalan terus. Sedangkan, jika lampu menyala kuning maka kendaraan harus berjalan pelan-pelan. Pada kesempatan ini, menggunakan Raspberry Pi 3B untuk membuat sebuah logika Traffic Light menggunakan LED.
ALAT DAN BAHAN PERCOBAAN Traffic Light Raspberry Pi
- Raspberry Pi 3B atau 4 (sudah terinstall Raspbian OS)
- Laptop/Personal Computer (PC)
- Kabel USB yang dapat terhubung ke Raspberry Pi
- 3 buah LED (warna: merah, kuning, hijau)
- 3 buah Resistor 220 Ohm
- Kabel Jumper secukupnya
- Protoboard/projectboard/breadboard
RANGKAIAN
Buat rangkaian percobaan seperti pada gambar berikut ini
Langkah berikutnya adalah membuat program/source code traffic light-nya. Pada tutorial ini saya menggunakan bahasa pemrogrman Python dengan Thonny sebagai IDE-nya (IDE=Integrated Development Environment). Berikut contoh programnya :
PERCOBAAN 1 – Traffic Light Raspberry Pi
''' PROGRAM TRAFFIC LIGHT #1 BY. INDOMAKER ''' # memasukan library import RPi.GPIO as GPIO import time # pin LED R_LED = 14 Y_LED = 15 G_LED = 18 # Setting pin GPIO GPIO.setmode(GPIO.BCM) # skema penomoran BCM GPIO.setwarnings(False) # menonaktifkan warning # pin LED sebagai OUTPUT GPIO.setup(R_LED,GPIO.OUT) GPIO.setup(Y_LED,GPIO.OUT) GPIO.setup(G_LED,GPIO.OUT) # eksekusi program terus menerus try: while True: # perulangan While-loop # menyalakan LED Merah print("LED MERAH NYALA") # menampilkan teks print("BERHENTI \n") GPIO.output(R_LED, GPIO.HIGH) # instruksi menyalakan LED merah GPIO.output(Y_LED, GPIO.LOW) # instruksi mematikan LED kuning GPIO.output(G_LED, GPIO.LOW) # instruksi mematikan LED hijau time.sleep(3) # timer 3 detik # menyalakan LED Hijau print("LED HIJAU NYALA") # menampilkan teks print("MAJU TERUS \n") GPIO.output(R_LED, GPIO.LOW) # instruksi mematikan LED merah GPIO.output(Y_LED, GPIO.LOW) # instruksi mematikan LED kuning GPIO.output(G_LED, GPIO.HIGH) # instruksi menyalakan LED hijau time.sleep(3) # timer 3 detik # menyalakan LED Kuning print("LED KUNING NYALA") # menampilkan teks print("PELAN-PELAN \n") GPIO.output(R_LED, GPIO.LOW) # instruksi mematikan LED merah GPIO.output(Y_LED, GPIO.HIGH) # instruksi menyalakan LED kuning GPIO.output(G_LED, GPIO.LOW) # instruksi mematikan LED hijau time.sleep(3) # timer 3 detik except KeyboardInterrupt: GPIO.cleanup() # membersihkan pin GPIO untuk digunakan kembali
Jika kita lihat hasilnya lewat Shell, outputnya adalah sbb:
PERCOBAAN 2: Program menggunakan Function
Kali ini kita akan coba menyederhanakan program pada Percobaan 1 di atas menggunakan ‘Function’
''' PROGRAM MEMBUAT TRAFFIC LIGHT #2 BY. INDOMAKER ''' # memasukan library import RPi.GPIO as GPIO import time # pin LED R_LED = 14 Y_LED = 15 G_LED = 18 # Setting pin GPIO GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) # pin LED sebagai OUTPUT GPIO.setup(R_LED,GPIO.OUT) GPIO.setup(Y_LED,GPIO.OUT) GPIO.setup(G_LED,GPIO.OUT) # menyalakan LED Hijau def led_hijau(): print("LED HIJAU NYALA") print("MAJU TERUS \n") GPIO.output(R_LED, GPIO.LOW) GPIO.output(Y_LED, GPIO.LOW) GPIO.output(G_LED, GPIO.HIGH) time.sleep(3) # menyalakan LED Merah def led_merah(): print("LED MERAH NYALA") print("BERHENTI \n") GPIO.output(R_LED, GPIO.HIGH) GPIO.output(Y_LED, GPIO.LOW) GPIO.output(G_LED, GPIO.LOW) time.sleep(3) # menyalakan LED Kuning def led_kuning(): print("LED KUNING NYALA") print("PELAN-PELAN \n") GPIO.output(R_LED, GPIO.LOW) GPIO.output(Y_LED, GPIO.HIGH) GPIO.output(G_LED, GPIO.LOW) time.sleep(3) # eksekusi program terus menerus try: while True: # memanggil fungsi led_merah() led_hijau() led_kuning() except KeyboardInterrupt: GPIO.cleanup()
Hasilnya dapat di lihat di Shell seperti pada gambar berikut:
Kedua program diatas sama-sama ditunjukkan untuk membuat Traffic Light. Perbedaan program pertama dan kedua hanya pada penggunaan function saja. Pada program pertama, tidak menggunakan function sehingga kode program terlihat begitu kompleks pada while loopnya. Sedangkan, pada program kedua menggunakan function sehingga membuat fungsi untuk beberapa led, seperti led_merah, led_kuning, dan led_hijau dengan penggunaannya lebih praktis memanggilnya di while loop. Kedua program tersebut, membuat 3 buah led menyala dan mati secara bergantian selama 3 detik mulai dari warna merah, hijau, kuning seperti pada lampu traffic light di jalanan.
Demikian sedikit tutorial pada kesempatan kali ini. Program di atas dimaksudkan untuk membuat Traffic Light dengan menggunakan Raspberry Pi. Terdapat 2 percobaan, percobaan pertama program dibuat tanpa bantuan function dengan pengendalian LED atau kontrol logika LED ada dalam baris di dalam while-loop, sehingga terlihat kompleks. Sedangkan, percobaan kedua program dibuat dengan bantuan function yang membuat penulisan program lebih sederhana hanya memanggil fungsi yang telah dibuat ke dalam while-loop. Selamat mencoba.
Membuat Traffic Light LED Dengan Raspberry Pi dan Python
Thingsboard merupakan sebuah platform IoT open-source yang memungkinkan anda untuk mengontrol ataupun memonitoring berbagai perangkat. Penggunaanya mudah, gratis dan... selengkapnya
Sensor ultrasonik merupakan sensor yang dapat mendeteksi suatu benda yang ada di depannya dengan jarak tertentu. Prinsip kerja dari... selengkapnya
Oke sekarang kita akan belajar menyalakan LED dengan Blynk NodeMCU. Tentunya anda semua sudah menginstal aplikasi Blynk kan ya…... selengkapnya
Oke pada artikel kali ini membahas telegram kembali menggunakan sensor DHT untuk mendeteksi suhu dan kelembaban. Jadi nanti akan... selengkapnya
Pernahkah Anda mengambil foto pada saat hujan lebat, untuk menghasilkan gambar yang benar-benar realistis hujan, beberapa orang akan memperjuangkan... selengkapnya
Aktivitas manusia dalam kehidupan sehari-harinya tentu tidak jauh dari mendengarkan musik, menonton film atau streaming youtube baik untuk... selengkapnya
Pada artikel kali ini saya akan membahas penggunaan sensor DHT11, dimana sensor ini fungsinya untuk mengukur suhu dan kelembaban... selengkapnya
Pada kesempatan kali ini kita akan belajar bersama mengenai 7 segment. Berbeda dengan tutorial sebelumnya yang membahas 1 digit... selengkapnya
CNC router merupakan sebuah mesin yang mempunyai kegunaan untuk memotong, mengukir/grafir dan membuat marking. Semua proses itu dapat dilakukan... selengkapnya
Alarm sangat diperlukan untuk keamanan tertentu, misalnya pada rumah, toko, maupun yang berupa barang-barang berharga lainnya dari pencuri. Tentunya... selengkapnya
Kabel Jumper Dupont Pelangi 10 cm male to male 1 lembar = 40 kabel
Rp 13.000Mini Solderless Breadboard 400 Tie Points adalah breadboard 400 titik lubang, dengan ukuran yang compact sangat cocok untuk anda yang… selengkapnya
Rp 7.800Bagaimana jika mikrokontroler yang anda gunakan tidak memiliki port ADC. atau anda masih kurang dengan spesifikasi resolusi ADC yang disediakan… selengkapnya
Rp 65.00012V2A switching power supply power adapter 12V power supply 2A power supply
Rp 33.500 Rp 35.000Modul sensor tegangan AC bolak balik 3 fasa ini menggunakan optocoupler sehingga tegangan input (AC) tidak akan mengganggu/membahayakan tegangan output… selengkapnya
Rp 57.000POTENSIOMETER LINEAR MONO 10K ohm
Rp 1.900Buruan dibeli gan….barang murah-berkualitas SIAPA CEPAT DIA DAPAT Spesifikasi: LCD 1602 / 16×2 (16 karakter, 2 baris) merek QAPASS (cek… selengkapnya
Rp 24.500Menerima jasa cetak PCB FR2 (pertinax) / FR4 (double) single / double layer. Silahkan ke web kalkulator biaya cetak pcb… selengkapnya
Rp 1.000Item Deskripsi : This module performance is stable, measure the distance accurately. performance nearly the same as SRF05, SRF02 SRF05,… selengkapnya
Rp 13.900
Saat ini belum tersedia komentar.