1.Komponen[KEMBALI]
- LED
LED dapat kita definisikan
sebagai suatu komponen elektronika yang terbuat dari bahan semikonduktor dan
dapat memancarkan cahaya apabila arus listrik melewatinya.
Led (Ligth-Emitting Diode)
memiliki fungsi utama dalam dunia elektronika sebagai indikator atau sinyal
indikator atau lampu indikator.
- Resistor
Resistor adalah komponen
elektronika yang berfungsi untuk menghambat atau membatasi aliran listrik yang
mengalir dalam suatu rangkain elektronika
Cara Baca Resistor:
- Arduino Uno
Arduino Uno adalah board
mikrokontroler berbasis ATmega328 (datasheet). Memiliki 14 pin input dari
output digital dimana 6 pin input
tersebut dapat digunakan sebagai output PWM dan 6 pin input analog, 16 MHz
osilator kristal, koneksi USB, jack power, ICSP header, dan tombol reset. Untuk
mendukung mikrokontroler agar dapat digunakan, cukup hanya menghubungkan Board
Arduino Uno ke komputer dengan menggunakan kabel USB atau listrik dengan AC
yang-ke adaptor-DC atau baterai untuk menjalankannya.
- Button
Push button switch (saklar tombol tekan) adalah perangkat / saklar sederhana yang berfungsi untuk menghubungkan atau memutuskan aliran arus listrik dengan sistem kerja tekan unlock (tidak mengunci). Sistem kerja unlock disini berarti saklar akan bekerja sebagai device penghubung atau pemutus aliran arus listrik saat tombol ditekan, dan saat tombol tidak ditekan (dilepas), maka saklar akan kembali pada kondisi normal.
2.Rangkaian Simulasi[KEMBALI]
Pada rangkaian diatas
digunakan button sebagai input pull up yang terhubung ke pin digital 7 master
arduino. Lalu terdapat led green sebagai output yang terhubung ke pin 13
arduino slave. Apabila button dalam keadaan belum ditekan maka maka button
berlogika high karena sesuai dengan tipe button pull up. Pada master terjadi
pembacaan nilai button lalu akan menuliskan serta mengirimkan nilai tersebut ke
arduino slave melalui pin SDA dari arduino master. Pada arduino slave dibagian
fungsi void receiveEvent data diterima dan dilakukan pembacaan serta penulisan
.lalu jika nilai yang terbaca pada arduino slave bernilai HIGH maka LED akan mati.
Apabila button detekan maka button akan berlogika LOW yang mana pada program
slave nilai yang terbaca itu berlogika selain HIGH yang mana akan mengaktifkan
LED.
3.Flowchart[KEMBALI]
- Master
- Slave
4.Listing Program[KEMBALI]
- Master
//MASTER
#include <Wire.h>
#define MASTER_ADDR 9
#define button 7
void setup() {
Wire.begin();
pinMode(button,INPUT);
}
void loop() {
delay(50);
int nilai = digitalRead(button);
Wire.beginTransmission(MASTER_ADDR);
Wire.write(nilai);
Wire.endTransmission();
}
- Slave
//SLAVE
#include <Wire.h>
#define SLAVE_ADDR 9
int LED = 13;
int rd;
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, LOW);
}
else
{
digitalWrite(LED, HIGH);
}
}
5.Video[KEMBALI]
6.Kondisi[KEMBALI]
Percobaan 3
1. Jelaskan bagaimana cara
menghubungkan rangkaian I2C dengan slave lebih dari satu, dan jelaskan
bagaimana komunikasi antara master dan slavenya.
Jawab:
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.
7.Link Download[KEMBALI]
Tidak ada komentar:
Posting Komentar