Laporan Akhir 2 Percobaan 4




PERCOBAAN 4
KONTROL MOTOR SERVO DENGAN PWM

1. Prosedur
[Kembali]

 1. Rangkai komponen sesuai percobaan dan kondisi yang dipilih.

2. Buat program menggunakan Arduino IDE.

3. Compile program yang telah dibuat lalu Upload ke dalam Arduino Uno.

4. Uji coba program pada rangkaian percobaan sesuai dengan kondisi yang diinginkan.

5. Selesai

2. Hardware dan Diagram Blok [Kembali]

Hardware:

                                         

Blok Diagram :



3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

Rangkaian Simulasi:


Prinsip Kerja:

Pada rangkaian percobaan digunakan input berupa keypad yang mana baris dihubungkan ke pin 9, 8, 7, dan 6 arduino sedangkan pin kolom dihubungkan dengan pin 5, 4 dan 3 arduino. ketika tombol pada keypad ditekan, maka keypad akan memberikan sinyal pada arduino dan menerjemahkannya menjadi karakter- karakter pada keypad. 

sedangkan untuk output berupa PWM yang mana dihubungkan ke motor servo yang dihubungkan ke pin 11 arduino dan berfungsi untuk mengendalikan sudut dari motor servo. berikut adalah ketentuan pergerakan sudut yang diatur melalui program arduino:

1 = Berputar ke sudut 0 derajat
2 = Berputar ke sudut 45 derajat
3 = Berputar ke sudut 90 derajat
4 = Berputar ke sudut 135 derajat
5 = Berputar ke sudut 180 derajat
6 = Berputar ke sudut 135 derajat
7 = Berputar ke sudut 90 derajat
8 = Berputar ke sudut 45 derajat
9 = Berputar ke sudut 0 derajat

Jika tombol 4 ditekan pada keypad, maka arduino akan membaca karakter 4 dan kemudian arduino akan mengirimkan sinyal PWM dan menyebabkan motor servo berputar ke sudut 135 derajat.

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]

Percobaan 4 Pada Modul 2

6. Video Demo [Kembali]]



7. Download File [Kembali]

HTML                    klik disini
Video Percobaan    klik disini
Listing Program     klik disini
datasheet arudino   klik disini
Datasheet Keypad  klik disini
Datasheet Motor Servo      klik disini


Tidak ada komentar:

Posting Komentar

MODUL 4 PRATIKUM uP dan uC

[KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI     1. Pendahuluan     2. Tujuan     3. Alat dan Bahan     4. Dasar Teori     5. Percob...