Modul 2
Percobaan 4
1. Rangkai komponen sesuai percobaan dan yang
dipilih.
2. Buat program menggunakan Arduino IDE.
3. Transfer program yang telah dibuat ke Arduino Uno.
4. Uji coba program pada rangkaian percobaan sesuai dengan kondisi yang
diinginkan.
5. Proses selesai setelah uji coba berhasil dilakukan.
2. Hardware dan Diagram Blok
[Kembali]
a. Rangkaian Simulasi
b. Prinsip Kerja
Pada percobaan keempat dengan kondisi pertama, fokusnya adalah mengontrol sebuah motor servo menggunakan keypad untuk menghasilkan sinyal PWM yang berkisar dari 0 hingga 180 derajat. Setiap nilai PWM yang dihasilkan akan memiliki selisih 20 derajat antara satu nilai dengan nilai berikutnya. Keypad bertindak sebagai perangkat input yang memungkinkan pengguna untuk memasukkan nilai-nilai yang diinginkan, sementara motor servo berperan sebagai perangkat output yang akan menyesuaikan sudutnya sesuai dengan sinyal PWM yang diterima.
Motor servo adalah sebuah perangkat yang mampu bergerak secara presisi dan akurat sesuai dengan sinyal PWM yang diberikan kepadanya. Sudut putaran motor servo berkaitan langsung dengan nilai PWM yang diterimanya, sehingga dengan mengatur sinyal PWM, kita dapat mengontrol posisi atau sudut motor servo dengan presisi.
Dalam percobaan ini, tujuan utama adalah untuk mengontrol sudut motor servo berdasarkan nilai yang dimasukkan melalui keypad. Misalnya, jika pengguna memasukkan angka 1 pada keypad, motor servo akan bergerak ke posisi yang sesuai dengan nilai PWM yang sesuai dengan sudut 0 derajat. Begitu seterusnya, hingga angka 9 yang akan menggerakkan motor servo ke posisi 180 derajat.
Proses ini memungkinkan pengguna untuk dengan mudah mengontrol sudut motor servo dengan menggunakan keypad, yang dapat digunakan untuk berbagai aplikasi yang memerlukan pengaturan presisi posisi atau sudut. Misalnya, dalam robotika atau otomatisasi sistem yang memerlukan gerakan mekanis yang tepat sesuai dengan input yang diberikan.
4. Flowcharth dan Listing Program [Kembali]
a. Flowcharth
b. Listing Program
#include <Keypad.h>
Servo servoMotor;
const int servoPin = 11; // PWM pin for servo
const int numRows = 4; // Number of rows in keypad
const int numCols = 3; // Number of columns in keypad
char keys[numRows][numCols] = {
{'1', '2', '3'},
{'4', '5', '6'},
{'7', '8', '9'},
{'*', '0', '#'}
};
byte rowPins[numRows] = {9, 8, 7, 6}; // Rows 0 to 3
byte colPins[numCols] = {5, 4, 3}; // Columns 0 to 2
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, numRows, numCols);
void setup() {
servoMotor.attach(servoPin);
servoMotor.write(90); // Initial position
Serial.begin(9600);
}
void loop() {
char key = keypad.getKey();
if (key != NO_KEY) {
Serial.println(key);
// Perform actions based on the key pressed
switch (key) {
case '1':
// Move servo to position 0 degrees
servoMotor.write(0);
break;
case '2':
// Move servo to position 45 degrees
servoMotor.write(45);
break;
case '3':
// Move servo to position 90 degrees
servoMotor.write(90);
break;
case '4':
// Move servo to position 135 degrees
servoMotor.write(135);
break;
case '5':
// Move servo to position 180 degrees
servoMotor.write(180);
break;
case '6':
// Move servo to position 135 degrees
servoMotor.write(135);
break;
case '7':
// Move servo to position 90 degrees
servoMotor.write(90);
break;
case '8':
// Move servo to position 45 degrees
servoMotor.write(45);
break;
case '9':
// Move servo to position 0 degrees
servoMotor.write(0);
break;
default:
break;
}
}
}
5. Kondisi
[Kembali]
Modul 2 Percobaan 4 Kontrol Motor Servo dengan PWM
6. Video Demo[Kembali]
Download HMTL Klik disini
Download Gambar Hardware Klik disini
Download Gambar Simulasi Klik disini
Download Video Demo klik disini
Download Listing Program klik disini
Datasheet Arduino klik disini
Datasheet Keypad klik disini
Datasheet Motor Servo klik disini