LA M2 PERCOBAAN 4





LAPORAN AKHIR M2 PERCOBAAN 4


1. Prosedur [kembali]
    Percobaan 4 :  Motor Servo, Buzzer, & Potensiomter

1. Persiapan Alat dan Bahan:

  • Alat dan bahan yang dibutuhkan:

    • Raspberry Pi Pico

    • Servo Motor

    • Buzzer

    • Potensiometer

    • Kabel jumper

    • Breadboard

    • Sumber daya (misalnya, kabel USB untuk Raspberry Pi Pico)

    • Software untuk pemrograman Raspberry Pi Pico (misalnya, Thonny IDE dengan MicroPython)

2. Koneksi Rangkaian:

  • Raspberry Pi Pico:

    • Hubungkan pin GND Raspberry Pi Pico ke breadboard untuk ground.

    • Hubungkan pin 5V Raspberry Pi Pico ke breadboard untuk memberikan daya.

    • Hubungkan pin GP16 Raspberry Pi Pico ke kontrol sinyal servo motor.

    • Hubungkan pin GP26 Raspberry Pi Pico ke pin tengah potensiometer untuk membaca nilai analog.

  • Servo Motor:

    • Hubungkan kabel sinyal (biasanya kabel kuning atau putih) dari servo motor ke pin GP16 Raspberry Pi Pico.

    • Hubungkan kabel VCC servo motor ke pin 5V Raspberry Pi Pico.

    • Hubungkan kabel GND servo motor ke ground (GND) pada Raspberry Pi Pico.

  • Buzzer:

    • Hubungkan pin positif dari buzzer ke pin GP14 Raspberry Pi Pico.

    • Hubungkan pin negatif dari buzzer ke GND.

  • Potensiometer:

    • Hubungkan pin tengah (wiper) potensiometer ke pin GP26 Raspberry Pi Pico untuk membaca nilai analog.

    • Hubungkan salah satu pin potensiometer ke 5V Raspberry Pi Pico.

    • Hubungkan pin lainnya ke GND Raspberry Pi Pico.

3. Pemrograman Raspberry Pi Pico:

  • Instalasi dan Persiapan:

    • Pastikan Raspberry Pi Pico terhubung ke komputer dan sudah terdeteksi dengan benar.

    • Gunakan Thonny IDE untuk menulis kode dalam MicroPython.

    • Import library yang diperlukan untuk kontrol servo dan membaca nilai dari potensiometer.

  • Kode untuk Motor Servo dan Potensiometer:

    • Program Raspberry Pi Pico untuk membaca nilai dari potensiometer dan mengubah posisi motor servo berdasarkan nilai tersebut.

    • Program buzzer untuk berbunyi ketika nilai potensiometer melebihi batas tertentu (misalnya, jika nilai potensiometer melebihi 512).

4. Uji Coba:

  • Servo Motor:

    • Putar potensiometer dan amati bagaimana posisi servo motor bergerak berdasarkan nilai potensiometer. Semakin besar nilai potensiometer, semakin jauh posisi servo bergerak.

  • Buzzer:

    • Ketika nilai potensiometer semakin besar, bunyi yang dihasilkan buzzer semakin kecil dan sebaliknya.

2. Hardware dan Diagram Blok [kembali]
Hardware 
  • Raspberry Pi Pico
Raspberry Pi Pico adalah mikrokontroler berbasis RP2040, yaitu chip buatan Raspberry Pi yang memiliki dual-core ARM Cortex-M0+ dengan kecepatan hingga 133 MHz. Mikrokontroler ini digunakan untuk berbagai proyek embedded system, seperti robotika, otomasi, dan pemrosesan sinyal, karena memiliki GPIO (General Purpose Input Output) yang fleksibel serta mendukung pemrograman dengan MicroPython dan C/C++.
  • Potensiometer


Potensiometer adalah komponen elektronik yang berfungsi untuk mengatur atau mengubah resistansi secara manual. Secara sederhana, potensiometer adalah jenis resistor variabel yang memiliki tiga terminal: dua terminal untuk memberikan dan menerima tegangan, dan satu terminal untuk mengubah resistansi yang digunakan untuk mengubah tegangan atau arus.

  • Breadboard


Breadboard adalah sebuah papan yang digunakan untuk merancang dan menguji rangkaian elektronik secara sementara tanpa perlu menyolder komponen. Breadboard memungkinkan perakitan rangkaian secara cepat dan mudah, sehingga sangat berguna dalam prototyping dan eksperimen elektronik.
  • Jumper male to male


Kabel jumper Male to Male adalah kabel yang memiliki konektor jantan (male) di kedua ujungnya. Kabel ini biasanya digunakan untuk menghubungkan pin pada board elektronik, seperti Raspberry Pi, Arduino, atau breadboard, dengan komponen lainnya. Kabel jumper male to male sering digunakan dalam rangkaian prototyping atau percobaan karena fleksibilitas dan kemudahannya untuk digunakan.
  • Buzzer


Push button adalah sakelar mekanik yang bekerja saat ditekan dan kembali ke posisi semula saat dilepas. Komponen ini digunakan untuk mengaktifkan atau menonaktifkan sirkuit listrik, seperti dalam sistem kontrol, input pengguna pada perangkat elektronik, dan tombol reset atau start dalam rangkaian mikroprosesor. Push button sering dikombinasikan dengan mikrokontroler untuk menangkap input pengguna dalam berbagai aplikasi interaktif.

Diagram Blok :




3. Rangkaian Simulasi dan Prinsip Kerja [kembali]



Rangkaian ini menggunakan potensiometer untuk mengatur posisi servo motor dan buzzer. Potensiometer berfungsi sebagai input analog untuk mengubah parameter sistem berdasarkan rotasi atau pengaturan nilai potensiometer. Sistem ini beroperasi dalam dua bagian utama: pengaturan posisi servo dan pengontrolan frekuensi buzzer.

  1. Pengaturan Servo Motor:

    • Potensiometer membaca nilai resistansi yang berubah sesuai dengan posisi putaran potensiometer, yang diterjemahkan menjadi nilai ADC (Analog-to-Digital Converter) dalam rentang 0 hingga 65535.

    • Nilai ADC ini kemudian dikonversi menjadi sudut servo dalam rentang 0° hingga 180°.

    • Setelah itu, sudut servo ini dikonversi lagi menjadi duty cycle PWM (Pulse Width Modulation) dalam rentang 1500 hingga 7500 untuk mengontrol pergerakan servo.

    • Servo bergerak berdasarkan duty cycle PWM yang dihasilkan, yang menentukan seberapa jauh posisi sudut servo.

  2. Pengaturan Buzzer:

    • Nilai ADC yang dibaca dari potensiometer juga mempengaruhi frekuensi buzzer. Nilai ADC ini dikonversi menjadi frekuensi dalam rentang 200 Hz hingga 2000 Hz.

    • Frekuensi buzzer akan berubah sesuai dengan posisi potensiometer. Semakin besar nilai potensiometer, semakin tinggi frekuensi suara yang dihasilkan buzzer.

    • Volume buzzer dikendalikan oleh duty cycle PWM yang tetap pada 30000, sehingga menghasilkan suara dengan volume konstan.

  3. Looping Berkelanjutan:

    • Seluruh proses ini terjadi dalam loop berkelanjutan, yang berarti sistem secara terus-menerus membaca nilai dari potensiometer, mengubah posisi servo dan frekuensi buzzer, serta memperbarui output berdasarkan perubahan potensiometer.

Dengan demikian, potensiometer bertindak sebagai input yang mengontrol dua komponen utama, yaitu servo motor dan buzzer, di mana servo mengubah posisi mekanis dan buzzer mengeluarkan suara dengan frekuensi yang bervariasi.


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. Video Demo [kembali]



6. Analisa [kembali]



7. Download file
 
[kembali]






 

Komentar

Postingan populer dari blog ini

KELEBIHAN DAN KEKURANGAN MENJADI SEORANG PEMIMPIN

KOMITMEN TERHADAP KESELAMATAN DAN RESIKO DALAM PEKERJAAN