Laporan Akhir 2 Modul II

 



Percobaan 2

 Kontrol Motor Servo dengan PWM


1. Foto Hardware dan Diagram Blok [Kembali]

        1. Arduino Uno




        2. Motor Servo



      3. Keypad



Diagram Blok:


2. Prosedur Percobaan  [Kembali]

Rangkai semua komponen 
+ buat program di aplikasi arduino IDE
+ setelah selesai masukkan program ke arduino 
+ jalankan program pada simulasi dan cobakan dengan modul






Prinsip Kerja

    Pada percobaan kali ini kita menggunakan beberapa komponen yaitu Arduino Uno, Keypad dan motor servo  

    Percobaan kali ini kita hanya akan menggunakan Keypad sebagai input dan motor servo sebagai output yang akan menerima sinyal PWM dari arduino Ketika tombol pada keypad ditekan, Arduino membaca input dari keypad dan mengidentifikasi tombol yang ditekan. Berdasarkan tombol yang ditekan, Arduino menentukan sudut yang sesuai untuk servo motor. Untuk kondisi dari tombol-tombolnya yaitu seperi dibawah:

Tombol 1 akan menggerakkan motor servo sebesar 0 derajat
Tombol 2 akan menggerakkan motor servo sebesar 45 derajat
Tombol 3 akan menggerakkan motor servo sebesar 90 derajat
Tombol 4 akan menggerakkan motor servo sebesar 135 derajat
Tombol 5 akan menggerakkan motor servo sebesar 180 derajat
Tombol 6 akan menggerakkan motor servo sebesar 135 derajat
Tombol 7 akan menggerakkan motor servo sebesar 90 derajat
Tombol 8 akan menggerakkan motor servo sebesar 45 derajat
Tombol 9 akan menggerakkan motor servo sebesar 0 derajat

Dari kondisi atau case diatas maka arduino mengirimkan sinyal PWM ke servo motor dengan nilai yang sesuai dengan nilai sudut yang ditentukan. Lalu motor servo menerima sinyal PWM dan berputar ke sudut yang telah ditentukan.


4. Flowchart dan Listing Program [Kembali]

Flowchart
http://www.plantuml.com/plantuml/png/hPD1IyCm5CVl-HH_JqjlpcswhGm6mvEeO4-UPDYtDInDGl8owRUtPiXw45gmboGyylln9tbl6tZlETPQi69DACYVBNRMiBSQHHEOQY7I9R4kYAEJMIw-AgK9adsaJ030-ets9KxKk7PJnaNEKrqT8DigRZPuUVruUdpFm1KPo8R2XKpqhgBFqmyEvoa4AYzqrx31P3hvaqw6PticX1IUBMvHqj4JXQk7TA2EwswmQxxebSq6orRzoUQ3PTDPVxJ5SDkoFzlzgDaUndosvPWVklfNfvbI7SIl5TBORgTRmyf4WhRMANFCnHLfrpHOOjkUOgs_0G00


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]

    Motor servo akan bergerak sesuai masukkan tombol keypad yang mana tiap tombol keypad memiliki sudut rotasi tertentu.



᭒ HTML↠ klik disini

᭒ Video Percobaan↠ klik disini

᭒ Program↠ klik disini

᭒ Datasheet Arduino↠ klik disini

᭒ Datasheet Motor Servo↠ klik disini

᭒ Datasheet Keypad↠ klik disini

Subscribe to receive free email updates:

0 Response to "Laporan Akhir 2 Modul II"

Posting Komentar