Tugas Pendahuluan 1 - Percobaan 6 Kondisi 1
MODUL II
PERCOBAAN 6 KONDISI 1
- Rangkai semua komponen sesuai kondisi yang dipilih
- Buat program untuk Raspberry Pi Pico di Wokwi (micropython)
- Jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi
2. Hardware dan Diagram Blok [Kembali]
3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]
→ Gambar Rangkaian Sebelum Disimulasikan
→ Gambar Rangkaian Setelah Disimulasikan
PRINSIP KERJA
Mengontrol pergerakan motor servo dan pengendalian LED RGB berdasarkan nilai yang dibaca dari sebuah potensiometer. Sistem dimulai dengan menginisialisasi pin GPIO pada mikrokontroler Raspberry Pi Pico, di mana pin GP16 digunakan untuk motor servo, pin GP28 untuk membaca nilai analog dari potensiometer, dan pin GP1, GP2, serta GP3 untuk mengendalikan LED merah, hijau, dan biru. Servo dikonfigurasi menggunakan sinyal PWM dengan frekuensi 50 Hz, yang sesuai dengan kebutuhan standar motor servo. Nilai tegangan yang diperoleh dari potensiometer dibaca menggunakan ADC, lalu dipetakan ke sudut antara 0° hingga 180°, dan kemudian dikonversi lagi ke nilai duty cycle PWM dalam satuan
duty_u16()
(antara 3276 hingga 16384), yang setara dengan pulsa 0.5 ms hingga 2.5 ms, untuk mengarahkan posisi motor servo sesuai sudut tersebut.Selain mengendalikan posisi servo, program ini juga mengatur pencahayaan LED RGB berdasarkan sudut yang dihasilkan. Misalnya, jika sudut berada antara 0° hingga 60°, maka LED merah dan biru akan menyala secara berkedip, membentuk warna ungu. Jika berada di rentang 60° hingga 90°, hanya LED merah yang menyala. Rentang sudut 90° hingga 120° menyebabkan semua LED mati, sedangkan sudut antara 120° hingga 180° akan menyalakan LED biru. Status LED akan berubah setiap dua detik, menghasilkan efek berkedip, yang diatur melalui variabel waktu dan status boolean. Seluruh proses ini berlangsung secara terus-menerus dalam loop utama, dengan penundaan singkat 50 ms di setiap iterasi untuk memastikan kestabilan pembacaan dan output.
4. FlowChart dan Listing Program [Kembali]
from machine import Pin, PWM, ADC
import utime
# === Inisialisasi Pin ===
servo = PWM(Pin(16)) # Servo motor pada pin GP16
pot = ADC(Pin(28)) # Potensiometer pada pin GP28
led_red = Pin(1, Pin.OUT) # LED Merah pada pin GP1
led_green = Pin(2, Pin.OUT) # LED Hijau pada pin GP2
led_blue = Pin(3, Pin.OUT) # LED Biru pada pin GP3
# === Konfigurasi PWM untuk servo ===
servo.freq(50)
# === Fungsi pemetaan nilai ===
def map_value(value, in_min, in_max, out_min, out_max):
return int((value - in_min) * (out_max - out_min) / (in_max - in_min) + out_min)
# === Variabel kontrol kedipan LED ===
last_blink = utime.ticks_ms()
led_state = True
# === Loop utama ===
while True:
now = utime.ticks_ms()
# Baca nilai potensiometer
pot_value = pot.read_u16()
# Pemetaan potensiometer ke sudut
angle = map_value(pot_value, 0, 65535, 0, 180)
# Pemetaan ke PWM duty_u16() antara 0.5ms - 2.5ms (untuk 0°–180°)
duty = map_value(angle, 0, 180, 3276, 16384)
servo.duty_u16(duty)
print(f"Pot Value: {pot_value}, Angle: {angle}, Duty: {duty}")
# Toggle LED setiap 2 detik
if utime.ticks_diff(now, last_blink) >= 2000:
led_state = not led_state
last_blink = now
# Atur kondisi LED berdasarkan sudut
if 0 <= angle <= 60:
led_red.value(led_state)
led_green.value(0)
led_blue.value(led_state)
elif 60 < angle <= 90:
led_red.value(led_state)
led_green.value(0)
led_blue.value(0)
elif 90 < angle <= 120:
led_red.value(0)
led_green.value(0)
led_blue.value(0)
elif 120 < angle <= 180:
led_red.value(0)
led_green.value(0)
led_blue.value(led_state)
utime.sleep_ms(50)
b. Flowchart
Kondisi →Percobaan 6 Kondisi 1
Buatlah rangkaian seperti gambar pada percobaan 6, Buatlah ketika servo 0° - 60° (Merah & Biru menyala, Hijau mati), 60° - 90° (Merah menyala, Hijau & Biru mati), 90° - 120° (Semua LED mati), dan 120° - 180° (Biru menyala, Merah & Hijau mati). Masing-masing LED berkedip 2 Detik
6. Video Simulasi [Kembali]
7. Download File [Kembali]
Download HMTL Klik disini
Download Simulasi Rangkaian Klik disini
Download Video Simulasi Klik disini
Download Datasheet Raspberry Pi Pico Klik disini
Download Datasheet Motor Servo Klik disini
Download Datasheet LED RGB Klik disini
Download Datasheet Potensiometer Klik disini
Download Datasheet Potensiometer Klik disini
Komentar
Posting Komentar