Percobaan 4
Kontrol Motor Servo dengan PWM
1. Foto Hardware dan Diagram Blok [Kembali]
2. PROSEDUR PERCOBAAN [Kembali]
- 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]
Rangkaian diatas adalah rangkaian keypad dengan motor servo. Dimana untuk keypad bisa dipencet dari angka 1-9.
Prinsip kerja dari rangkaian ini yaitu ketika keypad ditekan, maka arduino yang telah di program sebelumnya akan memproses dan akan menggerakkan motor servo sesuai dengan nilai berapa derjat motor servo akan berputar terhadap masing masing tombol 1-9 pada keypad. Untuk motor servo ini sendiri hanya bisa melakukan pergerakan atau perputaran senilai 180 derajat saja. tidak bisa 360 derajat.
4. FLOWCHART DAN LISTING PROGRAM [Kembali]
#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]
Ketika keypad ditekan, maka motor servo akan bergerak sesuai dengan derajat yang telah diprogram pada arduino
6. VIDEO RANGKAIAN [Kembali]
7. ANALISA [Kembali]
1. Apakah motor servo dapat berfungsi tanpa PWM? Kenapa hal seperti itu bisa terjadi?
Jawab:
Motor servo biasanya dikendalikan menggunakan sinyal PWM (Pulse Width Modulation) untuk mengatur posisi atau kecepatan rotor. Namun, dalam beberapa kasus, motor servo juga dapat berfungsi tanpa PWM tergantung pada jenis kontrol yang digunakan.
Misalnya, beberapa motor servo dapat dikendalikan menggunakan sinyal analog atau digital yang mengode posisi atau kecepatan yang diinginkan langsung ke dalam sinyal kontrolnya, tanpa memerlukan modulasi lebar pulsa.
2. Bagaimana cara motor servo bisa bergerak sesuai arah yang ditekan pada keypad, nilai apa yang diberikan oleh keypad pada motor servo?
Jawab:
Untuk menggerakkan motor servo sesuai arah yang ditekan pada keypad, nilai yang diberikan pada keypad biasanya akan diinterpretasikan sebagai arah gerakan atau posisi yang diinginkan untuk motor servo. Seperti contohnya arah perputaran sudut motor servo dalam derajat.
Konfigurasi tombol keypad dan sudut putaran motor servo
- Tombol 1, bergerak 0 derajat.
- Tombol 2, bergerak 45 derajat.
- Tombol 3, bergerak 90 derajat
- Tombol 4, bergerak 135 derajat
- Tombol 5, bergerak 180 derajat
- Tombol 6, bergerak 135 derajat
- Tombol 7, bergerak 90 derajat
- Tombol 8, bergerak 45 derajat
- Tombol 9, bergerak 0 derajat
8. LINK DOWNLOAD [Kembali]
HTML klik disini
Rangkaian klik disini
Listing Program klik disini
Video Percobaan klik disini
Datasheet Arduino UNO download file
Datasheet Keypad 4x3 download file
Datasheet Motor Servo download file
Tidak ada komentar:
Posting Komentar