Laporan Akhir 1



Percobaan 4
  Motor Servo, Buzzer, & Potensiomter

1. Prosedur [kembali]

1. Rangkailah sistem percobaan sesuai dengan diagram yang ada, dengan input berupa potensiometer, serta output berupa buzzer dan motor servo. Sambungkan potensiometer, motor servo dan buzzer menggunakan kabel jumper ke pin rapsberry pi pico yang sesuai dengan pengaturan program.

2. Setelah itu program pada thonny IDE
Setelah program selesai, percobaan dapat dilihat dengan menyesuaikan prinsip kerja rangkaian

2. Hardware dan Diagram Blok [kembali]

A. Hardware


1. Raspberry Pi Pico



2. LED 

3. Push Button 
5. LED RGB 
6. Touch Sensor 


7. Potensiometer


8. Buzzer 
9. DHT22

11. Motor DC (motor stepper)

12. LDR dan Photodioda

13. Breadboard 
14. Resistor 

15. Transistor



16. Driver Motor Stepper ULN2003


b. blog diagram




3. Rangkaian Simulasi dan Prinsip Kerja [kembali]

A. Rangkaian simulasi


B. Prinsip Kerja

Pada percobaan 4 ini memiliki 2 output yaitu motor servo dan buzzer selain itu juga memiloki 1 input yaitu Potensiometer berfungsi sebagai input analog yang mengirimkan nilai tegangan ke pin ADC pada Raspberry Pi Pico. Saat  memutar knop potensiometer, nilai tegangan yang terbaca oleh mikrokontroler akan berubah, digunakan untuk mengatur posisi sudut pada servo motor. Raspberry Pi Pico akan mengolah nilai analog dari potensiometer dan mengubahnya menjadi sinyal PWM  yang dikirimkan ke servo motor untuk menggerakkannya ke posisi tertentu sesuai dengan nilai potensiometer, perputaran motor servo benbanding terbalik dengan perputaran pada wiper potensiometer, dimana saat wiper di kearah kiri maka motor servo akan berputar berlawanan jarum jam sedangkan saat wiper diputar kearah kana maka motor servo akan bergerak mengikuti arah jarum jam. Selain itu, rangkaian ini juga dilengkapi dengan buzzer sebagai output audio. Buzzer kemungkinan besar akan diaktifkan ketika nilai potensiometer mencapai ambang batas tertentu, misalnya saat diputar ke posisi maksimum, sebagai bentuk peringatan atau notifikasi.


4. Flowchart dan Listing Program [kembali]

Flowchart

 


 


Listing Program

from machine import Pin, PWM, ADC

from time import sleep

import utime


# Inisialisasi

pot = ADC(26) # GP26 = ADC0

servo = PWM(Pin(16))

buzzer = PWM(Pin(14))


# Konfigurasi PWM

servo.freq(50)  # 50 Hz untuk servo

buzzer.freq(1000)  # Awal frekuensi buzzer

 

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)


while True:     val = pot.read_u16()  # Nilai ADC 16-bit (0 - 65535)

 

    # === Servo Motor ===

    # 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}")

 

    # === Buzzer ===

    # Ubah val ke frekuensi (200 Hz - 2000 Hz)     freq = int(200 + (val / 65535) * (2000 - 200))     buzzer.freq(freq)

    buzzer.duty_u16(30000)  # Volume/suaranya

 

    sleep(0.05) 



5. Analisa [kembali]



6. Video Simulasi [kembali]



7. Download file [kembali]
 
download vidio klik

Komentar

Postingan populer dari blog ini

Tugas Besar Line Follower

Approximation Hybrid Equivalent Circuit