TP 2 uP uC M2

 [KEMBALI KE MENU SEBELUMNYA]


1. Prosedur [kembali]

1. Susun rangkaian di situs Wokwi sesuai dengan kondisi percobaan yang dipilih.
2. Tulis program pada situs Wokwi.
3. Setelah program selesai dibuat, jalankan simulasi rangkaian di Wokwi sesuai dengan skenario yang telah ditentukan.
4. Proses selesai.

2. Hardware dan Diagram Blok [kembali]

Hardware :

1. Raspberry Pi Pico

2. Motor Servo


3. Buzzer


4. Potensiometer


Diagram Blok:


3. Rangkaian Simulasi dan Prinsip Kerja [kembali]



Prinsip Kerja

Sistem ini dirancang untuk mengontrol arah pergerakan sebuah servo motor dan mengaktifkan buzzer (pengeras suara) berdasarkan nilai input dari potensiometer. Potensiometer berfungsi sebagai pengatur arah pergerakan servo, sedangkan buzzer bertindak sebagai indikator suara yang memberi peringatan ketika posisi servo berada di luar batas sudut yang ditentukan.

Cara kerja sistem ini dimulai dari pembacaan nilai analog potensiometer, yang terhubung ke salah satu pin ADC mikrokontroler. Nilai yang dibaca berkisar antara 0 hingga 65535. Nilai ini mencerminkan posisi fisik dari putaran potensiometer.

Jika nilai yang dibaca dari potensiometer meningkat dan melebihi angka 35.000, maka sistem akan menaikkan nilai sudut servo. Kenaikan ini menyebabkan servo bergerak searah jarum jam. Sebaliknya, apabila nilai potensiometer menurun dan kurang dari 30.000, maka sistem akan mengurangi nilai sudut servo, yang membuat servo bergerak berlawanan arah jarum jam. Dengan demikian, pergerakan servo sangat dipengaruhi oleh arah dan besar putaran potensiometer.

Setiap kali nilai sudut servo berubah, sistem akan mengonversi nilai sudut tersebut menjadi sinyal PWM (Pulse Width Modulation) yang sesuai, untuk mengatur posisi fisik dari servo motor. Konversi ini dilakukan dengan fungsi pemetaan yang mengubah nilai sudut antara 0° hingga 180° menjadi nilai sinyal PWM yang dapat dimengerti oleh motor servo.

Sebagai fitur tambahan, sistem juga dilengkapi dengan buzzer yang aktif sebagai indikator. Buzzer akan berbunyi hanya jika sudut servo berada dalam rentang yang sah, yaitu antara 0° dan 180°. Jika nilai sudut servo keluar dari rentang tersebut, buzzer akan dimatikan secara otomatis. Hal ini dapat digunakan sebagai sistem peringatan bahwa posisi servo telah melewati batas operasi yang diperbolehkan.

Dengan demikian, sistem ini secara efektif mengontrol arah gerak servo berdasarkan nilai input dari potensiometer, dan memberikan umpan balik suara melalui buzzer saat nilai sudut servo tidak berada dalam rentang normal. Ini merupakan bentuk kontrol sederhana namun efektif dalam sistem mekatronika berbasis mikrokontroler.


4. Flowchart dan Listing Program [kembali]

Flowchart

 Listing Program 

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

potensiometer = ADC(26)
motor_servo = PWM(Pin(16))
pengeras_suara = PWM(Pin(14))

motor_servo.freq(50)
pengeras_suara.freq(1000)

def konversi_rentang(nilai, min_masuk, max_masuk, min_keluar, max_keluar):
    return int((nilai - min_masuk) * (max_keluar - min_keluar) / (max_masuk - min_masuk) + min_keluar)

sudut_servo = 0

while True:
    nilai_pot = potensiometer.read_u16()

    if nilai_pot > 35000:
        sudut_servo += 1
        if sudut_servo < 0:
            sudut_servo = 0
    elif nilai_pot < 30000:
        pass

    duty_cycle = konversi_rentang(sudut_servo, 0, 180, 1638, 8192)
    motor_servo.duty_u16(duty_cycle)

    if 0 < sudut_servo < 180:
        pengeras_suara.duty_u16(1000)
    else:
        pengeras_suara.duty_u16(0)

    print(f"Nilai Pot: {nilai_pot}, Sudut: {sudut_servo}")

    sleep(0.05)

5. Kondisi [kembali]

    Percobaan 4 Kondisi 4

Buatlah rangkaian seperti gambar pada percobaan 4, jika nilai pada potensiometer diperkecil maka servo bergerak berlawanan jarum jam dan jika jika sudut servo <0 ° dan >180 ° buzzer berbunyi

6. Video Simulasi [kembali]



7. Download File [kembali]

Rangkaian [klik disini]
Video Simulasi [klik disini]