Laporan Akhir 2

 LA 2: Percobaan 5



1. Prosedur 
[Kembali]

1. Rangkai rangkaian pada alat sesuai dengan modul.
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 rangkaian.

2. Hardware dan Diagram Blok [Kembali]

Hardware :

1. motor dc
2. modul motor driver L298D
3. arduino
4. potensio
5. dotmatrix
6. sensor infrared



Diagram Blok:

                



3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

Rangkaian Simulasi :





Prinsip Kerja :

Prinsip kerja dari rangkaian ini adalah menggunakan IR sensor dan potensio sebagai input lalu motor DC dan dot matrix sebagai output nya. IR sensor dihubungkan ke arduino sebagai triger dari enable pada motor driver L298D dimana memiliki fungsi sebagai aktivasi nya, kemudian potensio meter dihubungkan dengan arduino sebagai triger tegangan. pada pemrograman sudah diatur pada ADC tertentu akan mentriger motor dan dot matrix. salah satu contohnya saat potensio diatur tegangan sebesar 1,25 V atau dalam ADC dengan nilai 256, maka akan di triger motor DC bergerak ke kanan dan dot matrix memberi panah ke kiri.


4. Flowchart dan Listing Program [Kembali]

Flowchart :




Listing Program :


#include <LedControl.h>
 // Inisialisasi modul MAX7219 
 LedControl lc = LedControl(5,6,7,1);
 // Pin DIN, CLK, LOAD (CS) dihubungkan ke Arduino 
 byte patterns[8] = {0, 0, 0, 0, 0, 0, 0, 0}; // Pola LED untuk ditampilkan 
 // Pengaturan pin untuk dipswitch dan motor 
 const int potensio = A0; 
 const int infrared = 8; 
 const int enable = 4; 
 const int motor1Pin1 = 2; 
 const int motor1Pin2 = 3; 

 void setup() 
 // Set up dot matrix module 
 lc.shutdown(0, false); // Mengaktifkan modul
  lc.setIntensity(0, 8); // Mengatur kecerahan (0-15) 
 lc.clearDisplay(0); // Membersihkan tampilan 
 // Mengatur pin-pin sebagai output untuk motor 
 pinMode(enable, OUTPUT); 
 pinMode(infrared, INPUT); 
 pinMode(motor1Pin1, OUTPUT); 
 pinMode(motor1Pin2, OUTPUT); 
 Serial.begin(9600); 
 } 
 void loop() 
 // Membaca nilai dari lm35 
 float adc = analogRead(potensio); 
 Serial.println(adc); 
 // Membaca nilai dari infrared 
 int infrarednya = digitalRead(infrared); 
 // Mengendalikan arah motor berdasarkan nilai dipswitch 
 if(infrarednya == HIGH)
{
 digitalWrite(enable, HIGH);
 if (adc <= 256) 
{
 // Maju 
 digitalWrite(motor1Pin1, HIGH); 
 digitalWrite(motor1Pin2, LOW); 
 displayArrowRight(); 
 } 
 else if (adc >= 768) 
 // Mundur 
 digitalWrite(motor1Pin1, LOW);
 digitalWrite(motor1Pin2, HIGH);
 displayArrowLeft(); 
 } 
 else
 {
 // Berhenti 
 digitalWrite(motor1Pin1, LOW); 
 digitalWrite(motor1Pin2, LOW);
 displayLetterX(); 
 }
 } 
 else
{
 digitalWrite(enable, LOW); 
 } 
 } 
 // Fungsi untuk menampilkan panah pada dot matrix 
 void displayArrow(byte pattern) 
 for (int row = 0; row < 8; row++) 
{
 lc.setRow(0, row, pattern);
 }
 delay(500); // Mengatur kecepatan animasi
 lc.clearDisplay(0); 
 delay(500); // Jeda sebelum membaca input lagi 
 }
 // Menampilkan panah ke kanan 
 void displayArrowRight() 
 byte arrowRight[8] = 
{ B00011000, B00001100, B00000110, B11111111, B00000110, B00001100, B00011000, B00000000}; 
for (int row = 0; row < 8; row++) 
 lc.setRow(0, row, arrowRight[row]); 
 } 
 } // Menampilkan panah ke kiri 
 void displayArrowLeft() { byte arrowLeft[8] = 
{ B00011000, B00110000, B01100000, B11111111, B01100000, B00110000, B00011000, B00000000 };
 for (int row = 0; row < 8; row++) 
 lc.setRow(0, row, arrowLeft[row]); 
 } 
 }
 // Menampilkan huruf "X" 
 void displayLetterX() { byte letterX[8] = { B10000001, B01000010, B00100100, B00011000, B00011000, B00100100,B01000010, B10000001 };
 for (int row = 0; row < 8; row++) 
 lc.setRow(0, row, letterX[row]); 
 } 
 }

5. Kondisi [Kembali]

Percobaan 5 : Kontrol putaran motor DC

6. Video Demo [Kembali]




7. Soal Analisa [Kembali]

1. Bandingkan rangkaian TP dengan rangkaian praktikum
2. kenapa saat percobaan sensor infrared justru memberikan kondisi yang berbeda?
3. Bagaimana cara potensio mengubah nilai ADC yang masuk ke arduino?


8. Download File [Kembali]

File Rangkaian klik disini
Video Percobaan klik disini
Listing Program klik disini
Datasheet Arduino klik disini
Datasheet Motor DC klik disini
Datasheet IR sensor klik disini
Datasheet motor driver klik disini
Datasheet dot matrix klik disini

Tidak ada komentar:

Posting Komentar

Among Us - Crewmates

Modul 3 : Communication

[KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Tujuan 2. Alat dan Bahan 3. Dasar Teori 4. Percobaan Percobaan A. Tugas Pendahuluan 1 B. Tugas...