Laporan akhir M2 Percobaan 4

[menuju akhir]





PERCOBAAN 4 : Motor Servo, Buzzer, & Potensiometer

1. Prosedur[Kembali]
1. Sediakan alat dan bahan percobaan

2. Rangkailah rangkaian di breadboard sesuai modul

3. Buka aplikasi thonny dan masukkan listing program ke dalam aplikasi tersebut

4. Hubungkan rangkaian dengan software dengan kabel USB

5. Jalankan program

2. Hardware dan Diagram Blok[Kembali]
a. Hardware

1. Rasberry Pi Pico

                                                                                    (a)                                                (b)
Gambar Mikrokontroler Rasberry Pi Pico (a) tampilan hardware, (b) tampilan simulasi

Raspberry Pi Pico adalah papan mikrokontroler berbasis RP2040, sebuah chip yang dikembangkan oleh Raspberry Pi Foundation. Mikrokontroler ini menggunakan prosesor ARM Cortex-M0+ dual-core, memiliki 264KB RAM, dan mendukung berbagai antarmuka seperti GPIO, I2C, SPI, dan UART. Raspberry Pi Pico cocok untuk proyek embedded systemsIoT, dan otomasi

2. Motor Servo




(a)                                                                    (b)
Gambar Motor Servo (a) tampilan hardware, (b) tampilan simulasi

Motor servo adalah motor listrik yang dilengkapi dengan sistem kontrol umpan balik (feedback) untuk mengendalikan posisi, kecepatan, dan akselerasi dengan presisi tinggi. 


3. Potensiometer



                (a)                                                           (b)
Gambar Potensiometer (a) tampilan hardware, (b) tampilan simulasi

Potensiometer adalah resistor tiga terminal dengan sambungan geser yang membentuk pembagi tegangan dapat disetel.

4. Resistor


                (a)                                                                       (b)
Gambar resistor (a) tampilan hardware, (b) tampilan simulasi


Resistor adalah komponen elektronik pasif yang berfungsi untuk membatasi arus listrik dalam suatu rangkaian. Resistor bekerja berdasarkan hukum Ohm, yang menyatakan bahwa tegangan (V) = arus (I) × resistansi (R). Resistor memiliki satuan Ohm (Ω) dan digunakan dalam berbagai aplikasi seperti pembagian tegangan, kontrol arus, dan proteksi rangkaian elektronik.

5. Buzzer







b. Diagram Blok
3. Rangkaian Simulasi dan Prinsip Kerja[Kembali]




Gambar Rangkaian Percobaan 4 Modul 2

Prinsip Kerja :

potensiometer, buzzer, dan servo motor. Potensiometer berfungsi sebagai input analog yang terhubung ke pin GP26 (ADC0) Raspberry Pi Pico. Saat potensiometer diputar, nilai tegangan analog yang keluar dari pin tengah potensiometer berubah, dan Raspberry Pi Pico membacanya sebagai nilai digital 16-bit (kisaran 0 hingga 65535). Nilai ini kemudian di-mapping ke sudut antara 0° hingga 180°, yang mewakili posisi sudut servo. Nilai sudut ini selanjutnya dikonversi ke sinyal PWM dengan frekuensi 50 Hz, lalu dikirimkan ke pin GP16 untuk mengatur posisi servo motor. Secara bersamaan, buzzer yang terhubung ke pin GP14 akan mengeluarkan bunyi jika sudut servo berada di antara 0° dan 180° (tidak pada batas ekstrim). Buzzer dibunyikan menggunakan sinyal PWM dengan frekuensi 1000 Hz dan duty cycle 50%. Namun, jika servo berada tepat di posisi 0° atau 180°, maka buzzer akan mati karena tidak menerima sinyal PWM. Rangkaian ini memungkinkan interaksi langsung antara posisi potensiometer dengan gerakan servo dan bunyi buzzer sebagai indikator aktifnya pergerakan.



4. Flowchart dan Listing Program[Kembali]
a. Flowchart




b. Listing Program


from machine import Pin, PWM, ADC
from time import sleep


# Inisialisasi
pot = ADC(26)             # Potensiometer di GP26 (ADC0)
servo = PWM(Pin(16))      # Servo di GP16
buzzer = PWM(Pin(14))     # Buzzer di GP14


# Konfigurasi frekuensi awal
servo.freq(50)            # Frekuensi untuk servo (50 Hz)
buzzer.freq(1000)         # Frekuensi awal buzzer


# Fungsi mapping dari satu rentang ke rentang lain
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)


# Loop utama
while True:
    val = pot.read_u16()  # Nilai ADC dari potensiometer (0 - 65535)


    # === Kontrol Servo Motor ===
    angle = map_value(val, 0, 65535, 0, 180)                   # Mapping ke sudut 0–180°
    duty = map_value(angle, 0, 180, 1500, 7500)                # Duty cycle untuk PWM servo
    servo.duty_u16(duty)


    # Debug output
    print(f"Pot Value: {val}, Angle: {angle}, Duty: {duty}")


    # === Kontrol Buzzer ===
    freq = int(200 + (val / 65535) * (2000 - 200))             # Mapping ke frekuensi 200–2000 Hz
    buzzer.freq(freq)
    buzzer.duty_u16(30000)                                     # Volume buzzer (50% duty cycle)


    sleep(0.05)  # Delay untuk kestabilan

5. Video Demo[Kembali]








6. Analisa[Kembali]

ANALISA MODUL 2: PWM, ADC, INTERRUPT, & MILLIS 






7. Download File[Kembali]
Download HTML klik disini     
Download video Demo klik disini 
Download Datasheet Servo klik disini
Download Datasheet Potensiometer klik disini
Download Datasheet Resistor klik disini
Download Datasheet IC Rasberry Pi Pico klik disini 

 

 

[menuju awal]

Tidak ada komentar:

Posting Komentar

Mikroprosesor dan mikrokontroler

  BAHAN PRESENTASI UNTUK MATA KULIAH  SISTEM DIGITAL 2024 OLEH: YUSUF RAIHAN DJANAHAR 2210953022 Dosen Pengampu: Darwison, M.T Referensi:  a...