Minggu, 24 Maret 2024

TP-2 MODUL 2

 



Percobaan 2

 Interrupt Arduino


1. Foto Hardware dan Diagram Blok [Kembali]

        1. Arduino Uno


        2. LCD




        3. IC PCF8574

        

 

      4. DIP Switch

 

      5. L293D
 
      6. Motor DC
   
      7. Potensiomotor
   

 

      8. Baterai


        9. Resistor

       10. Power Supply


     11. Ground

Diagram Blok:



2. Prosedur Percobaan  [Kembali]

Rangkai semua komponen 
+ buat program di aplikasi arduino IDE
+ setelah selesai masukkan program ke arduino 
+ jalankan program pada simulasi dan cobakan dengan modul





Prinsip Kerja

    Rangkaian ini menggunakan komponen antara lain yaitu Arduino Uno, motor DC, LCD, PCF8574, DIP Switch, Driver L293D, Potensiometer, Baterai, Resistor, power supply, dan Ground.  

    Inputan pada rangkaian ini yaitu DIP Switch yang terhubung ke arduino digunakan untuk memicu interupt (intruksi untuk menghentikan instruksi utama dan menjalankan instruksi lainnya). saat terjadinya interupt maka counting diulang dari 50 dan motor DC berhenti 3 detik dan 2 led hidup setiap kali dilakukan interupt. 

    Pada Arduino juga terhubung LCD 16X2 dan motor DC yang digunakan untuk menampilkan informasi dan mengontrol gerakan motor. karena keterbatasan jumlah pin I/O yang dimiliki, perantara berupa PCF8574 dibutuhkan untuk menghubungkan keduanya. PCF8574 bertindak sebagai ekspander I/O, memperluas jangkauan pin Arduino sehingga dapat berinteraksi dengan LCD secara efisien. Lalu pada motor terdapat  motor driver (L293D) untuk mengirimkan sinyal dari arduino uno ke motor DC. Selain LCD dan Motor DC, LED juga merupakan output dari rangkaian percobaan tersebut. 

4. Flowchart dan Listing Program [Kembali]




Listing Program:


#include<LiquidCrystal_I2C.h> 
#define LED1 3 //pin 13 bernama LED 
#define tombol 2 //pin 2 (pin interrupt) bernama tombol 
#define LED2 4 
#define front 12
#define back 13
 

static int count = 0; 
unsigned long previousMillis = 0; // variabel untuk menyimpan waktu terakhir motor berjalan atau berhenti
const unsigned long motorInterval = 20000; // interval total waktu untuk motor (5 detik + 3 detik + 5 detik + 7 detik = 20 detik) 
LiquidCrystal_I2C lcd(0x27, 20, 4); 
 void tombol_ditekan() 
digitalWrite(LED1,HIGH); 
digitalWrite(LED2,HIGH); 
//delay(1000);
digitalWrite(front, LOW);
digitalWrite(back, LOW); 
delay(3000);
count = 0; 

 
void setup() { 
  lcd.init(); 
  lcd.backlight(); 
  pinMode(LED1,OUTPUT);
  pinMode(LED2,OUTPUT);
  pinMode(front,OUTPUT);
  pinMode(back,OUTPUT); 
  pinMode(tombol,INPUT); 
  attachInterrupt(digitalPinToInterrupt(2),tombol_ditekan, FALLING); //pin 2 (interrupt 0) digunakan sebagai interrupt eksternal 

void loop() { //Main Program
  unsigned long currentMillis = millis();
  unsigned long elapsedMillis = currentMillis - previousMillis;
 if (elapsedMillis < 5000) { // Motor berputar ke kanan selama 5 detik
    digitalWrite(front, HIGH);
    digitalWrite(back, LOW);
  } else if (elapsedMillis < 8000) { // Motor mati selama 3 detik
    digitalWrite(front, LOW);
    digitalWrite(back, LOW);
  } else if (elapsedMillis < 13000) { // Motor berputar ke kiri selama 5 detik
    digitalWrite(front, LOW);
    digitalWrite(back, HIGH);
  } else if (elapsedMillis < 20000) { // Motor mati selama 7 detik
    digitalWrite(front, LOW);
    digitalWrite(back, LOW);
  }else {
    digitalWrite(front, HIGH);
    digitalWrite(back,  LOW);
  }
 
int nilai;
nilai = 50+count;
digitalWrite(LED1,LOW); 
digitalWrite(LED2,LOW);
  lcd.setCursor(0,0); 
  lcd.print("Count:");  
  lcd.setCursor(0,1); 
  lcd.print(nilai);
  count --  ;
  
  // menambahkan integer count dengan angka 1 
  if (nilai <= 00){
  count =0;
}
  delay(1000);


}


5. Kondisi [Kembali]

    Pada kondisi 6 dari percobaan 2, Motor ke kanan  5 detik lalu mati 3 detik berputar ke kiri 5 detik dan mati 7 detik ,LCD menampilkan counting dari 50 sampai 0, interrupt maka counting diulang dari 50 dan motor DC berhenti 3 detik dan 2 led hidup setiap kali dilakukan interrupt


᭒ HTML↠ klik disini
᭒ Aplikasi↠ klik disini
᭒ Video Percobaan↠ klik disini

  ᭒ Program↠ klik disini

᭒ Datasheet Arduino↠ klik disini

᭒ Datasheet Potensiometer↠ klik disini

᭒ Datasheet LCD↠ klik disini

᭒ Datasheet DIP Switch↠ klik disini

᭒ Datasheet L293D↠ klik disini

᭒ Datasheet Motor DC↠ klik disini

᭒ Datasheet PCF8574↠ klik disini  


Tidak ada komentar:

Posting Komentar

MODUL 4

Smart Parking Area [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Pendahuluan 2. Tujuan 3. Alat dan Bahan 4. Dasar Teori 5. ...