1. Rangkai rangkaian pada alat sesuai dengan modul.
2. Tulis program untuk arduino di software Arduino IDE.
3. Compile program tadi, lalu upload ke dalam arduino.
4. Setelah program selesai di upload, jalankan rangkaian.
2. Tulis program untuk arduino di software Arduino IDE.
3. Compile program tadi, lalu upload ke dalam arduino.
4. Setelah program selesai di upload, jalankan rangkaian.
2. Hardware dan Diagram Blok
[Kembali]
3. Rangkaian Simulasi dan Prinsip Kerja
[Kembali]
Prinsip Kerja :
Pada rangkaian percobaan, keypad terhubung ke arduino sebagai input, dan motor sebagai output. mikrokontroler akan melakukan scanning terus menerus ke key, sampai key ditekan, maka scan akan terhenti dan mikrokontroler akan melakukan identifikasi posisi dari key dengan pembacaan RnCn ketika salah satu key ditekan. Lalu arduino akan memproses inputan pada key dengan kodingan yang telah ditetapkan dan akan mengirimkan data ke motor sebagai output. Saat key pada key ditekan maka akan mempengaruhi sudut pada motor sesuai dengan key yang ditekan, hal ini dipengaruhi oleh PWM yang diberikan oleh mikrokontroller ke motor, PWM ini telah diatur oleh library motor servo pada arduino.
4. Flowchart dan Listing Program
[Kembali]
Flowchart :
#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. Kondisi[Kembali]
Percobaan 4 : Kontrol Motor Servo dengan PWM
6. Video Demo [Kembali]
7. Soal Analisa
[Kembali]
1. Apakah motor servo dapat berfungsi tanpa PWM? kenapa hal seperti itu bisa terjadi?
Jawab :
Motor servo biasanya dikendalikan dengan PWM untuk menentukan arah sudut yang akan dituju oleh motor servo. Karena dengan PWM, atay mengatur lama waktu on/off, makaakan menghasilkan keluaran pada motor servo sesuai dengan lama waktu on/off, dan lama waktu on/off tersebut memungkinkan untuk mengontrol posisi motor servo
Jawab :
Motor servo biasanya dikendalikan dengan PWM untuk menentukan arah sudut yang akan dituju oleh motor servo. Karena dengan PWM, atay mengatur lama waktu on/off, makaakan menghasilkan keluaran pada motor servo sesuai dengan lama waktu on/off, dan lama waktu on/off tersebut memungkinkan untuk mengontrol posisi motor servo
2. Bagaimana cara motor servo bisa bergerak sesuai arah yang ditekan pada keypad. Nilai apa yang diberikan oleh keypad pada motor servo?
Jawab :
Jawab :
Karena keypad terhubung terlebih dahulu ke mikrokontroller, sehingga keypad berfungsi sebagai input dan motor servo sebagai output. Saat keypad ditekan, lalu mengkonversinya menjadi PWM, hal ini diatur oleh library motor servo. Kemudian hasil PWM yang diproses sesuai kodingan akan dikirim ke motor servo. Kemudian hasil PWM yang diproses sesuai kodingan akan dikirm ke motor servo, sehingga motor servo bergerak ke posisi sesuai PWM yang dikirimkan.
Tidak ada komentar:
Posting Komentar