TUGAS PENDAHULUAN 1 M2

[menuju akhir]





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 systems, IoT, 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:

Pada rangkaian ini, Raspberry Pi Pico berfungsi sebagai pusat pengendali utama. Pico mendapatkan sumber listrik melalui kabel USB yang juga digunakan untuk menyuplai tegangan ke komponen lain seperti potensiometer, servo motor, dan buzzer.

Pertama-tama, potensiometer mendapatkan suplai tegangan sebesar 3.3V dari Raspberry Pi Pico. Ketika potensiometer diputar, resistansi internalnya berubah-ubah, sehingga menghasilkan perubahan tegangan analog pada kaki tengahnya. Tegangan ini dikirim ke pin GP26 pada Pico, yang dilengkapi dengan fitur ADC (Analog to Digital Converter). ADC mengubah sinyal analog tersebut menjadi nilai digital dengan rentang 0 hingga 65535.

Nilai digital hasil pembacaan potensiometer kemudian diolah. Pico melakukan pemetaan (mapping) nilai ini menjadi sudut servo antara 0 hingga 180 derajat. Uniknya, arah pemetaan dibalik: semakin besar nilai ADC, sudut servo semakin kecil. Setelah mendapatkan nilai sudut, Pico kembali melakukan pemetaan untuk mengubah sudut tersebut menjadi duty cycle PWM (antara 1638 hingga 8192) yang diperlukan untuk mengontrol posisi servo.

Servo motor yang terhubung ke pin GP16 kemudian menerima sinyal PWM ini. Sesuai lebar pulsa sinyal PWM yang diterima, servo akan bergerak ke sudut tertentu yang diinginkan. Raspberry Pi Pico juga melakukan pemeriksaan terhadap sudut servo. Jika sudut servo kurang dari atau sama dengan 0 derajat, atau lebih besar dari atau sama dengan 180 derajat, Pico akan mengaktifkan buzzer dengan memberikan sinyal PWM pada pin GP14 dengan frekuensi 1000 Hz. Duty cycle PWM disetel cukup besar untuk menghasilkan bunyi. Jika sudut masih berada dalam rentang aman (lebih dari 0 derajat dan kurang dari 180 derajat), buzzer akan dimatikan.

Semua proses ini berjalan dalam satu loop 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. 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

6. Video Simulasi[Kembali]







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

Tidak ada komentar:

Posting Komentar

MEMAHAMI ETIKA DI ERA DIGITAL

Menyelami Dunia Digital dengan Bertanggung Jawab: Memahami Etika Berkomunikasi di Era Digital (Lebih Detail) Memasuki Era Digital yang Pen...