TP 1 : P4 K3





1. Prosedur [kembali]
1. Buka Wokwi dengan mengunjungi https://wokwi.com.
2. Tambahkan komponen.
3. Hubungkan komponen sesuai kondisi
4. Tambahkan atau ketik Program yang sesuai dengan kondisi rangkaian
5. Jalankan program simulasi 
 
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. Buzzer


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

Buzzer adalah komponen elektronik yang digunakan untuk menghasilkan suara atau bip. Ini adalah perangkat output yang mengubah sinyal listrik menjadi suara.

4. 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.



b. Diagram Blok


3. Rangkaian Simulasi dan Prinsip Kerja [kembali]

Gambar rangkaian percobaan 4 kondisi 3 

Prinsip Kerja:

Dalam sistem ini, Raspberry Pi Pico bertugas sebagai otak utama pengendalian. Modul ini memperoleh daya listrik melalui koneksi USB, yang sekaligus mendistribusikan tegangan ke perangkat tambahan seperti potensiometer, motor servo, dan buzzer.

Potensiometer diberi suplai tegangan sebesar 3.3V dari Pico. Saat potensiometer diputar, resistansi internalnya berubah, mengakibatkan perubahan tegangan keluaran pada terminal tengahnya. Tegangan variabel ini masuk ke pin GP26 di Pico, yang memiliki fitur ADC (Analog to Digital Converter). ADC berfungsi mengonversi sinyal analog tersebut menjadi data digital dalam kisaran 0 hingga 65535.

Data digital dari pembacaan potensiometer kemudian diproses lebih lanjut. Raspberry Pi Pico memetakan nilai tersebut menjadi rentang sudut antara 180 hingga 0 derajat — artinya semakin tinggi nilai ADC, semakin kecil sudut yang dihasilkan. Setelah sudut ditentukan, Pico kembali melakukan konversi untuk menentukan duty cycle PWM yang sesuai (dengan rentang antara 1638 hingga 8192) untuk mengendalikan servo.

Sinyal PWM yang dihasilkan dikirimkan ke servo motor melalui pin GP16. Besarnya duty cycle menentukan seberapa jauh sudut putaran servo. Selain itu, Pico secara terus-menerus memonitor sudut servo. Apabila sudut servo berada di luar batas operasi (≤ 0 derajat atau ≥ 180 derajat), sistem akan mengaktifkan buzzer dengan mengirimkan sinyal PWM berfrekuensi 1000 Hz melalui pin GP14. Duty cycle cukup tinggi digunakan agar buzzer mengeluarkan suara. Sebaliknya, bila sudut servo masih dalam batas normal, buzzer tetap tidak aktif.

Seluruh rangkaian proses ini berlangsung secara terus-menerus dalam loop yang berulang setiap 50 milidetik.



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)  # GP26 = ADC0

servo = PWM(Pin(16))

buzzer = PWM(Pin(14))

 

# Konfigurasi PWM

servo.freq(50)    # 50 Hz untuk servo

buzzer.freq(1000) # Frekuensi buzzer

 

# Fungsi mapping

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:

    # Baca nilai potensiometer

    pot_value = pot.read_u16()

 

    # Konversi nilai potensiometer ke sudut servo (0-180 derajat)

    angle = map_value(pot_value, 0, 65535, 180, 0)

 

    # Konversi sudut ke duty cycle (rentang 1638 - 8192)

    duty = map_value(angle, 0, 180, 1638, 8192)

    servo.duty_u16(duty)

 

    # Debugging

    print(f"Pot Value: {pot_value}, Angle: {angle}, Duty: {duty}")

 

    # === Buzzer ===

    if angle <= 0 or angle >= 180:

        # Jika sudut keluar batas, buzzer berbunyi

        buzzer.duty_u16(30000)  # Suara ON

    else:

        buzzer.duty_u16(0)  # Suara OFF

 

    # Delay untuk pembaruan

    sleep(0.05)

 


5. Video Demo [kembali]


6. Kondisi [kembali]

Percobaan 4 Kondisi 3 
 Buatlah rangkaian seperti gambar pada percobaan 4, jika nilai pada potensiometer diperkecil maka servo bergerak searah jarum jam dan jika jika sudut servo <0 ° dan >180 ° buzzer berbunyi
 
7. Video Simulasi [kembali]


8. Download file [kembali]
Download file rangkaian klik disini
Download video Simulasi klik disini
Download Datasheet Servo klik disini
Download Datasheet Potensiometer klik disini
Download Datasheet Buzzer klik disini
Download Datasheet IC Rasberry Pi Pico klik disini

Komentar

Postingan populer dari blog ini