1.siapkan 1 potensiometer, 1 buzzer, dan 1 motor servo
2.pilih mikrokontroler repberry pi pico
3.buat rangkaian seperti percobaan 4 pada modul
2. Hardware dan Diagram Blok [kembali]
- 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 berupa resistor variabel yang nilai resistansinya dapat diubah secara manual. Alat ini biasanya digunakan untuk:
-
Mengatur tegangan sebagai pembagi tegangan
-
Mengontrol input analog seperti volume, kecerahan, atau sudut
Potensiometer memiliki tiga terminal:
-
Dua ujung terhubung ke sumber tegangan (misalnya 3.3V dan GND)
-
Terminal tengah (wiper) menghasilkan tegangan yang bervariasi saat diputar, yang dibaca oleh pin ADC (Analog-to-Digital Converter) pada mikrokontroler
Pada percobaan ini, potensiometer digunakan untuk mengatur volume buzzer dan arah pergerakan/perputaran motor servo.
- 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.
- Motor Servo
Motor servo adalah jenis motor yang dirancang untuk menghasilkan gerakan sudut yang presisi. Servo biasanya digunakan dalam aplikasi yang memerlukan kontrol posisi, seperti pada robot, pesawat remote control, atau lengan mekanik.
Servo terdiri dari tiga bagian utama:
-
Motor DC kecil
-
Rangkaian kontrol
-
Gearbox dan potensiometer umpan balik internal
Servo memiliki tiga kabel:
-
VCC (daya)
-
GND (ground)
-
Sinyal (kontrol)
Motor servo tidak berputar bebas seperti motor DC biasa, tetapi hanya bergerak ke posisi tertentu sesuai sinyal yang diberikan.
3. Rangkaian Simulasi dan Prinsip Kerja [kembali]
4. Flowchart dan Listing Program [kembali]
- Flowchart
- Listing Program
from machine import Pin, PWM, ADC
from time import sleep
pot = ADC(26)
servo = PWM(Pin(16))
buzzer = PWM(Pin(14))
servo.freq(50)
buzzer.freq(1000)
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()
angle = map_value(val, 0, 65535, 0, 180)
duty = map_value(angle, 0, 180, 1500, 7500)
servo.duty_u16(duty)
print(f"Pot Value: {val}, Angle: {angle}, Duty: {duty}")
freq = int(200 + (val / 65535) * (2000 - 200))
buzzer.freq(freq)
buzzer.duty_u16(30000)
sleep(0.05)
Tidak ada komentar:
Posting Komentar