Laporan Akhir 1 - Modul 2




Pecobaan 6

1. Prosedur
[Kembali]
1. Siapkan komponen dan alat yang diperlukan seperti LED RGB, resistor, respberry pi pico, Potensiometer, dan Motor Servo
2. Rangkai lah komponen seperti pada gambar percobaan di modul
3. jika komponen sudah selesai di rangkai, hubungkan ke software Thonny untuk mendapatkan program
4. Inputkan listing program ke dalam Thonny 
5. Simulasikan Rangkaian

2. Hardware dan Diagram Blok [Kembali]
  • Rasberry Pi Pico
  • LED RGB
  • resistor

  • Motor Servo
  • Potensiometer

3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

a. Rangkaian


b. Prinsip Kerja
 Percobaan ini menggunakan potensiometer sebagai input analog untuk mengatur sudut motor servo dan mengendalikan warna serta kedipan LED RGB secara terkoordinasi.

Berikut prinsip kerjanya langkah demi langkah:

  1. Pembacaan Nilai ADC dari Potensiometer:

    • Nilai tegangan analog dari potensiometer dibaca oleh ADC (Analog to Digital Converter) pada pin GP28.

    • Nilai ini berada dalam rentang 0–65535 (karena ADC 16-bit).

  2. Mengubah Nilai ADC menjadi Sudut Servo:

    • Nilai tersebut dipetakan ke dalam sudut 0° sampai 180°.

    • Sudut ini digunakan untuk mengatur posisi motor servo melalui pengaturan duty cycle PWM.

  3. Mengatur Warna LED Berdasarkan Sudut Servo:

    • Jika sudut servo berada:

      • antara 0°–90°, LED merah menyala berkedip.

      • antara 91°–180°, LED hijau menyala berkedip.

    • Kedipan dikontrol menggunakan fungsi waktu berbasis utime.ticks_ms() dan toggle logika led_state.

  4. PWM untuk Servo:

    • PWM diset pada frekuensi 50 Hz.

    • Duty cycle disesuaikan dengan nilai sudut agar servo bergerak ke posisi tertentu.

 
4. Flowchart dan Listing Program [Kembali]

a. Flowchart

b. 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)

5. Kondisi [Kembali]

Percobaan 6 Modul 2

6. Video Simulasi [Kembali]


7. Download File [Kembali]

Simulasi  klik disini
Gambar Simulasi  klik disini
Video Simulasi   klik disini
Listing Program  klik disini

Tidak ada komentar:

Posting Komentar

 BAHAN PRESENTASI UNTUK MATA KULIAH  ELEKTRONIKA Oleh : Salma Salsabila 2210952002    Dosen Pengampu : Darwison, M.T. Darwison, 2010, ”TEORI...