1. Alat dan Bahan  [Kembali]
2.1 Alat
a. Jumper
Jumper

b. Power Supply

Power Supply
2.2 Bahan (proteus)
a. Push Button
 
Push Button
b.  LED


LED
c. Mikrokontroler


Modul Arduino
d. Resistor

Resistor



2. Rangkaian Simulasi [Kembali]


3. Prinsip Kerja [Kembali]

Pada rangkaian digunakan 2 Arduino uno, push button, dan LED. Pin 2 master dihubungkan ke push button dan pin 12 slave dihubungkan ke LED.

Kode /Listing Programnya Yaitu :
//Sim 1

#define button 2 //Deklarasi pin 2 untuk button

void setup()        //Semua kode dalam fungsi ini dieksekusi sekali
{
  pinMode(button, INPUT_PULLUP);
  Serial.begin(9600); //Set baud rate 9600
}

void loop()         //Semua kode dalam fungsi ini dieksekusi berulang
{
  int nilai = digitalRead(button);

  //Button ditekan
  if (nilai == 0)
  {
    Serial.print("1");
  }
  else
  {
    Serial.print("2");
  }

  delay(500);
}

//Sim2

#define led 12 //Deklarasi pin 12 untuk LED
void setup() //Semua kode dalam fungsi ini dieksekusi sekali
{
pinMode(led,OUTPUT); //Deklarasi LED sebagai output
Serial.begin(9600); //Set baud rate 9600
}
void loop() //Semua program dalam fungsi ini dieksekusi berulang
{
if(Serial.available()>0)
{
int data = Serial.read();
if(data=='1') //Jika data yang dikirimkan berlogika
{
digitalWrite(led,HIGH);
delay (100);
digitalWrite(led,LOW);//LED menyala
delay (100);
}
else
{
digitalWrite(led,LOW); //LED mati
}
}
}
            
Pada program Master, dideklarasikan pin yang akan digunakan 2 untuk push button. Pada void setup, push button diatur menjadi input.  Serial.begin(9600); digunakan untuk menset baud rate menjadi 9600. Pada void loop, variabel nilai digunakan untuk membaca nilai digital push button, jika nilai = 0 serial monitor akan menampilkan angka 1, sedangkan jika nilai = 1 serial monitor akan menampilkan angka 2, kemudian di delay 500 ms.

Pada program Slave, dideklarasikan pin yang akan digunakan 12 untuk LED. Pada void setup, LED diatur menjadi output.  Serial.begin(9600); digunakan untuk menset baud rate menjadi 9600. Pada void loop, serial akan mengirimkan data apabila data yang diterima > 0. variabel data akan membaca data pada serial, jika data = 1 LED akan diberi logika high, kemudian delay 500ms. Sedangkan jika data selain 0 LED akan diberi logika low

4. Video
[Kembali]



5. Analisa [Kembali]

1. Apa pengaruh baudrate pada komunikasi I2C? dan apakah pada komunikasi I2C baudrate dapat dihilangkan?
Jawab
 menurut saya bukan dihilangkan lebih tepatnya tidak perlu diatur larena I2C itu sendiri akan mengirim data atau menerima data sesuai kemauan master oleh sebab itu tidak perlu diatur

2. Analisa pengaruh "SLAVE_ADDR 9" jika nilai 9  pada slave divariasikan!
Jawab
 Menurut saya LED tidak akan hidup dikarenakan alamat master pada pin 9 sedangkan alamat slave tidak berada pada pin 9

6. Link Download [Kembali]

File HTML - 

File Rangkaian Simulasi - 

File Video Simulasi - 

File Program Arduino Master - 

File Program Arduino Slave - 

Datasheet Arduino 

Datasheet LED 

Tidak ada komentar:

Posting Komentar