[KEMBALI KE MENU SEBELUMNYA]
1. Prosedur [back]
Langkah-langkah percobaan :
1. Siapkan alat dan bahan dengan komponen yaitu Arduino Uno,
Keypad dan Motor Servo
2. Rangkai komponen sesuai gambar percobaan
3, Rancang kerja rangkaian menggunakan program pada Arduino IDE
4. Compile dan upload program pada Arduino Uno
4. Jalankan dan uji coba rangkaian.
Gambar Percobaan
2. Hardware dan diagram blok [back]
- Hardware :
- Arduino Uno
- Keypad
- Motor Servo
- Jumper
3. Rangkaian Percobaan dan Prinsip Kerja [back]
Ketika masing-masing tombol pada keypad ditekan, maka motor servo akan berputar dalam satuan derajat sesuai dengan deklrasi masing-masing karakter pada program. Hal itu dikarenakan masing-masing karakter pada keypad akan menghasilkan sinyal PWM yang lebarnya sesuai dengan tombol yang ditekan. Sehingga motor servo dapat berputar (dalam derajat) sesuai tombol keypad yang ditekan.
4. Flowchart dan Listing Program [back]
- Flowchart :
- Listing Program :
#include <Servo.h>
#include <Keypad.h>
Servo servoMotor;
// 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(11);
servoMotor.write(180); // 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(20);
break;
case '2':
// Move servo to position 45 degrees
servoMotor.write(40);
break;
case '3':
// Move servo to position 90 degrees
servoMotor.write(60);
break;
case '4':
// Move servo to position 135 degrees
servoMotor.write(80);
break;
case '5':
// Move servo to position 180 degrees
servoMotor.write(100);
break;
case '6':
// Move servo to position 135 degrees
servoMotor.write(120);
break;
case '7':
// Move servo to position 90 degrees
servoMotor.write(140);
case '8':
// Move servo to position 45 degrees
servoMotor.write(160);
break;
case '9':
// Move servo to position 0 degrees
servoMotor.write(180);
break;
case '0':
// Move servo to position 0 degrees
servoMotor.write(0);
break;
case '*':
// Move servo to position 0 degrees
servoMotor.write(90);
break;
case '#':
// Move servo to position 0 degrees
servoMotor.write(150);
break;
default:
break;
}
}
}
5. Video Demo [back]
6. Kondisi [back]
Percobaan 4 : Kontrol Motor Servo dengan PWM + Keypad.
7. Video Simulasi [back]
8. Download File [back]
Tidak ada komentar:
Posting Komentar