LAPORAN AKHIR MODUL 2 PERCOBAAAN 4

Modul 2 PWM, ADC, dan Interrupt


 

  • Buatlah rangkaian sesuai dengan kondisi yang telah dipilih
  • Buat Program pada software Arduino IDE
  • Masukkan program yang telah dibuat pada software Arduino IDE sebagai library Arduino
  • Jalankan rangkaian, sesuai dengan kondisi yang diinginkan
  • Lihat output pada putaran motor servo dengan menekan keypad

a. Hardware

b. Diagram Blok

a. Rangkaian Simulasi

b. Prinsip Kerja
Pada percobaan kali ini terdapat keypad sebagai inputan dan motor servo sebagai outputannya. Rangkaian ini bekerja sesuai dengan program yang telah kita masukkan pada ARDUINO, ketika kita menekan angka 1 pada keypad maka motor servo akan berada pada posisi 0 derajat, ketika kita menekan angka 2 pada keypad maka motor servo akan berada pada posisi 45 derajat, ketika kita menekan angka 3 pada keypad maka motor servo akan berada pada posisi 90 derajat, ketika kita menekan angka 4 pada keypad maka motor servo akan berada pada posisi 135 derajat, ketika kita menekan angka 5 pada keypad maka motor servo akan berada pada posisi 180 derajat, ketika kita menekan angka 6 pada keypad maka motor servo akan berada pada posisi 135 derajat, ketika kita menekan angka 7 pada keypad maka motor servo akan berada pada posisi 90 derajat, ketika kita menekan angka 8 pada keypad maka motor servo akan berada pada posisi 45 derajat, dan ketika kita menekan angka 9 pada keypad maka motor servo akan berada pada posisi 0 derajat. 
Hal ini sesuai dengan program yang telah kita masukkan pada arduino.

a. Flowchart

b. 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;
 }
 }
}


Keypad 1 hingga 9 memberikan PWM 0-180 dengan jarak PWM antar key 45


Download HTML klik disini
Download Program Arduino klik disini
Download Video Demo klik disini
Download Gambar Hardware klik disini
Download Gambar Simulasi klik disini
Download Datasheet Arduino klik disini
Download Datasheet Keypad klik disini
Download Datasheet Motor Servo klik disini






Komentar

Postingan populer dari blog ini

TUGAS BESAR: KONTROL TANAMAN BAYAM PADA GREEN HOUSE

MODUL 1 : 8 x SWITCH SPDT DAN LCD

MODUL 2 : Kontrol Putaran Motor Stepper