Modul 2 - Tugas Pendahuluan 1


Percobaan 4 Kondisi 3

1. Prosedur [Kembali]

Rangkailah seperti rangkaian berikut 
Buka Arduino IDE dan masukan listing program Upload program ke arduino 
Variasikan tombol yang ditekan dan amati keluarannya pada Motor Servo PWM

2. Hardware dan Diagram Blok [Kembali]
a. Arduino
 






b. Keypad

c. Motor Servo



  • Rangkaian




  • Prinsip Kerja
Pada percobaan 4 ini kita menggunakan 3 komponen yaitu Keypad sebagai inputan, Arduino sebagai Microntroller dan Motor servo sebagai Output. Prinsip kerja dari rangkaian ini ketika Arduino menerima inputan sinyal digital dari Keypad 4x4 yang mana kaki column dan row dihubungkan ke kaki arduino pada kaki 3-9 sesuai dengan program, maka Arduino akan menangkapnya sebagai sebuah instruksi, yang mana akan meneruskan ke Motor servo yang membaca sinyal pwm dihubungkan pada pin 11 pada kaki Arduino. Lalu sesuai dengan pola dan case-case pada program yang mana terdapat 9 case pada program akan ditampilkan berupa PWM 0-255 dengan jarak antar sudut 28 key.

  • 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(0); // 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 28 degrees
 servoMotor.write(28);
 break;
 case '2':
 // Move servo to position 56 degrees
 servoMotor.write(56);
 break;
 case '3':
 // Move servo to position 84 degrees
 servoMotor.write(84);
 break;
 case '4':
 // Move servo to position 112 degrees
 servoMotor.write(112);
 break;
 case '5':
 // Move servo to position 140 degrees
 servoMotor.write(140);
 break;
 case '6':
 // Move servo to position 168 degrees
 servoMotor.write(168);
 break;
 case '7':
 // Move servo to position 196 degrees
 servoMotor.write(196);
 break;
 case '8':
 // Move servo to position 224 degrees
 servoMotor.write(224);
 break;
 case '9':
 // Move servo to position 255 degrees
 servoMotor.write(255);
 break;
 default:
 break;
 }
 }
}

4. Kondisi [Kembali]

Keypad 1 hingga 9 memberikan PWM 0-255 dengan jarak PWM antar Key 28 7. Video Simulasi

HTML klik disini  
Simulasi  klik disini
Gambar Simulasi  klik disini
Video Simulasi   klik disini
Listring Program  klik disini


Materi MataKuliah SENSOR TE1212 C  Semester Ganjil 2020 (II) Disusun Oleh : Ibrahim 1910953006 Fajar Ruhud M...