2. Rangkaian Simulasi [kembali]
3. Flowchart [kembali]
4. Listing Program [kembali]
A. //MASTER
#include <Wire.h>
#define SLAVE_ADDR 9
int analogPin = 0;
int val = 0;
void setup() {
Wire.begin();
}
void loop() {
delay(50);
val = map(analogRead(analogPin), 0, 1023, 255, 1);
Wire.beginTransmission(SLAVE_ADDR);
Wire.write(val);
Wire.endTransmission();
}
B. //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() {
delay(50);
br = map(rd, 1, 255, 100, 2000);
digitalWrite(LED, HIGH);
delay(br);
digitalWrite(LED, LOW);
delay(br);
}
5. Video Simulasi [kembali]
6. Analisa [kembali]
Soal :
1.Apakah kita dapat mengirim data sebanyak 9 bit? Jelaskan alasannya?
2.Apa pengaruh potensiometer terhadap output (LED)?
3. Jelaskan prinsip kerja I2C pada rangkaian?
Jawab :
1. Berdasarkan percobaan yang telah dilakukan dapat kita ketahui bahwa pada rangkaian I2C master mengirim data sejumlah 8 bit, dimana 1 bit lagi akan dikeluarkan pada slave sebagai tanda bahwa data telah diterima oleh receiver (ACK/NACK), apabila jumlah datanya 9 bit. Pada master akan ditulis 8 bit dan 1 bit oleh slave sebagai sinyal ACK berlogika 0 yang dikeluarkan slave kembali untuk dapat menerima data selanjutnya hingga SDA menerima sinyal NACK berlogika 1 untuk mengakhiri transfer data. Dikarenakan yang 1 bit tadi berlogika 0 maka bisa mengirim data sebanyak 9 bit.
2. Berdasarkan percobaan yang telah dilakukan dapat dilihat pengaruh dari potensiometer yaitu pada intensitas cahaya LED. Apabila nilai dari tahanan yang terukur pada potensiometer kecil, maka delay juga semakin kecil dan makin cepat LED redup. Apabila nilai tahanan yang terukur pada potensiometer besar, maka delay juga besar dan waktu redup LED semakin lama.
3. Komunikasi I2C merupakan komunikasi 2 arah dengan 2 saluran khusus untuk mengirim maupun menerima data. Terdiri 2 saluran. Prinsip kerja data dikirimkan dalam bentuk sheet dan bisa dikirim 2 arah dari master ke slave atau sebaliknya. Pada rangkaian ada 2 arduino yaitu sebagai master dan slave. Komponen selanjutnya ada potensiometer dihubungkan ke pin 5v lalu ground, selanjutnya ada resistor pada output dipasang pada kaki 13 sebelum LED. Selanjutnya untuk menjalankan rangkaian maka dibuat program arduino baik itu pada arduino master dan pada arduino slave (seperti pada listing program diatas). Selanjutnya kita masukan program ke program file arduino keduanya baik master maupun slave, lalu kita run. Data dimasukan ke master lalu master mengirim data ke slave lalu slave akan mengolah data kemudian akan dikeluarkan input ke resistor lalu ke led. Disini potensiometer berfungsi untuk mengatur tahanan. Makin besar tahanan makin redup led. Kita coba pada rangkaian dari 0 persen. Pada rangkaian terlihat perubahan keterangan pada led. Mungkin terjadi kesalahan pada program atau rangkaian. Sebenarnya jika potensio benar pada 0% berarti tahanan kecil LED terang jika makin besar LED redup.
7. Link Download [kembali]
Link HTML Download disini
Link Video Download disini
Link Rangkaian Download disini
Link Program Arduino Master Download disini
Link Program Arduino Slave Download disini
Tidak ada komentar:
Posting Komentar