[KEMBALI KE MENU SEBELUMNYA]
Percobaan 4
1. Prosedur [Kembali]- Rangkai komponen sesuai percobaan dan kondisi yang dipilih.
- Buat program menggunakan Arduino IDE.
- Compile program yang telah dibuat lalu Upload ke dalam Arduino Uno.
- Uji coba program pada rangkaian percobaan sesuai dengan kondisi yang diinginkan.
- Selesai
Simulasi Rangkaian
Prinsip Kerja
Dapat dilihat pada rangkaian percobaan kontrol motor servo dengan PWM, dalam rangkaian ini terdapat motor servo, arduino, dan keypad sebagai inputan. Motor akan bergerak apabila ditekan salah satu angka pada keypad. Pada program d atur apabila ditekan angka 1 maka motor akan bergerak 0 derjat, apabila ditekan angka 2 motor akan bergerak 90 derjat, apabila ditekan 4 maka motor akan bergerak 135 derjat, apabila ditekan 5 maka motor akan bergerak 180 derjat, apabila ditekan 6 motor akan bergerak 135 derjat, apabila ditekan 7 motor akan bergerak 90 derjat, apabila ditekan 8 maka motor akan bergerak 45 derjat, apabila ditekan 9 maka motor akan bergerak 0 derjat.
Flowtchar
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;
}
}
}
Modul 2 Percobaan 4
Tidak ada komentar:
Posting Komentar