Tugas Pendahuluan 1 (Modul 2)

  




Percobaan 3

Kontrol Motor Servo dengan PWM


1. Kondisi [Kembali]

Percobaan 4 Kondisi 4
Keypad 1 dengan 9 memberikan PWM 255-0 dengan jarak PWM antar Key 28

2. Alat dan Bahan [Kembali]
  • Keypad


  • Motor Servo


  • Arduino UNO
  • VCC
  • Ground


3. Gambar Rangkaian Simulasi [Kembali]



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(0); // 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 [Kembali]



6. Prinsip Kerja Rangkaian [Kembali]
Rangkaian percobaan ini merupakan rangkaian Kontrol Motor Servo dengan PWM. Keypad digunakan sebagai input yang dapat mengatur PWM untuk diteruskan ke motor servo. Motor servo akan berputar porosnya sesuai dengan nilai input PWM yang diberikan.