Tugas Pendahuluan 1 Modul 1
Percobaan 4 Kondisi 2
Pada percobaan 4 kondisi 2 kondisi rangkaian yaituKeypad 1 hingga 9 memberikan PWM 180-0 dengan jarak PWM antar Key 20
1. Prosedur [Kembali]
- Rangkailah semua komponen
- Buat program di aplikasi arduino IDE
- Setelah selesai, masukkan program ke arduino
- Jalankan program pada simulasi dan lakukan sesuai kondisi
- Aktifkan Switch 1 dan 2
2. Keypad
3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]
a) Gambar rangkaian sebelum dijalankan
Prinsip Kerja
Pada rangkaian diatas, merupakan percobaan 4 kondisi 2, pada percobaan ini kondisi rangkaian yaitu Keypad 1 hingga 9 memberikan PWM 180-0 dengan jarak PWM antar Key 20.Rangkaian terdiri dari beberapa komponen seperti PWM motor servo, arduino uno, Keypad, VCC, dan Ground.
Pada rangkaian diatas menggunakan arduino untuk mengendalikan motor servo dengan menggunakan inputan dari keypad. Pada saat rangkaian dijalankan,dan diberikan input pada keypad dimana pada masing masing tombol yang terdapat pada keypad , sudah diberi kondisi pada kodingan. Khusus pada saat pemberian input pertama pada keypad, tegangan pertama yang terbaca pada motor servo adalah sebesar 90 , karena pada void set up ( servo motor write )tegangan diatur sebesar 90.
Jika keypad diberikan input , keypad akan 1-9 akan memberikan PWM 180-0, dimana pada kodingan diatur setiap kondisi terdapat perbedaan sudut sebesar 45 derjat (nilai sudut putaran akan diubah menjadi sinyal PWM oleh arduino).Selanjutnya motor servo akan berputar porosnya sesuai dengan lebar pulsa sinyal PWM.
#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(180);
break;
case '2':
// Move servo to position 45 degrees
servoMotor.write(160);
break;
case '3':
// Move servo to position 90 degrees
servoMotor.write(140);
break;
case '4':
// Move servo to position 135 degrees
servoMotor.write(120);
break;
case '5':
// Move servo to position 180 degrees
servoMotor.write(100);
break;
case '6':
// Move servo to position 135 degrees
servoMotor.write(80);
break;
case '7':
// Move servo to position 90 degrees
servoMotor.write(60);
break;
case '8':
// Move servo to position 45 degrees
servoMotor.write(40);
break;
case '9':
// Move servo to position 0 degrees
servoMotor.write(20);
break;
default:
break;
}
}
}
Pada percobaan 3 kondisi 2 kondisi rangkaian yaitu Keypad 1 hingga 9 memberikan PWM 180-0 dengan jarak PWM antar Key 20
HTML Klik disini Klik disini
Rangkaian Simulasi Klik disini
Video Simulasi Klik disini
Listing Program Klik disini
Datasheet Arduino Uno klik disini
Tidak ada komentar:
Posting Komentar