TP Modul 2 Percobaan 4 Kondisi 4
PERCOBAAN 4
Kontrol Motor Servo dengan PWM
1. Rangkai semua komponen sesuai kondisi yang dipilih
2. Buat program di aplikasi arduino IDE
3. Setelah selesai masukkan program ke arduino di proteus
4. Jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi
5. Selesai
2. Hardware dan diagram blok [Kembali]
A. Hardware
1. Arduino Uno
2. Keypad
B. Digram Blok
3. Rangkaian Simulasi dan Prinsip kerja [Kembali]
→Gambar Rangkaian Sebelum Disimulasikan
→Gambar Rangkaian Setelah Disimulasikan
Prinsip Kerja
Pada percobaan ini kita menjalankan kondisi 4 yang menggunakan keyboard sebagai input dan mengatur motor servo sebagai output.Keyboard ini menghasilkan nilai PWM dari 255 hingga 0, dengan selisih 28 antara setiap nilai PWM.Motor servo diketahui bergerak secara tepat sesuai dengan sudut yang diberikan PWM.Oleh karena itu pada percobaan kali ini kita akan menggunakan keyboard untuk mengontrol sudut motor servo secara tepat sesuai dengan nilai PWM yang ditentukan.Misalnya, jika Anda memasukkan nilai PWM 255, motor servo akan berpindah ke posisi sudut yang sesuai dengan nilai tersebut.Nilai PWM lainnya dari 255 ke 0 juga berpindah dengan selisih 28.
4. FlowChart [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};
byte colPins[numCols] = {5, 4, 3};
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) {
Serial.println(key);
switch (key) {
case '1':
//nilai PWM 255
servoMotor.write(180);
break;
case '2':
//nilai PWM 227
servoMotor.write(160);
break;
case '3':
//nilai PWM 199
servoMotor.write(140);
break;
case '4':
//nilai PWM 171
servoMotor.write(120);
break;
case '5':
//nilai PWM 143
servoMotor.write(100);
break;
case '6':
//nilai PWM 115
servoMotor.write(80);
break;
case '7':
//nilai PWM 87
servoMotor.write(60);
break;
case '8':
//nilai PWM 59
servoMotor.write(40);
break;
case '9':
//nilai PWM 0
servoMotor.write(0);
break;
default:
break;
}
}
}
B. Flowchart
Kondisi →Percobaan 4 Kondisi 4
Keypad 1 hingga 9 memberikan PWM 255-0 dengan jarak PWM antar Key 28.
6. Video Simulasi [Kembali]
7. Download File [Kembali]
Download HMTL Klik disini
Download Simulasi Rangkaian Klik disini
Download Video Simulasi Klik disini
Download Datasheet ARDUINO UNO klik disini
Download Datasheet TOUCH SENSOR klik disini
Download Datasheet LCD 2X16 klik disini





Tidak ada komentar:
Posting Komentar