Laporan Akhir 2
Laporan
Akhir Percobaan 3
1. Komponen [kembali]
5. LED
2. Rangkaian [kembali]
3. Flowchart [kembali]
4. Listing Program [kembali]
//Master
#include
<Wire.h>
#define
MASTER_ADDR 9
int
analogPin = 0; int val = 0;
void
setup()
{
Wire.begin();
Serial.begin(1200);
}
void
loop()
{
delay(50);
val
= map(analogRead(analogPin), 0, 1023, 0, 100);
Wire.beginTransmission(MASTER_ADDR);
Wire.write(val);
Wire.endTransmission();
}
//Slave
#include
<Wire.h>
#define
SLAVE_ADDR 9
int
led2 = 11;
int
led1 = 12;
int
readI2c;
void
setup()
{
pinMode(led1,
OUTPUT);
pinMode(led2,
OUTPUT);
Wire.begin(SLAVE_ADDR);
Wire.onReceive(receiveEvent);
Serial.begin(1200);
delay(500);
}
void
receiveEvent()
{
readI2c
= Wire.read();
}
void
loop()
{
Serial.print("Nilai
readI2c: ");
Serial.println(readI2c);
if ((readI2c <= 20) and (readI2c
>= 0))
{
digitalWrite(led1, HIGH);
digitalWrite(led2,
LOW);
delay(200);
digitalWrite(led1,
LOW);
digitalWrite(led2,
HIGH);
delay(200);
}
else
{
digitalWrite(led1,
LOW);
digitalWrite(led2,
LOW);
delay(1000);
}
}
5. Video [kembali]
6. Analisa [kembali]
1. Apa
yang terjadi jika alamat yang digunakan berbeda? Bandingkan jika #define
MASTER_ADDR9 dan ganti di SLAVE_ADDR99, apa
yang akan terjadi?
Jawab :
Perangkat master
mengirimkan urutan S ADDR W kemudian menunggu bit acknowledge (A) dari slave
yang hanya akan diberikan oleh slave jika alamat yang dikirimkan oleh master
sesuai dengan alamat pada slave. Jika bit acknowledge (A) dikirim, perangkat
master akan mengirimkan DATA dan menunggu bit acknowledge (A) dari slave. Jadi
alamat di master maupun di slave harus sesuai agar alamat yang dituju pun
tepat.
2. Dari
listing program, komunikasi apa yang digunakan simplex atau half duplex?
Jawab :
Pada rangkaian percobaan menggunakan
I2C yang memiliki dua saluran yaitu SCL dan SDA yang dapat memberikan informasi
kepada pengontrolnya baik itu dari master ataupun slave. Dan pada percobaan ini
didapatkan bahwa komunikasi yang digunakan yaitu half duplex, jadi proses
transfer data itu secara dua arah, tetapi data tersebut tidak sampai / diterima
secara bersamaan.
3. Pada
slave coba diganti Serial.begin(9600) menjadi (115200)?
Jawab :
Tidak ada
perubahan yang terjadi pada rangkaian, rangkaian tetap bisa berjalan, dan pada
listing program pun bisa di running. Hal ini disebabkan karena serial begin
berfungsi mengatur baudrate / kecepatan transmisi data antar Arduino. Jadi
jikapun antara slave dan master berbeda serial.beginnya maka hanya berpengaruh
pada kecepatan transmisi datanya saja, sedangkan program ataupun rangkaian
tetap bisa berjalan.
7. Link Download [kembali]
- HTML >> klik disini
- Rangkaian Proteus >> klik disini
- Listing Program >> klik disini
- Library Arduino >> klik disini
- Video >> klik disini
- Flowchart >> klik disini
-
BAHAN PRESENTASI UNTUK MATA KULIAH SISTEM DIGITAL B 2021 Oleh: Hariani Annisa ( 19 109510 04 ) Dosen Pengampu: ...
-
BAHAN PRESENSTASI UNTUK MATA KULIAH SENSOR A 2020 Oleh : Hariani Annisa 1910951004 Dosen Pengampu : Dr. Darwison, M.T. Mumuh...
Tidak ada komentar:
Posting Komentar