F Renaldi Kapri Utama (2110957003) : Laporan Akhir 1

Laporan Akhir 1




Percobaan 4

Kontrol Motor Servo dengan PWM


1.  Prosedur [Kembali]
  1. Rangkai komponen sesuai percobaan dan kondisi yang dipilih.
    Gambar1. Contoh Rangkaian
  2. Buat program menggunakan Arduino IDE.
  3. Compile program yang telah dibuat lalu Upload ke dalam Arduino Uno.
  4. Uji coba program pada rangkaian percobaan sesuai dengan kondisi yang diinginkan.
  5. Selesai


a) Arduino 

Gambar 2. Arduino

b) Keypad 
Gambar 3. Keypad

c) Motor Servo
Gambar 4. Motor Servo


=> Rangkaian :

Gambar 5. Rangkaian Simulasi


=> Prinsip Kerja :

Dalam percobaan 4 yang telah dilakukan, Kami memakai keypad yang difungsikan sebagai alat masukan(inputnya), sementara motor servo bertindak sebagai hasil keluaran(outputnya). Proses dimulai ketika Arduino terus-menerus melakukan pemindaian dengan mengirimkan sinyal listrik. Saat tombol pada keypad ditekan, mikrokontroler akan mengidentifikasi tombol yang aktif. Data masukan yang diterima oleh Arduino akan diolah berdasarkan program Arduino IDE yang telah dimuat. Hasilnya adalah gerakan sudut yang signifikan dari motor servo, yang besar sudutnya ditentukan oleh perangkat lunak yang berjalan(Arduino IDE), nah untuk sudutny contoh programnya (
// Perform actions based on the key pressed
switch (key) {
case '1':
// Move servo to position 0 degrees
servoMotor.write(0);
break;
case '2':
// Move servo to position 45 degrees
servoMotor.write(45);
break;
case '3':
// Move servo to position 90 degrees
servoMotor.write(90);
break;
case '4':
// Move servo to position 135 degrees
servoMotor.write(135);
break;
case '5':
// Move servo to position 180 degrees
servoMotor.write(180);
break;
case '6':
// Move servo to position 135 degrees
servoMotor.write(135);
break;
case '7':
// Move servo to position 90 degrees
servoMotor.write(90);
break;
case '8':
// Move servo to position 45 degrees
servoMotor.write(45);
break;
case '9':
// Move servo to position 0 degrees
servoMotor.write(0);
break;
default:
break;).
 

=> Flowchart :

Gambar 6. 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(0);
break;
case '2':
// Move servo to position 45 degrees
servoMotor.write(45);
break;
case '3':
// Move servo to position 90 degrees
servoMotor.write(90);
break;
case '4':
// Move servo to position 135 degrees
servoMotor.write(135);
break;
case '5':
// Move servo to position 180 degrees
servoMotor.write(180);
break;
case '6':
// Move servo to position 135 degrees
servoMotor.write(135);
break;
case '7':
// Move servo to position 90 degrees
servoMotor.write(90);
break;
case '8':
// Move servo to position 45 degrees
servoMotor.write(45);
break;
case '9':
// Move servo to position 0 degrees
servoMotor.write(0);
break;
default:
break;
        }
    }
}


Modul 2 Percobaan 4 ( Kontrol Motor Servo dengan PWM + keypad )


Video 1. Penjelasan Percobaan


Gambar 7. Analisa

8. Download File [Kembali]
a. HTML                            [klik disini]
b. Gambar Rangkaian        [klik disini]
c. Video Percobaan            [klik disini]
d. Listing Program             [klik disini]
e. Datasheet Arduino         [klik disini]
f. Datasheet Keypad          [klik disini]
g. Datasheet  Motor servo  [klik disini]

Tidak ada komentar:

Posting Komentar