Percobaan 2

 Interrupt Arduino


1. Foto Hardware dan Diagram Blok [Kembali]

        1. Arduino Uno




        2. LCD



      3. DIP Switch



      4. LED

 

      5. Buzzer

   




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, LED, LCD, DIP Switch, dan Buzzer.  
    Prinsip kerja dari percobaan ini adalah ketika rangkaian ini dijalankan, arduino akan terus menghitung angka (Countdown), menyalakan LED dan buzzer, angka tersebut akan terus berkurang dari 100-0 dan ditampilkan pada LCD. perhitungan angka ini akan terus -1 hingga diberikan interupt, dimana interupt pada rangkaian ini digunakan pada pin 2. ketika pin interupt atau pin 2 mengalami kondisi falling (perubahan logika dari logika 1 ke logika 0), maka interupt akan terjadi. 
    Interupt yang terjadi ialah mengulang angka yang dihitung, mematikan LED dan buzzer, dikarenakan interupt hanya terjadi ketika kondisi Falling, maka program akan kembali menghitung pada angka sebelum terajadinya interrupt dan menyalakan LED serta buzzer. Kondisi interrupt akan diulang lagi hingga pin interupt/pin 2 mengalami kondisi Falling kembali.

4. Flowchart dan Listing Program [Kembali]

http://www.plantuml.com/plantuml/png/JO-nZjim44Jx_Ohj8dLEIgbnOXc10LTEcbG1BQwiXQXTWLp2iOFxzxkJBDyr13Z3uRpP9dFHyXZW2pRKiH2ctasK80qiaujkn5R5ix4A_WT4n1-k7IvHi_YT1eruv4jlVoW4lIw-HaznyHeNXvyQFCb9FRp0HyrS3Ci9rK7Os0M-4nvtJGtLBpASM71KJ-dj_jtCjJso6CMO9wi18ataRAwiVkSeg8B7VLD_LheEp_b-f_XG6qvJS3TiDOlDWTqQE4WRQIInnLm3zFxyAoPgLNpzACLhpu6mi9Yf1E0EYyDAXYep-RSIhIV1uaQfN3xR_wCs6w7fUDRmrxFHuAG62ecm42s1n7C7yAHV1ZtdhLkg4oLwWgwGcyq3CzK0oNI2BOdFOtW5




Listing Program:


#include <LiquidCrystal_I2C.h> #define LED 13 // pin 13 bernama LED #define tombol 2 // pin 2 (pin interrupt) bernama tombol #define buzzer 11 volatile byte led_nyala = LOW; // kondisi mula-mula LED mati static int count = 0; volatile byte buzzer_nyala = LOW; LiquidCrystal_I2C lcd(0x27, 20, 4); void setup() { lcd.init(); lcd.backlight(); pinMode(LED, OUTPUT); pinMode(tombol, INPUT); attachInterrupt(digitalPinToInterrupt(2), tombol_ditekan, FALLING); // pin 2 (interrupt 0) digunakan sebagai interrupt eksternal } void loop() { // Main Program digitalWrite(LED, HIGH); digitalWrite(buzzer, LOW); lcd.setCursor(0, 0); lcd.print("Count:"); lcd.setCursor(0, 1); lcd.print(count); count += 1; // menambahkan integer count dengan angka 1 delay(1000); } // membuat fungsi bernama tombol_ditekan, fungsi ini (ISR) dieksekusi secara otomatis setelah Arduino memperoleh sinyal interrupt di pin 2 void tombol_ditekan() { digitalWrite(LED, LOW); digitalWrite(buzzer, HIGH); count = 0; delay(100000); }


5. Kondisi [Kembali]

    Pada kondisi 2 dari percobaan 2, Motor ke kanan,LCD menampilkan counting dari 100 sampai 0, interrupt maka motor DC berhenti 4 detik.



᭒ HTML↠ klik disini

Rangkaian ↠ klik disini

᭒ Video Percobaan↠ klik disini

᭒ Program↠ klik disini

᭒ Datasheet Arduino↠ klik disini

᭒ Datasheet LCD↠ klik disini

᭒ Datasheet DIP Switch↠ klik disini

᭒ Datasheet LED↠ klik disini

᭒ Datasheet Buzzer ↠ klik disini

    










Komentar

Postingan populer dari blog ini