Modul 2 Percobaan 4
Percobaan IV
Kontrol Motor Servo dengan PWM dan Keypad
1. Foto Hardware dan Diagram Blok [Kembali]
2. Prosedur Percobaan [Kembali]
- Rangkailah seperti rangkaian berikut
- Buka Arduino IDE dan masukan listing Program
- Upload program ke arduino
- Mencoba rangkaiannya dengan memvariasikan input
Prinsip Kerja:
Prinsip kerja pada percobaan kali ini, dimana keypad berfungsi sebagai input sedangkan motor servo berfungsi sebagai output, yang dimana pada percobaan kali ini mengontrol motor servo dengan PWM, jadi motor servo akan aktif ketika menekan salah satu dari keypad.
4. Flowchart dan Listing Program [Kembali]
Flowchart:
Listing Program:
#include <Servo.h>
#include <Keypad.h>
int servoPin = 11;
const byte ROWS = 3;
const byte COLS = 3;
// Array to represent keys on keypad
char hexaKeys[ROWS][COLS] = {
{'1', '2', '3'},
{'4', '5', '6'},
{'7', '8', '9'},
};
// Connections to Arduino
byte rowPins[ROWS] = {9, 8, 7};
byte colPins[COLS] = {5, 4, 3};
// Create keypad object
Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
Servo myservo; // Buat objek dari kelas Servo untuk mengendalikan motor servo
void setup() {
// Setup serial monitor
Serial.begin(9600);
myservo.attach(servoPin); // Menghubungkan objek Servo dengan pin yang sesuai
}
void loop() {
// Get key value if pressed
char customKey = customKeypad.getKey();
switch(customKey){
case '1':
myservo.write(20);
break;
case '2':
myservo.write(40);
break;
case '3':
myservo.write(60);
break;
case '4':
myservo.write(80);
break;
case '5':
myservo.write(100);
break;
case '6':
myservo.write(120);
break;
case '7':
myservo.write(140);
break;
case '8':
myservo.write(160);
break;
case '9':
myservo.write(180);
break;
}
}
Ketika menekan salah satu dari keypad maka akan dibaca oleh arduino, kemudian arduino akan memberikan perintah untuk menggerakan servo.
᭒ HTML↠ klik disini
᭒ Aplikasi↠ klik disini
᭒ Gambar Rangkaian↠ klik disini
᭒ Video Percobaan↠ klik disini
Comments
Post a Comment