LAPORAN AKHIR 2 PERCOBAAN 3




1. Tujuan [Kembali]

        a) Memahami prinsip kerja I2C
        b) Mengaplikasikan protokol komunikasi I2C
 

2. Komponen [Kembali]

1. Arduino Uno




2. Resistor




3. Power supply






4. LED



5.Potensiometer







3. Dasar Teori [Kembali]

    a. Arduino UNO 
Pin pin pada arduino UNO


konfigurasi pin 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. Setiap 14 pin digital pada arduino uno dapat digunakan sebagai input dan output, menggunakan fungsi pinMode(), digitalwrite(), dan digitalRead(). Fungsi fungsi tersebut beroperasi di tegangan 5 volt, Setiap pin dapat memberikan atau menerima suatu arus maksimum 40 mA dan mempunyai sebuah resistor pull-up (terputus secara default) 20-50 kOhm.

Bagian-bagian arduino uno:

-Power USB

Digunakan untuk menghubungkan Papan Arduino dengan komputer lewat koneksi USB.

-Power jack

Supply atau sumber listrik untuk Arduino dengan tipe Jack. Input DC 5 - 12 V.

-Crystal Oscillator

Kristal ini digunakan sebagai layaknya detak jantung pada Arduino.  Jumlah cetak                                menunjukkan 16000 atau 16000 kHz, atau 16 MHz.

-Reset

Digunakan untuk mengulang program Arduino dari awal atau Reset.

-Digital Pins I / O

Papan Arduino UNO memiliki 14 Digital Pin. Berfungsi untuk memberikan nilai logika (         0 atau 1 ). Pin berlabel " ~ " adalah pin-pin PWM ( Pulse Width Modulation ) yang dapat digunakan untuk menghasilkan PWM.

-Analog Pins

Papan Arduino UNO memiliki 6 pin analog A0 sampai A5. Digunakan untuk membaca sinyal atau sensor analog seperti sensor jarak, suhu dsb, dan mengubahnya menjadi nilai digital.

-LED Power Indicator

Lampu ini akan menyala dan menandakan Papan Arduino mendapatkan supply listrik dengan baik.

Bagian - bagian pendukung:

-RAM

RAM (Random Access Memory) adalah tempat penyimpanan sementara pada komputer yang isinya dapat diakses dalam waktu yang tetap, tidak memperdulikan letak data tersebut dalam memori atau acak. Secara umum ada 2 jenis RAM yaitu SRAM (Static Random Acces Memory) dan DRAM (Dynamic Random Acces Memory).

-ROM

ROM (Read-only Memory) adalah perangkat keras pada computer yang dapat menyimpan data secara permanen tanpa harus memperhatikan adanya sumber listrik. ROM terdiri dari Mask ROM, PROM, EPROM, EEPROM.

Block Diagram Mikrokontroler ATMega 328P pada Arduino UNO

Adapun block diagram mikrokontroler ATMega 328P dapat dilihat pada gambar berikut:



Block diagram dapat digunakan untuk memudahkan / memahami bagaimana kinerja dari mikrokontroler ATMega 328P.

Pin-pin ATMega 328P:

            Rangkaian Mikrokontroler ATMega 328P pada Arduino UNO

 



    b. Resistor


         Resistor merupakan komponen elektronik yang memiliki dua pin dan didesain untuk mengatur tegangan listrik dan arus listrik. 
   Nilai tegangannya berbanding dengan arus listrik yang mengalir sesuai dengan hukum ohm yaitu V=IR. Biasanya didalam jejaring elektronik dan sirkuit elektronik banyak menggunakan resistor. Resistor ini memang paling banyak dan sering digunakan dalam komponen lain. Dalam resistor tidak ada kutub negatif dan positif, tetapi memiliki ciri utama yakni toleransi, tegangan kerja maksimum, power rating dan resistensi. Daya listrik dan resistensinya dapat dihantarkan. Ciri lainnya adalah induktansi, koefisien suhu, dan kebisingan. Satuan dari resistensi sebuah resistor bersifat resistif dilambangkan dengan Ohm dengan simbol Ω (Omega). fungsi resistor yang sering diketahui adalah sebagai penghambat arus listrik yang mengalir suatu rangkaian elektronik. Selain itu fungsi resistor dapat membagi arus, membagi tegangan, dan mengatur arus dalam suatu rangkaian. 
    Resistor mempunyai nilai resistansi (tahanan) tertentu yang dapat memproduksi tegangan listrik di antara kedua pin dimana nilai tegangan terhadap resistansi tersebut berbanding lurus dengan arus yang mengalir, berdasarkan persamaan hukum Ohm: 

Cara membaca Resistor : 

Simbol resistor 

    c.  Potensiometer
Potensiometer adalah sebuah jenis resistor yang mengatur sebuah tahanan atau hambatan secara linier atau Komponen resistif tiga kawat yang bertindak sebagai pembagi tegangan yang menghasilkan sinyal output tegangan variabel kontinu yang sebanding dengan posisi fisik wiper di sepanjang trek.

Prinsip Kerja (Cara Kerja) Potensiometer

Sebuah Potensiometer (POT) terdiri dari sebuah elemen resistif yang membentuk jalur (track) dengan terminal di kedua ujungnya. Sedangkan terminal lainnya (biasanya berada di tengah) adalah Penyapu (Wiper) yang dipergunakan untuk menentukan pergerakan pada jalur elemen resistif (Resistive). Pergerakan Penyapu (Wiper) pada Jalur Elemen Resistif inilah yang mengatur naik-turunnya Nilai Resistansi sebuah Potensiometer.

Elemen Resistif pada Potensiometer umumnya terbuat dari bahan campuran Metal (logam) dan Keramik ataupun Bahan Karbon (Carbon).

Berdasarkan Track (jalur) elemen resistif-nya, Potensiometer dapat digolongkan menjadi 2 jenis yaitu Potensiometer Linear (Linear Potentiometer) dan Potensiometer Logaritmik (Logarithmic Potentiometer).

Fungsi-fungsi Potensiometer

Dengan kemampuan yang dapat mengubah resistansi atau hambatan, Potensiometer sering digunakan dalam rangkaian atau peralatan Elektronika dengan fungsi-fungsi sebagai berikut :

  1. Sebagai pengatur Volume pada berbagai peralatan Audio/Video seperti Amplifier, Tape Mobil, DVD Player.
  2. Sebagai Pengatur Tegangan pada Rangkaian Power Supply
  3. Sebagai Pembagi Tegangan
  4. Aplikasi Switch TRIAC
  5. Digunakan sebagai Joystick pada Tranduser
  6. Sebagai Pengendali Level Sinyal

    d.   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 merupakan keluarga dari Dioda yang terbuat dari Semikonduktor. Cara kerjanya pun hampir sama dengan Dioda yang memiliki dua kutub yaitu kutub Positif (P) dan Kutub Negatif (N). LED hanya akan memancarkan cahaya apabila dialiri tegangan maju (bias forward) dari Anoda menuju ke Katoda.

LED terdiri dari sebuah chip semikonduktor yang di doping sehingga menciptakan junction P dan N. Yang dimaksud dengan proses doping dalam semikonduktor adalah proses untuk menambahkan ketidakmurnian (impurity) pada semikonduktor yang murni sehingga menghasilkan karakteristik kelistrikan yang diinginkan. Ketika LED dialiri tegangan maju atau bias forward yaitu dari Anoda (P) menuju ke Katoda (K), Kelebihan Elektron pada N-Type material akan berpindah ke wilayah yang kelebihan Hole (lubang) yaitu wilayah yang bermuatan positif (P-Type material). Saat Elektron berjumpa dengan Hole akan melepaskan photon dan memancarkan cahaya monokromatik (satu warna).




4.  Percobaan [Kembali]

     a.  Prosedur Percobaan [Kembali]

    - Persiapkan komponen yang akan digunakan seperti Arduino UNO, Potensiometer, Led, dan power         suplly
    - Pastikan jumper telah sesuai
    - Selanjutnya lanjut menyusun listing program, gunakan program sesuai yang diminta kondisi pada
       modul
    - Setelah program disusun, selanjutnya program di verify, lalu copykan hex pada program dan paste
      kan pada Arduino UNO
    - Rangkaian sudah bisa dijalankan 

 
    b. Hardware [Kembali]

        1. Arduino UNO




    2. Potensiometer


                                                                                                                                                                                    
            



    c.  Rangkaian Simulasi [Kembali]











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



    e. Flowchart [Kembali]

(Flowchart Master)






(Flowchart Slave)




    f. Video [Kembali]










   
 g. Kondisi dan Analisa [Kembali]

    Modul 3 Percobaan 3

 1.      Apa fungsi alamat I2C (#define MASTER_ADDR9)?

Jawab:

Alamat pada I2C berfungsi sebagai alamat yang mengirim data dari master ke slave. Pada listing program ini kita mendeklarasikan library wire karena pada  komunikasi I2C kita menggunakan library wire dan deklarasi variabel SLAVE_ADDR 9 untuk mempermudah memilih pada slave. Jika alamat pada I2C pada master dan slave berbeda maka rangkaian tersebut tidak akan bergerak.

 

2.      Apa yang terjadi jika serial begin diubah dari 9600 menjadi 11520?

Jawab:

Serial.begin berfungsi untuk menentukan kecepatan pengiriman dan penerimaan data melalui port serial. Jika serial begin diubah dari 9600 menjadi 115200 maka tidak ada perubahan pada rangkaian, hal ini dikarenakan pada dasarnya serial begin hanya mempengaruhi ceppat atau lambatnya berfungsi sebagai set baudrate atau pengatur kecepatan informasi yang diberikan pada 1 arduino ke arduino lainnya. Jika semakin besar serial begin nya maka kecepatan dalam pengiriman data akan lebih cepat. Kita dapat menggunakan 115200 baud dalam program dan itu akan berfungsi karena terminal Arduino akan memungkinkan maksimum 115200. Jika set baudrate antara master dan slave berbeda, maka pada kecepatan pada master dan slave akan berbeda pula.

 

3.      Analisa Percobaan ini apakah informasi yang diberikan simplex, half duplex, atau full duplex?

Jawab:

Dari percobaan yang dilakukan, informasi yang diberikan merupakan jenis half duplex dimana tidak ada kebutuhan untuk komunikasi dua arah pada saat yang bersamaan, seluruh kapasitas saluran dapat dimanfaatkan untuk satu arah. Jadi saat terjadi komunikasi antara A dan B. Saat A mengirim informasi (berbicara) maka B akan menerima informasi (mendengarkan). Pada rangkaian percobaan ini kita menggunakan Sistem I2C yang terdiri dari saluran SCL (Serial Clock) dan SDA (Serial Data) yang membawa informasi data antara I2C dengan pengontrolnya. Piranti yang dihubungkan dengan sistem I2C Bus dapat dioperasikan sebagai Master dan SlaveMaster adalah piranti yang memulai transfer data pada I2C Bus dengan membentuk sinyal Start, mengakhiri transfer data dengan membentuk sinyal Stop, dan membangkitkan sinyal clockSlave adalah piranti yang dialamati master.   

 

    
h. Link Download [Kembali]
    File Hardware               di sini
    Vidio Simulasi              di sini
    Flowchart Master         di sini
    Flowchart slave              di sini
    Listing Program Master di sini
    Listing Program Slave   di sini
    HTML                           di sini
    Library Arduino Uno     di sini
    Datasheet Arduino Uno di sini
    Datasheet Ground          di sini
    











Tidak ada komentar:

Posting Komentar