1.komponen   [kembali]

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. Arduino yang kita gunakan dalam praktikum ini adalah Arduino Uno yang menggunakan chip AVR ATmega 328P. Dalam memprogram Arduino, kita bisa menggunakan komunikasi serial agar Arduino dapat berhubungan dengan komputer ataupun perangkat lain.

LED


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.

Resistor

Resistor adalah komponen dasar elektronika yang umumnya digunakan pada rangkaian elektronika ataupun rangkaian listrik lainnya dengan fungsi utama yaitu menghambat/membatasi jumlah arus input atau arus yang mengalir masuk ke dalam satu rangkaian, dimana kemampuan resistor dalam membatasi arus masuk sesuai dengan spesifikasi resistor tersebut.

Potensiometer



Potensiometer adalah resistor tiga terminal dengan sambungan geser yang membentuk pembagi tegangan dapat disetel. Jika hanya dua terminal yang digunakan (salah satu terminal tetap dan terminal geser), potensiometer berperan sebagai resistor variabel atau Rheostat.

2.RangkaianSimulasi   [kembali]


 Gambar Rangkaian  Percobaan 3



3. Flowchart  [kembali]




Gambar Flowchart Program Arduino Master

Gambar Flowchart Program Arduino Slave





4. Listing Program  [kembali]

//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();

 

}

//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  [kembali]








Video PenjelasanRangkaianPercobaan 

Cara kerja
merupakan komunikasi seial 2 arah pada rangkaian diatas digunakan komponen-komponen seperti 2 buah arduino, potensiometer, LED, resistor dan ground. potensiometer disini berfungsi sebagai input ke master, ketika potensiometer maksimum maka delay waktu idup dan mati lampu makin cepat begitupun sebaliknya. LED sebagai output dari slave.


6.kondisi [kembali]

Percobaan 3 komunikasi I2C

Analisa :

1.  Apakah kita dapat mengirim data sebanyak 9 bit?jelaskan alasannya

Jawab :

Tidak bisa karena I 2C merupakan serial bus dengan orientasi data 8 bit (byte), komunikasi 2 arah, dengan kecepatan transfer data sampai 100Kbit/s pada mode standart dan 3,4 Mbit/s pada mode kecepatan tinggi. rangkaian percobaan 3 memperlihatkan

 

2.   2.Apa pengaruh potensiometer terhadap output (LED)

Jawab:

           Potensiometer berpengaruh pada intensitas menyala-redup pada output lednya,jika tahanan potensiometer diperbesar maka intensitas menyala-redupnya lambat ini dikarenakan tahanan potensiometernya besar,sebaliknya,jika tahanan potensiometer diperkecil maka intensitas menyala-redupnya semakin cepat ini dikarenakan tahanan potensiometer kecil sehingga arus besar mengalir .Namun pada proteus tidak terlalu nampak perubahan intensitasnya,pada saat diaplikasikan pada alat maka akan terlihat perbedaannya jika tahanan pada potensiometer diubah-ubah.

3. Jelaskan prinsip kerja I2C pada rangkaian

Jawab:

Pada rangkaian terdapat dua simulino uno yaitu master dan slave ,ada potensiometer 1k ,led blue dan resistor 220.pada potensiometer 1k terdapat 3 kaki ,kaki pertama dihubungkan ke pin 5V master ,pin kedua dihubungkan ke pin A0 master dan kaki ketiga dihubungkan ke ground.lalu kaki ground master dihubungkan kekaki ground slave .pin A4 master dihubungkan ke pin A4 slave dan pin A5 master dihubungkan ke A5 slave dan pin 13 slave dihubungkan ke resistoe 220 lalu ke led blue dan ke ground.Pada master pertama dibuat library include <Wire.h> dan dibuat #define SLAVE_ADDR 9 lalu dibuat int analogPin = 0 lalu dibuat int val = 0 ,void setup() ,lalu dibuat Wire.begin().setelah itu dibuat void loop dimana fungsi ini dapat dieksekusi secara berulang.lalu dibuat delay(50), val = map(analogRead(analogPin), 0, 1023, 255, 1), Wire.beginTransmission(SLAVE_ADDR),Wire.begin Transmission(SLAVE_ADDR),Wire.write(val) dan dibuat Wire.end Transmission .

Pada slave dibuat library #include <Wire.h> dan #define SLAVE_ADDR 9 lalu dideklarasikan int LED = 13 ,int rd ,int br.lalu dibuat void set up dimana semua kode didalamnya dieksekusi sekali saja. Selanjutnya dibuat pinMode(LED, OUTPUT) yaitu led sebagai output ,lalu dibuat Wire.begin(SLAVE_ADDR) lalu dibuat Wire.onReceive(receiveEvent) , lalu di set Serial.begin(9600); Serial.println ("I2C Slave demo") . selanjutnya dibuat void receiveEvent(),  rd = Wire.read() dan Serial.println(rd)  .lalu dibuat void loop dimana fungsi ini dapat dieksekusi secara berulang ,lalu dibuat delay(50)  , br = map(rd, 1, 255, 100, 2000),  digitalWrite(LED, HIGH) menyatakan led menyala , delay(br)sebagai delaynya ,selanjutnya digital Write(LED, LOW) menyatakan led mati terdapat  delay(br).

Pada rangkaian data akan ditransferkan dalam bentuk message yang terdiri dari kondisi start ,address frame,R/W bit,ACK/NACK bit ,data frame 1 ,data frame 2 dan kondisi stop.pada kondisi start SDA beralih dari logika high ke low sebelum SCL.sedangkan pada kondisi stop saat SDA beralih dari logika low ke high sebelum SCL.saat tahanan pada potensiometer diperbesar maka intensitas led meyala-redup lambat hal ini dikarenakan karena tahanan besar,namun saat potensiometer tahanannya diperkecil maka intensitas nyala redupnya semakin cepat hal ini dikarenakan tahanan kecil.R/W berfungsi untuk menentukan apakah master mengirim data ke master atau meminta data dari slave sedangkan ACK/NACK bit berfungsi sebagai pemberi kabar jika data frame ataupun address frame telah diterima receiver.



File HTML - download
File rangkaian  - download
File video - download
File Library Arduino download
File Datasheet  download







Tidak ada komentar:

Posting Komentar