1. Prosedur [Kembali]
- Rangkai semua komponen
- Buat program di aplikasi arduino IDE
- Setelah selesai masukkan program ke arduino
- Jalankan program pada simulasi dan cobakan sesuai kondisi
- Rangkaian
Pada percobaan ini digunakan Arduino UNO dan IDE sebagai kontrolernya, lalu motor servo sebagai yang akan diatur PWM nya dan Keypad sebagai pengatur derajat putar motor servo. Derajat putar motor servo diatur oleh PWM dan sudah diintruksikan pada Arduino IDE yang terhubung dengan Arduino UNO.
- Listing Program
#include <Servo.h>
#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);
// Calculate PWM step size
const int pwmStep = 255 / 8; // Jumlah tombol keypad minus 1
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':
servoMotor.write(0); // PWM 0
break;
case '2':
servoMotor.write(pwmStep * 1); // PWM 28
break;
case '3':
servoMotor.write(pwmStep * 2); // PWM 56
break;
case '4':
servoMotor.write(pwmStep * 3); // PWM 84
break;
case '5':
servoMotor.write(pwmStep * 4); // PWM 112
break;
case '6':
servoMotor.write(pwmStep * 5); // PWM 140
break;
case '7':
servoMotor.write(pwmStep * 6); // PWM 168
break;
case '8':
servoMotor.write(pwmStep * 7); // PWM 196
break;
case '9':
servoMotor.write(pwmStep * 8); // PWM 224
break;
default:
break;
}
}
}
Keypad 1 dengan 9 memberikan PWM 255-0 dengan jarak PWM antar Key 28
Download HTML
Download Rangkaian
Download Vidio Simulasi
Tidak ada komentar:
Posting Komentar