Dark Kage Is Valid HTML5
Follow

Search This Blog

Link Teman

Chat

INTERUPSI EKSTERNAL

Assalamualaikum wr.wb

Hm, kali ini saya akan memposting tentang interupsi Internal ada beberapa mode dalam intterpusi kali ini saya akan mensimulasikannya dalam ISIS

A.

Interupsi Eksternal d engan Mode Falling

Pada percobaan kali ini akan dibuat program untuk memahami penggunaan interupsi eksternal den gan mode falling. Dua buah switch akan dih ubungkan pada pin interupsi eksternal 0 (INT0) dan interupsi eksternal 1 (INT1). Pen ekanan switch akan menginterupsi program utama (yang berada pada fungsi loop) d an memaksa untuk menjalankan rutin interupsi yang telah dideskripsikan pada program.


berikut adalah step2 nya : 

  • Tuliskan Syntax dbawah ini pada software Arduino , lalu di compile : 
#include <LiquidCrystal.h>
LiquidCrystal lcd(A0,A1,A2,A3,A4,A5);
unsigned int countLoop = 0;
void setup() {
  lcd.begin(16,2);
  lcd.clear();
  attachInterrupt(0, rutinInterupsi0, FALLING);
  attachInterrupt(1, rutinInterupsi1, FALLING);
}

void loop() {
  lcd.setCursor(0,0); lcd.print("Main Program");
  lcd.setCursor(0,1); lcd.print("Count Loop"); lcd.print(countLoop);
  countLoop++;
  delay(1000);
}

void rutinInterupsi0() {
  lcd.setCursor(0,0); lcd.print("Int0 Program");
  lcd.setCursor(0,1); lcd.print("Intterupt INT0");
  delay(2000);
}

void rutinInterupsi1() {
  lcd.setCursor(0,0); lcd.print("Int1 Program");
  lcd.setCursor(0,1); lcd.print("Interrupt INT1");
  delay(2000);
}
 

  • setelah itu rangkai Komponen ini pada ISIS 

  • Setelah itu copy baris kedua dari bawah pada software arduino dan pastekan ke dalam simulasi ISIS , Apabila percobaan berhasil maka akan muncul sperti dibawah ini 


 Kondisi Awal (high)

saat switch ditekan


B.
4.2  Interupsi Eksternal d engan Mode Rising

Dua buah switch akan dihubungkan pada pin INT0 dan I NT1 sama seperti Percobaan diatas Peneka nan switch akan menginterupsi program utama (yang berada pada fungsi loop) da n memaksa untuk menjalankan rutin in terupsi yang telah dideskripsikan pada program. Pada Percobaan mode interupsi yan g digunakan adalah rising.



  • Tuliskan syntax dibawah ini pada program arduino kamu
#include <LiquidCrystal.h>
LiquidCrystal lcd(A0,A1,A2,A3,A4,A5);
unsigned int countLoop = 0;
void setup() {
  lcd.begin(16,2);
  lcd.clear();
  attachInterrupt(0, rutinInterupsi0, RISING);
  attachInterrupt(1, rutinInterupsi1, RISING);
}

void loop() {
  lcd.setCursor(0,0); lcd.print("Main Program");
  lcd.setCursor(0,1); lcd.print("Count Loop"); lcd.print(countLoop);
  countLoop++;
  delay(1000);
}

void rutinInterupsi0() {
  lcd.setCursor(0,0); lcd.print("Int0 Program");
  lcd.setCursor(0,1); lcd.print("Intterupt INT0");
  delay(2000);
}

void rutinInterupsi1() {
  lcd.setCursor(0,0); lcd.print("Int1 Program");
  lcd.setCursor(0,1); lcd.print("Interrupt INT1");
  delay(2000);

  • Rangkailah komponen pada simulasi ISIS


  • Apabila simulasi telah berhasil maka akan tampak seperti gambar dibawah ini : 






C.

Interupsi Eksternal d engan Mode Any Change

Pada Percobaan mode interupsi yang digunakan adalah any change. Dua buah switch akan dihubungkan pada pin INT0 dan INT1. Penekanan switch akan membuat program utama pada fungsi loop terhenti dan mengeksekusi rutin int erupsi.


  • Masukan syntax dbawah ini pada program arduino anda 

#include <LiquidCrystal.h>
LiquidCrystal lcd(A0,A1,A2,A3,A4,A5);
unsigned int countLoop = 0;
void setup() {
  lcd.begin(16,2);
  lcd.clear();
  attachInterrupt(0, rutinInterupsi0, CHANGE);
  attachInterrupt(1, rutinInterupsi1, CHANGE);
}

void loop() {
  lcd.setCursor(0,0); lcd.print("Main Program");
  lcd.setCursor(0,1); lcd.print("Count Loop"); lcd.print(countLoop);
  countLoop++;
  delay(1000);
}

void rutinInterupsi0() {
  lcd.setCursor(0,0); lcd.print("Int0 Program");
  lcd.setCursor(0,1); lcd.print("Intterupt INT0");
  delay(2000);
}

void rutinInterupsi1() {
  lcd.setCursor(0,0); lcd.print("Int1 Program");
  lcd.setCursor(0,1); lcd.print("Interrupt INT1");
  delay(2000);
}


  • Kemudian rangkailah program pada simulasi ISIS 



  • Setelah itu compile dan satukan program arduino dan simulasi isis jika sudah berhasil maka akan tampak seperti gambar dibawah ini : 












PERIPERAL MASUKAN ANALOG

Assalamualaikum wr.wb

Yooo , pada post sebelumnya saya telah memposting tentang Periperal masukan Digital tentunya dengan simulasi Pada ISIS krna gak mungkin toh ane bawa PB , arduino dan peralatan lainnya kedalam blog ini soalnya ane kagak pnya -_- , sekarang saya akan memposting tentang periperal Masukan Analog berikut Tahap-tahap praktikum yang telah kami lakukan sebelumnya :D

A.Analog Input dengan Tegangan Refrensi Internal (1,1 Volt) 

Pada percobaan kali ini akan dibuat program untuk mengkonversi nilai tegangan analog dan potensiometer menjadi nilai digital. Data hasil konversi akan ditampilkan pada LCD 2x16. Tegangan refrensi ADC yang digunakan adalah tegangan refrensi internal yang besarnya adalah 1,1 Volt.
 

  • Pertama Buka Software Arduino pada PC anda lalu masukan Syntax dibawah ini : #include <LiquidCrystal.h>
    LiquidCrystal lcd(2,3,4,5,6,7);
    void setup() {
    lcd.begin(16,2);
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("ADC Example on A0");
    analogReference(INTERNAL);
    }
    void loop() {
    unsigned int dataADC = analogRead(A0);
    lcd.setCursor(0,1);
    lcd.print("Value = ");
    lcd.print(dataADC);
    delay(500);
    }
  • Perhatikan Gambar berikut, setelah di masukan lalu kita compile 
 
Gambar 1.1
  • Setelah Di compile , lalu kita susun komponen pada ISIS (seperti Biasa) , perhatikan Gambar dibawah ini 


 






  • Setelah Kita susun komponennnya , kemudian kita satukan program pada arduino dengan simulasi ISIS (Perhatikan Gambar)



  •  Kemudian Kita Tekan Tombol Play pada Simulasi ISIS .

    B. Tegangan Refrensi VCC
    Pada percobaan kali ini akan dibuat program seperti diatas. Pada Percobaan ini tegangan refrensi ADC yang digunakan adalah tegangan VCC apda mikrokontroler.
    Prosedur :


    • Gantilah Syntax nya dengan Syntax dibawah ini : 
     
    #include <LiquidCrystal.h>
    LiquidCrystal lcd(2,3,4,5,6,7);
    void setup() {
    lcd.begin(16,2);
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("ADC Example on A0");
    analogReference(DEFAULT);
    }
    void loop() {
    unsigned int dataADC = analogRead(A0);
    lcd.setCursor(0,1);
    lcd.print("Value = ");
    lcd.print(dataADC);
    delay(500);
    }
 
 
  • Lalu  Hasilnya akan terlihat seperti Gambar dibawah ini :




C. Analog Input dengan Tegangan Refrensi External


Pada percobaan kali ini akan dibuat program seperti pada Percobaan A dan Percobaan B Tegangan refrensi ADC yang digunakan adalah tegangan refrensi eksternal yaitu tegangan pada pinAREF. Pada percobaan kali ini besar tegangan pada pin AREF akan diset sebesar 4 volt. Sehingga dapat dikatakan bahwa besarnya tegangan refrensi yang digunakan adalah 4 volt.

  • Pertama2, Tuliskan Syntax dibawah ini pada Program Arduino (perhatikan Gambar) 
#include <LiquidCrystal.h>
LiquidCrystal lcd(2,3,4,5,6,7);
void setup() {
lcd.begin(16,2);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("ADC Example on A0");
analogReference(EXTERNAL);
}
void loop() {
unsigned int dataADC = analogRead(A0);
lcd.setCursor(0,1);
lcd.print("Value = ");
lcd.print(dataADC);
delay(500);
}

 
  • Stelah itu Kita susun Komponen Pada ISIS dan Kemudian kita satukan program pada software arduino dan maka hasilnya terlihat pada Gambar \







D.Analog Comparator 
Pada Percobaan ini akan dibuat program untuk mengakses fitur analog komparator pada mikrokontroler. Pada percobaan kali ini dua buat input analog akan dihubungkan ke input pin komparator yaitu AIN0 (pin 6) dan AIN1 (pin 7). Output analog komparator akan ditampilkan pada LCD.

  • Masukkan Syntax berikut kedalam program Arduino , lalu compile 

 #include <LiquidCrystal.h>
LiquidCrystal lcd(A0,A1,A2,A3,A4,A5);
boolean comparatorOutput;

ISR (ANALOG_COMP_vect) {
comparatorOutput = true;
}

void setup() {
ADCSRB = 0;
ACSR = _BV(ACI) | _BV(ACIE) | _BV (ACIS1);
lcd.begin(16,2);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Analog Comparator");
}

void loop() {
if (comparatorOutput==true) {
lcd.setCursor(0,1);
lcd.print("Comparator High");
comparatorOutput = false;
}
else {
lcd.setCursor(0,1);
lcd.print("Comparator Low ");
}
}

  • Rangkailah gambar berikut pada ISIS , perhatikan Gambar 





  • Hasilnya