Tugas Pendahuluan 2 (M2)


Percobaan 4 Kondisi 2

1. Prosedur [Kembali]

  • Rangkai semua komponen 
  • Buat program di aplikasi arduino IDE
  • Setelah selesai masukkan program ke arduino 
  • Jalankan program pada simulasi dan cobakan sesuai kondisi

  • Rangkaian



  • Prinsip Kerja
Pada percobaan 4 kondisi 2 diminta untuk Keypad 1 hingga 9 memberikan PWM 180-0 dengan jarak PWM antar Key 20.
Disini kita menggunakan motor servo yang dimana motor servo bergerak dipengaruhi oleh input dari PWM. Pada program arduino yang dibuat setiap tombol keypad mewakili besar sudut untuk pergerakan motor servo yaitu dari 1-9 mewakili sudut 180-20.

  • 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(180); 
        break; 
      case '2': 
        // Move servo to position 45 degrees 
        servoMotor.write(160); 
        break; 
      case '3': 
        // Move servo to position 90 degrees 
        servoMotor.write(140); 
        break; 
      case '4': 
        // Move servo to position 135 degrees 
        servoMotor.write(120); 
        break; 
      case '5': 
        // Move servo to position 180 degrees 
        servoMotor.write(100); 
        break; 
      case '6': 
        // Move servo to position 135 degrees 
        servoMotor.write(80); 
        break; 
      case '7': 
        // Move servo to position 90 degrees 
        servoMotor.write(60); 
break; 
case '8': 
// Move servo to position 45 degrees 
servoMotor.write(40); 
break; 
case '9': 
// Move servo to position 0 degrees 
servoMotor.write(20); 
break; 
default: 
break; 
}

4. Kondisi [Kembali]

Keypad 1 hingga 9 memberikan PWM 180-0 dengan jarak PWM antar Key 20

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

Tidak ada komentar:

Posting Komentar

BAHAN PRESENTASI UNTUK PRAKTIKUM uP & uC 2023 Oleh : Farrel Luis Fadhlika NIM. 2110952049   Dosen Pengampu : Dr. Darwison, S. T., M. T. ...