LAPORAN AKHIR 2 MODUL 2



LAPORAN AKHIR 1 Modul 2
(Percobaan 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. MOTOR SERVO






3. KEYPAD




Diagram Blok:






3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]




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]

Percobaaan 4

6. Video Simulasi [Kembali]





7. Soal Analisa [kembali]

1. Apakah motor servo dapat berfungsi tanpa PWM? kenapa hal seperti itu bisa terjadi?
jawab :
        Motor servo dapat berfungsi tanpa PWM karena pada codingan arduino sudah diatur untuk motor bergerak susuai dengan derajat yang diingankan. namun PWM digunakan untuk mengontrol pergerakam motor servo 

 2. Bagaimana cara motor servo bisa bergerak sesuai arah yang ditekan pada keypad, nilai apa yang diberikan oleh keypad pada motor servo!
Jawab :
untuk menggerakkan motor servo sesuai arah yang ditekan pada keypad, perlu untuk membuat logikanya di arduino yang mana akan memetakan input dari keypad menjadi perintah yang sesuai untuk motor servo. nilai yang diberikan oleh keypad akan diinterpretasikan sebagai arah atau perintah untuk menggerakkan motor servo sesuai derajat.

8. Download File [Kembali]

File Rangkaian klik disini
Video Percobaan klik disini
Listing Program klik disini
Datasheet Arduino klik disini
Datasheet Keypad klik disini










Tidak ada komentar:

Posting Komentar