LAPORAN AKHIR 2



Percobaan 6

MOTOR SERVO, LED RGB, & POTENSIOMETER 

1. Prosedur[Kembali]

1. Persiapkan semua alat dan bahan yang diperlukan.

2. Rangkai semua komponen pada breadboard yang telah disediakan.

3. Buatlah program di aplikasi Thonny untuk mikrokontroler Raspberry Pi Pico.

4. Rangkaian dihubungkan ke laptop dengan kabel USB dan dirunning.

5. Amati hasilnya, apakah output sesuai dengan program yang diinputkan.

6. Selesai.

.

2. Hardware dan Diagram Blok[Kembali]

Hardware:

1. Raspberry Pi Pico


2. Motor Servo

3. LED RGB

Jual LED RGB 4 PIN WARNA MERAH HIJAU BIRU 5mm ( ARDUINO ) - Common Cathode  - Jakarta Barat - Ardushop-id | Tokopedia

4. Resistor


5. Potensiometer

Diagram Blok:


3. Rangkaian Simulasi dan Prinsip Kerja[Kembali]

Rangkaian Simulasi:

Prinsip Kerja:

Rangkaian ini mengintegrasikan potensiometer, servo motor, dan LED RGB yang dikendalikan oleh Raspberry Pi Pico. Potensiometer berfungsi sebagai input analog yang terhubung ke pin ADC (GP28) pada mikrokontroler. Nilai yang dibaca dari potensiometer berada dalam rentang 0 hingga 65535 dan kemudian dikonversi ke sudut servo dalam rentang 0° hingga 180° menggunakan fungsi pemetaan. Sudut servo tersebut kemudian diubah menjadi nilai duty cycle PWM dalam rentang 1500 hingga 7500 untuk mengontrol posisi servo motor melalui pin PWM (GP16).

Servo motor akan bergerak sesuai dengan sudut yang ditentukan oleh potensiometer. Selain itu, rangkaian ini juga menggunakan LED RGB sebagai indikator visual berdasarkan posisi sudut servo. Tiga warna LED (merah, hijau, dan biru) dikendalikan melalui pin GP1, GP2, dan GP3. Logika kontrol menentukan bahwa LED merah menyala jika sudut servo berada di antara 0°–60°, LED hijau menyala jika sudut berada di antara 60°–120°, dan LED biru menyala jika sudut lebih dari 120°. LED tersebut berkedip dengan interval 1 detik, memberikan umpan balik visual kepada pengguna.

Program utama berjalan dalam loop yang terus-menerus membaca nilai potensiometer, mengonversinya ke sudut servo, dan mengontrol LED RGB berdasarkan nilai sudut tersebut. Kedipan LED diatur menggunakan penghitungan waktu berbasis fungsi utime.ticks_ms, memastikan bahwa perubahan status LED terjadi secara periodik. Sistem ini menciptakan antarmuka yang interaktif dan memberikan pengalaman visual serta kontrol yang intuitif.


4. Flowchart dan Listing Program[Kembali]

Flowchart:

Listing Program:

from machine import Pin, PWM, ADC
import utime
 
# Definisi pin
servo = PWM(Pin(16))  # Servo pada GP16
pot = ADC(Pin(28))    # Potensiometer pada GP28
led_red = Pin(1, Pin.OUT)   # LED Merah pada GP1
led_green = Pin(2, Pin.OUT) # LED Hijau pada GP2
led_blue = Pin(3, Pin.OUT)  # LED Biru pada GP3
 
# Konfigurasi servo (frekuensi 50Hz)
servo.freq(50)
 
# Fungsi map seperti di Arduino
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 untuk kontrol kedipan LED
last_blink = utime.ticks_ms()
led_state = True  # Mulai dalam keadaan menyala
while True:
# Waktu sekarang
now = utime.ticks_ms()
# Membaca nilai potensiometer (0 - 65535)
pot_value = pot.read_u16()
# Konversi ke sudut servo (0° - 180°)
angle = map_value(pot_value, 0, 65535, 0, 180)
# Konversi sudut ke duty cycle (1500 - 7500) → sesuai servo PWM
duty = map_value(angle, 0, 180, 1500, 7500)
servo.duty_u16(duty)
# Print untuk debugging
print(f"Pot Value: {pot_value}, Angle: {angle}, Duty: {duty}")
# Jika sudah lewat 1000 ms (1 detik), ubah status LED RGB
if utime.ticks_diff(now, last_blink) >= 1000:
led_state = not led_state
last_blink = now  # reset waktu blink
# Nyalakan salah satu warna LED berdasarkan sudut
if 0 <= angle <= 60:
led_red.value(led_state)
led_green.value(0)
led_blue.value(0)
elif 60 < angle <= 120:
led_red.value(0)
led_green.value(led_state)
led_blue.value(0)
else:
led_red.value(0)
led_green.value(0)
led_blue.value(led_state)
utime.sleep_ms(50)  # Delay pendek untuk kestabilan pembacaan

 

5. Video Demo[Kembali]



6. Analisa[Kembali]





7. Download File[Kembali]















Komentar

Postingan populer dari blog ini