Laporan Akhir Percobaan 3 M III
Pada percobaan 3 bahan yang digunakan adalah 2 buah arduino uno sebagai mikroprosesor, lalu ada potensio meter, lalu ada beardbord, dan LED sebagai outputannya. Cara kerja dari rangkaian ini, pertama tama kedua arduino di berikan daya dari USB laptop, kemudian outputan dari potensio akan di hubungkan ke kaki pin analog pada arduino. tujuaannya adaha untuk memebrikan delay pada outputan LED. Prinsi kerja komunikasi ini adalah I2C yang mana data yang dikirimkan ajak di selaraskan dengan sinyal Clock. Jadi ketika rangkaian telah berjalan, lalu potensio di gesr maka data yang dikirim akan ter delay karena potensiometer, jadi kedip lampu LED akan lebih lama dan mati lebih lama, jika di putar ke arah sebaliknya maka kedipan LED akan lebih cepat karena delaynya semakin kecil. untuk program master dan Slave pada arduino di tunjukkan oleh program di bawah ini
//GERINANDA
//2010953004
//KEL 11
//MASTER
#include <Wire.h>
#define MASTER_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(MASTER_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);
}
Percobaan 3
1. Analisa apa yang akan terjadi jika master mengirin data angka lebih dari 255 ke slave?
Jawab :
Ketika angka yang dikirim master lebih dari 255 aka slave pada program tidak dapat menerimanaya, karena arduino hanya bisa masimal data 8 bit sehigga untuk data maksimal kalau dimulai perhitungan dari 0 maka sampai 255 dan dan jika dimulai dari 1 angka maksimal yaitu 256. karena pada timing diagram nya yaitu dari D7-D0, total 8 bit. jika lebih maka data tersebut tidak akan di proses oleh arduino karena melebihi kapasitas maksimum.
2. Analisa apa yang akan terjadi jika pin SCL dan SDA diputus?
Jawab :
Pada I2C terdapat 2 saluran SCL(Serial Clock) dan SDA(Serial Data). jika diputus sebelum transfer data maka LED tidak akan menyala, hal ini disebabkan Slave belum menerima data dari master. Namun saat telah terjadi transfer data dari master maka slave dapaat menyimpan data tersebut sehingga LED menyala walaupun saluran SCL dan SDA di putus. namun jika salah satu diputus, misalkan SCL diputus, tidak akan terjadi transfer data karena tidak ada clock pengirim data, dan apa bila SDA yang diputus maka tidak ada data yang akan di transfer, oleh karena itu pada percobaan ini SDA dan SCL harus tetap terhubung.
File HTML : Klik Disini...
Video Rangkaian : Klik Disini...
Program Arduino : Klik Disini...
Library Arduino UNO : Klik Disini...
Data sheet Arduino UNO : Klik Disini...
Data sheet Beardboard : Klik Disini...
Data sheet Jumper : Klik Disini...
Data sheet Potensio : Klik Disini...
Data sheet Resistor : Klik Disini...
Data sheet LED : Klik Disini...
Tidak ada komentar:
Posting Komentar