Rabu, 20 Maret 2024

LAPORAN AKHIR 2 MODUL 2




1. Prosedur
[Kembali]

1. Rangkai rangkaian di proteus sesuai dengan kondisi percobaan.
2. Tulis program untuk arduino di software Arduino IDE.
3. Compile program tadi, lalu upload ke dalam arduino.
4. Setelah program selesai di upload, jalankan simulasi rangkaian pada proteus.

2. Hardware dan Diagram Blok [Kembali]

Hardware :

Arduino Uno

Motor Servo
 
Keypad

Diagram Blok:


         


3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

Rangkaian Simulasi :


Prinsip Kerja :

Pada percobaan ini diminta untuk keypad 1 hingga 9 memberikan PWM 0-180 dengan jarak PWM antar key 20. Disini kita menggunakan keypad sebagai inputan dan output berupa motor servo yang dimana seperti yang diketahui motor servo itu bergerak secara presisi berdasakan sudutnya dengan menggunakan input berupa PWM nya. Percobaan kali ini kita akan mengatur sudut nya sesuai yang ada pada kondisi.

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 dari modul

6. Video Demo [Kembali]


7. Soal Analisa [Kembali]

1. Apakah Motor servo dapat berfungsi tanpa PWM? Kenapa hal tersebut bisa jadi?
Jawab : Motor servo dapat berfungsi tanpa PWM, hal ini dikarenakan pada kodingan arduino kita sudah mengatur bahwa motor akan bergerak sekian derajat tanpa perlu adanya fungsi dari PWm

2. Bagaimana cara motor servo dapat bergerak sesuai arah yang ditekan pada keypad, nilai apa yang diberikan oleh keypad pada motor servo?
Jawab : Terdapat kodingan switch case pada arduino dimana berfungsi untuk memilih tindakan yang akan diambil berdasarkan nilai dan suatu ekspresi. ekspresi disini adalah variabel key yang sudah didefinisikan sebagai char 1 sampai 9
Pada coding label case 1-9 adalah label kasus yang sesuai dengan nilai yang mungkin dari variabel key. Setiap key mewakili kode yang akan dieksekusi. Fungsi servoMotor.write() dipanggil untuk menggerakkan motor sesuai dengan yang ditentukan


8. Download File [Kembali]

Download HMTL Klik disini
Download Simulasi Rangkaian Klik disini
Download Video Demo Klik disini
Download Listing Program klik disini
Download Datasheet Arduino klik disini
Download Datasheet Motor Servo klik disini
Download Datasheet Keypad klik disini

Tidak ada komentar:

Posting Komentar

MODUL 4 MIKRO TB

PERANCANGAN SISTEM KONTROL TANAMAN BAWANG BERBASIS MIKROKONTROLLER [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1.Pendahuluan 2. Tujuan ...