Selasa, 19 Maret 2024

Laporan Akhir 2 Modul 2 (Percobaan 2)



Modul 2 Percobaan 4
Kontrol Motor Servo dengan PWM

1. Prosedur [Kembali]

  • Rangkai semua komponen 
  • Buat program di aplikasi arduino IDE
  • Setelah selesai masukkan program ke arduino 
  • Jalankan program pada simulasi dan cobakan dengan modul
  • Lihat hasil pada 7-Segment

  • Hardware


  • Diagram Blok


  • Rangkaian 

  • Prinsip Kerja
Servo.h adalah untuk mengontrol motor servo dan Keypad.h untuk mengontrol keypad. 

bagian-bagian program ini diantaranya:

1.Mendefinisikan Variabel:
servoPin: Menentukan pin PWM untuk motor servo.
numRows dan numCols: Menentukan jumlah baris dan kolom pada keypad.
keys: Array karakter untuk menyimpan layout keypad.
rowPins dan colPins: Menentukan pin pada Arduino yang terhubung dengan baris dan kolom keypad.
keypad: Menginisialisasi keypad.

2.Setup:
Program menginisialisasi motor servo.
Menentukan posisi awal motor servo (biasanya 90 derajat).
Mengatur komunikasi serial dengan kecepatan 9600 baud.


3.Loop Utama:
Program memeriksa apakah ada tombol keypad yang ditekan menggunakan fungsi keypad.getKey().
Jika ada tombol yang ditekan (key != NO_KEY), program mencetak tombol tersebut ke Serial Monitor dan melakukan aksi sesuai dengan tombol yang ditekan menggunakan struktur switch-case.

4.Aksi Motor Servo:
Setiap case dalam switch-case mengatur posisi motor servo sesuai dengan tombol yang ditekan pada keypad. Misalnya, jika tombol ‘1’ ditekan, motor servo akan diposisikan pada 0 derajat, jika tombol ‘2’ ditekan, motor servo akan diposisikan pada 45 derajat, dan seterusnya.

5.Loop Berlanjut:
Setelah menjalankan aksi yang sesuai dengan tombol yang ditekan, program kembali ke awal loop untuk terus memonitor input dari keypad dan mengontrol motor servo.


  • Flowchart


  • Listing Program
//M2P4 #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; } } }

6. Kondisi [Kembali]

 Percobaan 4 Kontrol Motor Servo dengan PWM.

7. Download File [Kembali]

- HTML klik disini

- Gambar Hardware  klik disini

- Gambar Simulasi  klik disini

- Video Demo  klik disini

- Listring Program  klik disini















Tidak ada komentar:

Posting Komentar

Entri yang Diunggulkan

  [ MENUJU AKHIR ] [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Pendahuluan 2. Tujuan 3. Alat dan Bahan 4. Dasar Teori 5. Perc...