Percobaan 4
Kontrol Motor Servo dengan PWM
1. Foto Hardware dan Diagram Blok [Kembali]
Diagram Blok:
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
- Lihat hasil pada motor servo yang bergerak sesuai sudut yang diatur
3. RANGKAIAN SIMULASI DAN PRINSIP KERJA[Kembali]
Pada rangkaian percobaan ini terdapat keypad, arduino, dan motor servo. Dimana, keypad merupakan sebagai input dan motor servo sebagai outputnya.
ketika keypad ditekan maka akan mengeluarkan output menuju arduino dan kemudian diteruskan ke motor servo sehingga motor servo akan aktif dan akan berputar membentuk sudut sesuai dengan program yang dibuat serta berdasarkan angka yang telah ditekan
4. FLOWCHART DAN LISTING PROGRAM [Kembali]
Flowchart:
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. KONDISI [Kembali]
Main program akan berjalan terus dimana pada main program motor akan berputar membentuk sudut sesuai dengan angka yang ditekan pada keypad
6. VIDEO RANGKAIAN [Kembali]
Tidak ada komentar:
Posting Komentar