Laporan Akhir 2 Modul 2
Percobaan 4
Kontrol Motor Servo dengan PWM
a. Hardware
1. Motor Servo
2. Arduino Uno
3. Keypad
4. Jumper
5. Breadboard
- Rangkai semua komponen
- Buat program di aplikasi arduino IDE
- Setelah selesai masukkan program ke arduino
- Jalankan program pada simulasi dan cobakan dengan modul
3 . Rangkaian Simulasi dan Prinsip Kerja [Kembali]
Pada percobaan 2 ini terdiri dari beberapa komponen, seperti breadboard,keypad, arduino uno, jumper, Motor servo dan lainnya. Dimana pada rangkaian ini Keypad bertindak sebagai input yang nantinya akan terhubung nantinya ke arduino Uno, dan motor servo bertindak sebagai penampil output yang diberikan.
Pada percobaan ini , menerapakan PWM pada arduino uno. Pada saat keypad ditekan, input akan disalurkan ke arduino uno ,sehingga nantinya arduino uno akan menghasilkan output untuk mengendalikan motor servo.Arduino uno akan mengirimkan sinyal PWM , dimana sinyal PWM ini akan menentukan sudut putaran motor servo. Sudut pada motor servo dapat dikondisikan dengan kodingan dengan memberikan input pada keypad seperti :
- Tombol 1: 0 derajat
- Tombol 2: 45 derajat
- Tombol 3: 90 derajat
- Tombol 4: 135 derajat
- Tombol 5: 180 derajat
- Tombol 6: 135 derajat
- Tombol 7: 90 derajat
- Tombol 8: 45 derajat
- Tombol 9: 0 derajat
Hasil output nantinya berupa putaran pada motor servo yang sebelumnya diberikan input pada keypad. Dimana sudut putaran motor servo akan bergantung pada tombol yang ditekan pada keypad.
4. Flowchart [Kembali]
a. Flowchart
b. 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);
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. Video Simulasi Praktikum [Kembali]
6. Analisa [Kembali]
7. Download File [Kembali]
HTML Klik disini Klik disini
Video Simulasi Klik disini
Download Datasheet Motor Servo klik disini
Downlaod Datasheet Arduino Uno klik disini
Download Datasheet Keypad klik disini
Tidak ada komentar:
Posting Komentar