Laporan Akhir (Percobaan 3) Modul 3 uP&uC


LAPORAN AKHIR (PERCOBAAN 3)

[KEMBALI KE MENU SEBELUMNYA]

KOMPONEN

Arduino Uno


Gambar 1. Arduino Uno


Arduino Uno adalah board mikrokontroler berbasis ATmega328 (datasheet). Memiliki 14 pin input dari output digital dimana 6 pin input tersebut dapat digunakan sebagai output PWM dan 6 pin input analog, 16 MHz osilator kristal, koneksi USB, jack power, ICSP header, dan tombol reset. Untuk mendukung mikrokontroler agar dapat digunakan, cukup hanya menghubungkan Board Arduino Uno ke komputer dengan menggunakan kabel USB atau listrik dengan AC yang-ke adaptor-DC atau baterai untuk menjalankannya.

Uno berbeda dengan semua board sebelumnya dalam hal koneksi USB-to-serial yaitu menggunakan fitur Atmega8U2 yang diprogram sebagai konverter USB-to-serial berbeda dengan board sebelumnya yang menggunakan chip FTDI driver USB-to-serial.

Nama “Uno” berarti satu dalam bahasa Italia, untuk menandai peluncuran Arduino 1.0. Uno dan versi 1.0 akan menjadi versi referensi dari Arduino. Uno adalah yang terbaru dalam serangkaian board USB Arduino, dan sebagai model referensi untuk platform Arduino, untuk perbandingan dengan versi sebelumnya, lihat indeks board Arduino.

Potensiometer


Gambar 2. Potensiometer


Potensiometer (POT) adalah salah satu jenis Resistor yang Nilai Resistansinya dapat diatur sesuai dengan kebutuhan Rangkaian Elektronika ataupun kebutuhan pemakainya. Potensiometer merupakan Keluarga Resistor yang tergolong dalam Kategori Variable Resistor. Secara struktur, Potensiometer terdiri dari 3 kaki Terminal dengan sebuah shaft atau tuas yang berfungsi sebagai pengaturnya.

Resistor

Gambar 3. Resistor


Resistor merupakan salah satu komponen yang paling sering ditemukan dalam Rangkaian Elektronika. Hampir setiap peralatan Elektronika menggunakannya. Pada dasarnya Resistor adalah komponen Elektronika Pasif yang memiliki nilai resistansi atau hambatan tertentu yang berfungsi untuk membatasi dan mengatur arus listrik dalam suatu rangkaian Elektronika. Resistor atau dalam bahasa Indonesia sering disebut dengan Hambatan atau Tahanan dan biasanya disingkat dengan Huruf “R”. Satuan Hambatan atau Resistansi Resistor adalah OHM (Ω). Sebutan “OHM” ini diambil dari nama penemunya yaitu Georg Simon Ohm yang juga merupakan seorang Fisikawan Jerman.

LED


Gambar 4. LED


LED (Light Emitting Diode) adalah Sebuah lampu kecil yang digunakan sebagai penanda atau pointer. Light Emitting Diode adalah salah satu komponen elektronika yang terbuat dari bahan semi konduktor jenis dioda yang mempu mengeluarkan cahaya. Strukturnya juga sama dengan dioda, tetapi pada LED elektron menerjang sambungan P-N (Positif-Negatif). Untuk mendapatkan emisi cahaya pada semikonduktor, doping yang pakai adalah galium, arsenic dan phosporus. Jenis doping yang berbeda menghasilkan warna cahaya yang berbeda pula.

GAMBAR RANGKAIAN




FLOWCHART

Master




Slave




LISTING PROGRAM

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);
}

ANALISA

Apabila ada tambahan slave, bagaimana cara master membedakan satu slave dengan slave lainnya pada i2C pada saat berkomunikasi? Apakah pada bagian program, atau rangkaian, atau keduanya ?

Cara untuk membedakan satu slave dengan slave lainnya dengan mengasihkan address yang berbeda pada kedua slave, cara untuk mengasihkan address tersebut dengan membuat nama pada syntax Wire.begin (#) [# = address], contoh pada slave pertama kita buat pada syntaxnya : Wire.begin(1), pada slave kedua kita buat pada syntaxnya :  Wire.begin (2), Untuk di program masternya  kita tingga mengisi pada Wire.beginTransmission (1) untuk berkomunikasi ke slave pertama dan Wire.beginTransmission (2) untuk berkomunikasi ke slave kedua. Pada rangkaiannya tidak bisa membedakannya, karena cara pemasangan pin SDA dari slave-slave yang kita gunakan sama terhubung ke pin SDA master, begitupun pin SCLnya.

LINK DOWNLOAD

  1. Download HTML : KLIK DISINI !!!
  2. Download Rangkaian (Proteus) : KLIK DISINI !!!
  3. Download Listing Program Master (Arduino): KLIK DISINI !!!
  4. Download Listing Program Slave (Arduino): KLIK DISINI !!!
  5. Download Video : KLIK DISINI !!!