Laporan Akhir 2 Modul 2




Percobaan 4

Kontrol Motor Servo dengan PWM

1. Foto Hardware dan Diagram Blok [Kembali]




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
  • Lihat hasil pada motor servo yang bergerak sesuai sudut yang diatur


3. RANGKAIAN SIMULASI DAN PRINSIP KERJA[Kembali]




Prinsip Kerja :

Pada percobaan ini, rangkaian terdiri dari keypad, Arduino, dan motor servo. Keypad bertindak sebagai input sedangkan motor servo sebagai outputnya. Ketika tombol pada keypad ditekan, output akan diteruskan ke Arduino, dan selanjutnya ke motor servo. Hal ini menyebabkan motor servo akan aktif dan berputar membentuk sudut yang sesuai dengan program yang telah dibuat, bergantung pada angka yang telah ditekan pada keypad.


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]

Main program akan berjalan terus dimana pada main program motor akan berputar membentuk sudut sesuai dengan angka yang ditekan pada keypad

6. VIDEO RANGKAIAN [Kembali]






7. ANALISA [Kembali]



8. LINK DOWNLOAD [Kembali]

HTML                    klik disini

Rangkaian            klik disini

Listing Program     klik disini




Komentar

Postingan populer dari blog ini

Kontrol Tanaman Bayam

Tugas Besar - Kontrol Hidroponik Tanaman Mint

Modul 1 Praktikum Sistem Digital