Modul 3: Laporan Akhir 3





1. Komponen [Kembali]
  • Arduino
 
  • LED
  • Potensiometer

2. Rangkaian Simulasi [Kembali]


3. Flowchart [Kembali]
  • Master

  • Slave

4. Listing Program [Kembali]

Master
//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
//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]




6. Analisa [Kembali]

1. Apakah kita dapat mengirim data sebanyak 9 bit? Jelaskan alasannya
Tidak,  karena jika kita mengirim data, master hanya bisa mengirim beberapa byte (8 bit). Pada pengiriman data dari Master, 7 bit pertama sebagai alamat Slave tujuan, dan 1 bit lagi sebagai R/W b yang berfungsi untuk memberitahu Slave apakah Master akan menerima atau mengirim data. Sedangkan bit selanjutnya akan dikeluarkan oleh Slave sebagai tanda bahwa data telah diterima oleh receiver (ACK/NACK). 
Lalu, Master akan menulis data 8 bit, dan bit selanjutnya dianggap Slave sebagai sinyal acknowledge / ACK (berlogika 0) dan dikeluarkan Slave agar bisa menerima data selanjutnya hingga SDA menerima sinyal Not Acknowladge / NACK (berlogika 1) untuk mengakhiri transfer data.

2. Apa pengaruh potensiometer terhadap output (LED)
Potensiometer pada rangkaian berpengaruh pada waktu pada LED untuk hidup dan mati secara bergantian. Semakin kecil persen potensiometer, maka LED akan hidup dan mati secara bergantian lebih cepat, begitu juga sebaliknya.

3. Jelaskan prinsip kerja I2C pada rangkaian
Pada rangkaian I2C, potensiometer digunakan sebagai input untuk master. Saat keadaan start, address pada slave sudah terpenuhi, maka data dikirim dari master ke slave melalui pin SDA sedangkan pin SCL untuk clock. Ketika data sudah diterima oleh slave, maka akan diubah menjadi keadaan stop. Data yang terbaca pada slave ini akan diteruskan ke pin 13 slave yang terhubung pada LED sebagai output.

7. Link Download [Kembali]
File rangkaian download
Video simulasi download
Program arduino master download
Program arduino slave download
Library arduino download
Datasheet Arduino download
Datasheet LED download

Tidak ada komentar:

Posting Komentar