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:
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.
Pada
program slave dideklarasikan library wire.h lalu didefinisikan button pada A0
dan MASTER_ADDR9, lalu untuk pin 13 digunakan untuk output led. Lalu dideklarasikan nilai variabel rd,
dan br. Lalu
untuk void setup dimana pin mode led sebagi output dan dituliskan fungsi
receive. Dimana
pada voide receive dimana nilai dari wire dan dideklarasikan nilai rd. dimana
untuk void loop, apabila nilai rd high maka nilai led high, dan jika bernilai else maka led bernilai low.
Untuk
rangkaian dimana input dari A0 berupa nilai dari high dari vcc, dan nilai low
dari ground. lalu nilai dari master ditransimisikan ke slave dan dari slave
akan memproses perintah dari master, yang mana akan dikeluarkan dalam bentuk
output pada led, yang mana apabila push button ditekan maka led padam,
namun jika dilepaskan maka led akan menyala.
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);
}
}
6. Kondisi [kembali]
Percobaan 3 Kondisi 9: Ganti potensiometer dengan push button, ketika push button ditekan maka LED padam. Ketika push button dilepas LED menyala
Analisa
1. Jelaskan bagaimana cara menghubungkan rangkaian I2C dengan slave lebih dari satu, dan jelaskan bagaimana komunikasi antar master dan slavenya
I2C
merupakan komunikasi serial yang singkronous dengan menggunakan jalur transfer
data half duplex yang dirancang terdiri dari dua pin (SCL & SDA). Dari
gambar diatas dapat dilihat cara menghubungkan I2C dengan n slave yaitu pin SCL pada master dihubungkan secara
parallel masing-masing ke pin SCL slave. Sedangkan pin SDA master juga dihubungkan
dengan parallel ke masing-masing slave. Pada koumunikasi antara master dan
slave I2C master mengontrol jalur sinyal SCL(Shared Clock) dan SDA (Shared
Data) untuk membaca atau menulis data dari perangkat. Untuk mengirimkan data
sinyal clock di bangkitkan oleh SCL yang sekaligus memulai sinyal start dimana
sinyal start terjadi perubahan logika HIGH menuju LOW lalu data dikirimkan
melalui SDA sampai terjadi sinyal stop dimana perubahan logika LOW menuju
HIGH.
File Rangkaian
Video Simulasi Rangkaian
Listing Program Master
Listing Program Slave
Flowchart
Library Arduino UNO
Datasheet Arduino UNO
HTML
Tidak ada komentar:
Posting Komentar