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

    Rangkaian ini menggunakan komponen antara lain yaitu Arduino Uno, keypad, dan Motor Servo
    Rangkaian ini bekerja dengan menghubungkan keypad ke Arduino Uno dan servo motor ke Arduino Uno. Pada rangkaian ini arduino akan menerima input dari keypad dan mengontrol servo motor. 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.
Tombol 1: 0 derajat
Tombol 2: 45 derajat
Tombol 3: 90 derajat
Tombol 4: 135 derajat
Tombol 5: 180 derajat
Tombol 6: 135 derajat
Tombol 7: 90 derajat
Tombol 8: 45 derajat
Tombol 9: 0 derajat
Arduino mengirimkan sinyal kontrol ke servo motor dengan nilai yang sesuai dengan sudut yang ditentukan. Lalu motor servo menerima sinyal kontrol dan berputar ke sudut yang 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


    










Komentar

Postingan populer dari blog ini