1. Komponen
[kembali]
1. Arduino
Arduino adalah kit elektronik atau papan rangkaian elektronik open source yang di dalamnya terdapat komponen
utama yaitu sebuah chip mikrokontroler dengan jenis AVR dari
perusahaan Atmel.
Arduino yang kita gunakan dalam praktikum ini adalah Arduino Uno yang
menggunakan chip AVR ATmega 328P. Dalam memprogram Arduino, kita bisa
menggunakan komunikasi serial agar Arduino dapat berhubungan dengan komputer
ataupun perangkat lain.
2. LED
Light Emitting Diode atau sering disingkat dengan LED adalah komponen elektronika yang dapat memancarkan cahaya monokromatik ketika diberikan tegangan maju. LED merupakan keluarga Dioda yang terbuat dari bahan semikonduktor. Warna-warna Cahaya yang dipancarkan oleh LED tergantung pada jenis bahan semikonduktor yang dipergunakannya. LED juga dapat memancarkan sinar inframerah yang tidak tampak oleh mata seperti yang sering kita jumpai pada Remote Control TV ataupun Remote Control perangkat elektronik lainnya.
3. Push Button
Saklar tekan yang berfungsi sebagai pemutus atau penyambung arus listrik dari sumber arus ke beban listrik. Suatu sistem saklar tekan push button terdiri dari saklar tekan start, stop reset dan saklar tekan untuk emergency. Push button memiliki kontak NC (normally close) dan NO (normally open). Prinsip kerja Push Button adalah apabila dalam keadaan normal tidak ditekan maka kontak tidak berubah, apabila ditekan maka kontak NC akan berfungsi sebagai stop (memberhentikan) dan kontak NO akan berfungsi sebagai start (menjalankan) biasanya digunakan pada sistem pengontrolan motor – motor induksi untuk menjalankan mematikan motor pada industri – industri.
4. Potensiometer
Potensiometer adalah resistor tiga terminal dengan sambungan geser yang membentuk pembagi tegangan dapat disetel. Jika hanya dua terminal yang digunakan (salah satu terminal tetap dan terminal geser), potensiometer berperan sebagai resistor variabel atau Rheostat. Potensiometer biasanya digunakan untuk mengendalikan peranti elektronik seperti pengendali suara pada penguat.
2. Rangkaian Simulasi
[kembali]
Gambar 2.1 Gambar Rangkaian Percobaan 3
3. Flowchart
[kembali]
Gambar 3.1 Flowchart Program Arduino Master
Gambar 3.2 Flowchart Program Arduino Slave
4. Listing Program
[kembali]
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);
}
5. Video
[kembali]
Video Penjelasan Rangkaian Percobaan
Penjelasan Rangkaian :
Pada rangkaiain ini,kita meggunakan potensiometers sebagai input data pada master.Ketika pada kondisi start dan address pada slave sudah terpenuhi, maka data akan di transmisikan (write) dari master ke slave melalui pin SDA(serial data) sedangkan pin SCL adalah untuk clock nya. Ketika data sudah di kirim ke slave,maka akan di ubah ke kondisi stop. Data yang sudah terbaca pada slave ini akan diteruskan ke pin 13 pada Arduino (slave) sebagai output yang terhubung ke LED. Sehingga LED akan ON dan OFF berdasarkan nilai dari potensiometer yang terbaca.Semakin kecil nilai resistansi yang terbaca maka akan semakin cepat LED nya ON dan OFF. Jika Semakin besar nilai resistansi yang terbaca maka akan semakin lama LED nya ON dan OFF.
6. Kondisi
[kembali]
Pada praktikum modul 3 percobaan 3 yaitu Membuat rangkaian I2C (Inter Integrated Circuit)
Analisa :
1. Apakah kita dapat mengirim data sebanyak 9 bit? Jelaskan alasannya
Jawab : Tidak bisa karena pada dasarnya adalah Jika kita mengirim data, Master hanya dapat mengirimkan sejumlah byte (masing-masing 8 bit). Saat proses pengiriman data dari Master, 7 bit pertama sebagai alamat Slave yang akan dituju, kemudian 1 bit lagi sebagai R/W b yang digunakan untuk memberitahukan ke Slave apakah Master akan menerima atau mengirimkan data. Sedangkan bit ke-9 akan dikeluarkan oleh Slave sebagai tanda bahwa data telah diterima oleh receiver (ACK/NACK). Kemudian, Master akan menulis data 8 bit dan bit-9 oleh Slave sebagai sinyal acknowledge / ACK (berlogika 0) yang dikeluarkan Slave kembali untuk dapat menerima data selanjutnya hingga SDA menerima sinyal Not Acknowladge / NACK (berlogika 1) untuk mengakhiri transfer data. Kesimpulannya adalah kita tidak dapat mengirim data sebanyak 9 bit.
2. Bagaimana cara master mengirimkan address ke slave? Berapa bit address yang dikirim? Berapa addres unik yang dapat tercipta oleh master?
Jawab : Cara master mengirim address ke Slave adalah dimulai dengan membangkitkan pulsa START oleh Master. Pulsa START dibaca oleh Slave pada bus SDA dalam keadaan LOW pada saat pulsa clock dalam keadaan HIGH. Setelah pulsa START dikirimkan, maka pada clock berikutnya Master mengirimkan 8 bit alamat, yang dikirimkan secara serial melalui bus SDA, ke Slave dengan format B6, B5, B4, B3, B2, B1, B0, dan R/W. Bit alamat tersebut mengandung informasi R/W pada LSB. Jika LSB pada byte alamat “1” maka master ingin membaca data dari Slave tetapi jika LSB byte alamat “0” maka master akan menulis pada slave. Kesimpulan di atas maka dapat terlihat bahwa jumlah address yang dikirimkan adalah 8 Bit 7 data dan 1 R/W.
Ada 1 Address unik yaitu bit yang menentukan R/W yang dikeluarkan oleh Master. Kemudian,nanti setelah data selesai terkirim maka pada Slave juga akan mengeluarkan sinyal ke 9 yang akan menjadi tanda bahwa data telah terkirim.
7. Link Download
[kembali]
File library Arduino Proteus -
DownloadFile Flowchart Master -
Download File Flowchart Slave -
DownloadFile Program Master -
DownloadFile Program Slave -
DownloadFile HTML -
DownloadFile rangkaian -
DownloadFile video -
Download
No comments:
Post a Comment