LA 1 MOD 2 MIKRO
Laporan Akhir 1 Modul 2(Percobaan 4)
1. Prosedur [kembali]
- Rangkai sesuai gambar percobaan dengan inputnya yaitu potensiometer dan outputnya servo serta buzzer.
Hubungkan kabel jumper ke potensiometer, servo, dan buzzer sesuai pin pada program.
Buatlah program dengan konfigurasi pin input (potensiometer di GP26) dan output (servo di GP15 dan buzzer di GP14).
Upload program dan simpan di Raspberry Pi Pico yang telah dirangkai.
Putar potensiometer dan amati perubahan sudut servo.
Buzzer akan menyala saat nilai potensiometer melewati batas tertentu.
2. Hardware dan Diagram Blok [kembali]
3. Rangkaian Simulasi dan Prinsip Kerja [kembali]
4. Flowchart dan Listing Program [kembali]
- Listing Program pada Thonny
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
# 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:
val = pot.read_u16() # Nilai ADC 16-bit (0 - 65535)
# === Servo Motor ===
pot_value = pot.read_u16()
angle = map_value(pot_value, 0, 65535, 0, 180)
duty = map_value(angle, 0, 180, 1500, 7500)
servo.duty_u16(duty)
# Debug
print(f"Pot Value: {pot_value}, Angle: {angle}, Duty: {duty}")
# === Buzzer ===
freq = int(200 + (val / 65535) * (2000 - 200))
buzzer.freq(freq)
buzzer.duty_u16(30000) # Volume/suaranya
sleep(0.05)
- Flowchart
5. Video Demo [kembali]
6. Analisa [kembali]
7. Download file [kembali]
- Download Video Demo klik disini
Komentar
Posting Komentar