Laporan Akhir 3





    a. Arduino

        Arduino adalah kit elektronik atau papan rangkaian elektronik open source yang di dalamnya terdapat komponen utama yaitu sebuah chip mikrokontroler dengan jenis AVR dari perusahaan Atmel. 


    b. LED (Light Emitting Diode)

Light Emitting Diode atau sering disingkat dengan LED adalah komponen elektronika yang dapat memancarkan  cahaya monokromatik ketika diberikan tegangan maju. LED merupakan keluarga Dioda yang terbuat dari bahan semikonduktor. Warna-warna Cahaya yang dipancarkan oleh LED tergantung pada jenis bahan semikonduktor yang dipergunakannya. 



    c. Push Button

Push Button adalah saklar yang berupa tombol dan berfungsi sebagai pemutus atau penyambung arus listrik dari sumber arus ke beban listrik. Push button memiliki kontak NC (normally close) dan NO (normally open). Prinsip kerja push button adalah pemutus dan penyambung aliran listrik. Namun dalam hal ini, ia tak bersifat mengunci. Jadi ia akan kembali ke posisi semua saat selesai ditekan. Saat push button ditekan, ia menjadi bernilai HIGH dan akan menghantarkan arus listrik. Sedangkan apabila dilepas, maka ia bernilai LOW dan memutus arus listrik.



Prinsip kerja:
Listing program diinputkan ke dalam arduiono. Pada Program Master dideklarasikan library wire.h lalu didefinisikan button pada A0 dan MASTER_ADDR9, lalu pada bagian void setup dideklarasikan fungsi wire dan pin mode untuk button yang berupa input, pada void loop diberi delay sebesar 50ms lalu dibuat fungsi untuk membaca nilai dari BUTTON, lalu nilai ditransmisikan melalui master ADDR yang mana berisi status dari button. Ketika rangkaian dijalankan tegangan mengalir ke resistor dan pin digital A0. pin A4 dan A5 saling terhubung antara kedua arduino. Ketika button dilepas LED akan menyala. Kemudian saat button ditekan, maka LED mati.




Master:

#include <Wire.h>

#define BUTTON A0

#define MASTER_ADDR 9

 

void setup(){

  Wire.begin();

  pinMode(BUTTON, INPUT);

}

 

void loop(){

  delay(50);

  int button_status = digitalRead(BUTTON);

  Wire.beginTransmission(MASTER_ADDR);

  Wire.write(button_status);

  Wire.endTransmission();

}

 

Slave:

#include <Wire.h>

#define SLAVE_ADDR 9

 

int LED = 13;

int rd;

int br;

 

void setup(){

  pinMode(LED, OUTPUT);

  Wire.begin(SLAVE_ADDR);

  Wire.onReceive(receiveEvent);

 

  Serial.begin(9600);

  Serial.println("I2C Slave demo");

}

 

void receiveEvent(){

  rd = Wire.read();

  Serial.println(rd);

}

 

void loop(){ 

  if(rd == HIGH){

    digitalWrite(LED, HIGH);

    delay(100);

  }else{

    digitalWrite(LED, LOW);

    delay(100);

  }



    Percobaan 3 Kondisi 9: Ganti potensiometer dengan push button, ketika push button ditekan maka LED padam. Ketika push button dilepas LED menyala

Analisa dan pembahasan

1. Jelaskan bagaimana cara menghubungkan rangkaian I2C dengan slave lebih dari satu, dan jelaskan bagaimana komunikasi antara master dan slavenya!

Jawab:

Kita harus mengubah rangkaian dan listing programnya untuk slave lebih dari satu. Jika slave bertambah, dua pin master harus terhubung ke 2 pin pada tiap-tiap slave. Misalkan slave terdapat 3 buah, maka dua pin master terhubung langsung ke dua pin tiap-tiap slave tersebut. Total pada satu pin master ada 3 cabang. Master member alamat yang unik pada tiap-tiap slave. Satu slave memiliki alamat yang berbeda dengan slave lainnya sehingga master dapat mengatur slave mana yang akan diaktifkan. Program pada master dibuat program yang menginisialisasi alamat masing-masing slave. 

7. Link Download [Kembali]

Video Rangkaian-download

File Rangkaian-download

Listing Program Master-download

Listing Program Slave-download

Datasheet-download

Library-download


Tidak ada komentar:

Posting Komentar