Laporan Akhir M3 Percobaan 6
1. Prosedur [kembali]
- 1. Persiapan Alat dan Bahan
- Raspberry Pi Pico
- Breadboard
- Kabel jumper secukupnya
- Servo motor
- Potensiometer
- LCD 16x2 (dengan modul I2C atau paralel sesuai konfigurasi)
- Sumber daya (USB ke Raspberry Pi Pico)
- Aplikasi Thonny
- 2. Perakitan Rangkaian
Sambungkan potensiometer ke pin GP26 (ADC0) pada Pico, serta VCC dan GND.
-
Sambungkan pin sinyal servo ke GP15, VCC servo ke 5V, dan GND servo ke ground.
-
Hubungkan modul LCD I2C:
SDA → GP0
-
SCL → GP1
-
VCC → 5V
-
GND → GND Pico.
-
Pastikan semua ground (servo, LCD, potensiometer, Pico) terhubung bersama.
Buka Thonny IDE lalu tuliskan program sesuai listing yang diberikan.
-
Program akan:
-
Membaca nilai analog dari potensiometer (0–65535).
-
Mengubah nilai tersebut menjadi sudut servo (0–180°).
-
Mengatur duty cycle PWM pada servo agar bergerak sesuai sudut.
-
Menampilkan nilai sudut servo pada LCD 16x2.
-
Upload program ke Raspberry Pi Pico.
-
Putar potensiometer secara perlahan.
-
Amati:
-
Servo bergerak mengikuti perubahan potensiometer.
-
LCD menampilkan teks “Sudut Servo:” pada baris pertama dan nilai sudut dalam derajat pada baris kedua.
Catat hubungan antara perputaran potensiometer, perubahan sudut servo, dan nilai yang ditampilkan di LCD.
-
Periksa apakah sudut pada LCD sesuai dengan posisi servo secara nyata.
2. Hardware dan Diagram Blok [kembali]
2.1 Daftar Komponen
1 × Raspberry Pi Pico (atau kompatibel RP2040)
1 ×Servo
1 × Potentiometer
1 x LCD 16x2
Kabel Jumper
3. Rangkaian Simulasi dan Prinsip Kerja [kembali]
3.1 Rangkaian Simulasi
Gambar Rangkaian Percobaan 6
3.2 Prinsip Kerja
Prinsip kerja rangkaian ini adalah memanfaatkan potensiometer sebagai pengendali sudut putaran servo motor yang ditampilkan secara real-time pada LCD I2C 16x2. Potensiometer terhubung ke pin ADC (GP26) pada Raspberry Pi Pico untuk mengubah perubahan resistansi menjadi nilai digital 0–65535. Nilai ini kemudian diproses dalam program untuk dikonversi menjadi sudut antara 0° hingga 180°. Hasil konversi sudut tersebut digunakan untuk mengatur duty cycle sinyal PWM yang dikirimkan ke pin servo (GP15), sehingga servo dapat bergerak sesuai sudut yang ditentukan. Pada saat yang sama, nilai sudut servo ditampilkan ke layar LCD melalui komunikasi I2C (GP0 = SDA, GP1 = SCL). Dengan demikian, perubahan posisi potensiometer secara langsung akan mengubah sudut servo, dan pengguna dapat memantau besar sudut yang dihasilkan melalui tampilan LCD.
Prinsip kerja rangkaian ini adalah memanfaatkan potensiometer sebagai pengendali sudut putaran servo motor yang ditampilkan secara real-time pada LCD I2C 16x2. Potensiometer terhubung ke pin ADC (GP26) pada Raspberry Pi Pico untuk mengubah perubahan resistansi menjadi nilai digital 0–65535. Nilai ini kemudian diproses dalam program untuk dikonversi menjadi sudut antara 0° hingga 180°. Hasil konversi sudut tersebut digunakan untuk mengatur duty cycle sinyal PWM yang dikirimkan ke pin servo (GP15), sehingga servo dapat bergerak sesuai sudut yang ditentukan. Pada saat yang sama, nilai sudut servo ditampilkan ke layar LCD melalui komunikasi I2C (GP0 = SDA, GP1 = SCL). Dengan demikian, perubahan posisi potensiometer secara langsung akan mengubah sudut servo, dan pengguna dapat memantau besar sudut yang dihasilkan melalui tampilan LCD.
1. Import library
-
Pin
→ digunakan untuk mengakses pin GPIO. -
ADC
→ membaca nilai analog dari potensiometer. -
PWM
→ menghasilkan sinyal PWM untuk mengendalikan servo. -
I2C
→ komunikasi dengan LCD melalui protokol I2C. -
I2cLcd
→ library untuk mengontrol LCD 16x2 I2C. -
utime
→ modul delay (waktu).
2. Setup Potensiometer
-
Potensiometer dihubungkan ke pin GP26 (ADC0).
-
Pico akan membaca nilai analog dalam rentang 0 – 65535.
3. Setup Servo
-
Servo dihubungkan ke pin GP15.
-
Sinyal PWM dengan frekuensi 50 Hz (standar untuk servo motor) digunakan untuk mengatur sudut.
4. Setup LCD I2C
-
LCD menggunakan alamat I2C 0x27 (bisa berbeda, misalnya 0x3F).
-
Menggunakan I2C0 dengan GP0 = SDA, GP1 = SCL.
-
Inisialisasi LCD dengan ukuran 16 kolom × 2 baris.
5. Fungsi Mapping
-
Fungsi ini mengubah skala nilai dari satu rentang ke rentang lain.
-
Digunakan untuk mengonversi nilai potensiometer (0–65535) menjadi sudut servo (0–180) dan kemudian menjadi duty cycle PWM.
6. Kalibrasi Servo
-
Menentukan batas duty cycle untuk servo agar sesuai dengan sudut penuh (0° hingga 180°).
7. Program Utama (Loop)
Penjelasan langkah-langkahnya:
-
Baca nilai potensiometer.
-
Konversi nilai analog ke sudut servo.
-
Ubah sudut menjadi duty cycle PWM.
-
Kirim sinyal PWM ke servo → servo bergerak.
-
Tampilkan nilai sudut di LCD.
-
Ulangi proses secara terus-menerus.
Comments
Post a Comment