TP2


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 Simulasi 

  • Prinsip Kerja
Pada percobaan keempat dalam Kondisi 1 ini, tugasnya adalah untuk mengatur keypad dari 1 hingga 9 untuk memberikan sinyal PWM dalam rentang 0 hingga 180, dengan selisih 20 antara setiap nilai PWM. Di sini, keypad digunakan sebagai input, sedangkan outputnya adalah motor servo. Seperti yang diketahui, motor servo bergerak dengan presisi berdasarkan sudutnya, yang dikendalikan melalui sinyal PWM. Pada percobaan ini, kita akan mengatur sudut motor servo sesuai dengan nilai yang diberikan oleh keypad.

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

4. Kondisi [Kembali]

 Keypad 1 hingga 9 memberikan PWM 0-180 dengan Jarak PWM antar key 20
   

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

Tidak ada komentar:

Posting Komentar

Pemimpin

Menggali Sisi Positif dan Negatif Kepemimpinan Kepemimpinan adalah salah satu elemen kunci dalam mencapai keberhasilan dalam berbagai bidang...