Laporan akhir 1 Modul 2 PWM, ADC, dan Interrupt

 


DAFTAR ISI
1. Prosedur
2. Hardware dan Diagram Blok
3. Rangkaian Simulasi dan Prinsip Kerja
4. Flowchart dan Listing Program
5. Video Demo
6. Kondisi
7. Download File

 

1. Prosedur [kembali]

  • Buatlah rangkaian sesuai dengan kondisi yang telah dipilih
  • Buat Program pada software Arduino IDE
  • Masukkan program yang telah dibuat pada software Arduino IDE sebagai library Arduino
  • Jalankan rangkaian, sesuai dengan kondisi yang diinginkan
  • Lihat output pada putaran motor servo dengan menekan keypad

2. Hardware dan Diagram Blok [kembali]
a. Hardware

b. Diagram Blok

3. Rangkaian Simulasi dan Prinsip Kerja [kembali]

a. Rangkaian Simulasi

b. Prinsip Kerja
Pada percobaan ini digunakan keyboard sebagai input dan motor servo sebagai output.

Rangkaian ini bekerja sesuai dengan program yang kita masukkan pada ARDUINO, ketika kita menekan angka 1 pada keyboard maka motor servo akan berada pada posisi 0 derajat, ketika kita menekan angka 2 pada keyboard maka motor servo akan berada pada posisi 0 derajat.

pada posisi 0 derajat.

Posisi 45 derajat ketika kita menekan angka 3 pada keyboard berarti motor servo akan berada pada posisi 90 derajat ketika kita menekan angka 4 pada keyboard maka motor servo akan berada pada posisi 135 derajat ketika kita menekan angka 5 pada keyboard.

motor servo akan berada pada posisi 180 derajat, ketika kita menekan angka 6 pada keyboard maka motor servo akan berada pada posisi 135 derajat, ketika kita menekan angka 7 pada keyboard maka motor servo akan berada pada posisi 135 derajat.

derajat.

Pada posisi 90 derajat, ketika kita menekan angka 8 pada keyboard maka motor servo akan berada pada posisi 45 derajat, dan ketika kita menekan angka 9 pada keyboard maka motor servo akan berada pada posisi 0 derajat.

Ini sesuai dengan program yang kita masukkan di Arduino.

4. Flowchart dan Listing Program [kembali]
a. Flowchart

b. 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;
 }
 }
}

5. Video Demo [kembali]


6. Kondisi [kembali]

Keypad 1 hingga 9 memberikan PWM 0-180 dengan jarak PWM antar key 45

7. Download File [kembali]

Download HTML klik disini
Download Program Arduino klik disini
Download Video Demo klik disini
Download Gambar Hardware klik disini
Download Gambar Simulasi klik disini
Download Datasheet Arduino klik disini
Download Datasheet Keypad klik disini
Download Datasheet Motor Servo klik disini

Tidak ada komentar:

Posting Komentar

 Bahan Presentasi untuk mata kuliah kimia         Oleh : Zhafir Ibnu Tanjung 2010953028     Dosen Pengampu: Darwison...