Tugas Pendahuluan 2 Modul 2




Tugas Pendahuluan 2 Modul 2
(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

2. Hardware dan Diagram Blok [Kembali]

Hardware :

1. Arduino



2. KEYPAD 


3. MOTOR PWMSERVO




Diagram Blok:





3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

Rangkaian Simulasi :




ketika di running :





Prinsip Kerja :
         Pada percobaan 4 pada modul 2 menggunakan arduino uno dengan keypad serta motor PWM servo. pada arduino dihubungkan motor PWM servo pada pin 11, dan keypad dihubungkan dengan arduiino pada pin 9, 8, 7, 6 untuk kolom serta untuk pin 5, 4, 3 untuk baris pada keypadnya. Pada arduino diberikan codingan untuk memerintahkan motor pwm serto untuk bergerak sesuai derjatnya jika di tekan salah satu angka pada keypad. Pada percobaan 4 kali ini, diberikan kondisi yang mana keypad 1 hingga 9 memberikan PWM 0-180 dengan jarak PWM key 20 derjat. Jadi ketika angka 1 pada keypad di tekan, maka akan diproses di arduino sesuai codingannya untuk menggerakkan motor PWM Servo agar dapat membentuk PWM 0 derjat, dan jika angka 2 pada keypad di tekan, maka akan di proses di arduino sesuai codingannya untuk menggerakkan motor pwm servo agar dapat membentuk PWM 20 derjat, dan begitu seterusnya. 



 
4. Flowchart dan Listing Program [Kembali]

Flowchart :





Listing Program :

#include <Servo.h>

#include <Keypad.h>

Servo servoMotor;


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(11);

 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;

 case '0':

 // Move servo to position 0 degrees

 servoMotor.write(0);

 break;

 case '*':

 // Move servo to position 0 degrees

 servoMotor.write(90);

 break;

 default:

 break;

 }

 }

}


5. Kondisi [Kembali]

Percobaan 4 Kondisi 1
Keypad 1 hingga 9 memberikan PWM 0-180 dengan jarak PWM antar key 20

6. Video Simulasi [Kembali]





7. Download File [Kembali]

File Rangkaian klik disini
Video Percobaan klik disini
Listing Program klik disini
Datasheet Arduino klik disini
Datasheet Motor PWM servo klik disini







Tidak ada komentar:

Posting Komentar