TP2 P2K6

 [KEMBALI KE MENU SEBELUMNYA]


Percobaan 2 Kondisi 6

 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 pada percobaan kali ini menggunakan total komponen dengan jumlah 11 buah yaitu Arduino Uno, motor DC, LCD, PCF8574, DIP Switch, Driver L293D, Potensiometer, Baterai, Resistor, power supply, dan Ground.  

   Untuk memicu interupt, DIP Switch yang terhubung ke arduino memicu instruksi untuk menghentikan instruksi utama dan menjalankan instruksi lainnya. Saat terjadi interrupt, penghitungan diulang hingga 50, motor DC berhenti selama tiga detik, dan dua lampu dihidupkan setiap kali terjadinya interrupt

    Arduino Uno berfungsi sebagai pusat kendali untuk rangkaian ini. Dia terhubung dengan motor DC dan menggunakan LCD 16x2 untuk menampilkan informasi dan mengontrol gerakan motor. Namun, untuk mengatasi keterbatasan jumlah pin I/O yang tersedia, diperlukan perantara berupa PCF8574 untuk menghubungkan keduanya. PCF8574 berfungsi sebagai ekspander I/O, memperluas jangkauan pin Arduino sehingga mereka dapat berinteraksi dengan LCD dengan lebih baik. 

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  

Ujian Tengah Semester - Soal 3