LA M3 P2


1. Alat dan Bahan
[Kembali]

2.1 Alat
a. Jumper
Jumper

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


LED
c. Mikrokontroler


Modul Arduino
d. Resistor

Resistor

2. Dasar Teori [Kembali]
1.LED

LED adalah suaatu semikonduktor yang memancarkan cahaya,  LED mempunyai kecenderungan polarisasi. LED mempunyai kutub positif dan negatif (p-n) dan hanya akan menyala bila diberikan arus maju. Ini dikarenakan LED terbuat dari bahan semikonduktor yang hanya akan mengizinkan arus listrik mengalir ke satu arah dan tidak ke arah sebaliknya. Bila LED diberikan arus terbalik, hanya akan ada sedikit arus yang melewati  LED. Ini menyebabkan LED tidak akan mengeluarkan emisi cahaya.

2. Resistor


Resistor merupakan komponen penting dan sering dijumpai dalam sirkuit Elektronik. Boleh dikatakan hampir setiap sirkuit Elektronik pasti ada Resistor. Tetapi banyak diantara kita yang bekerja di perusahaan perakitan Elektronik maupun yang menggunakan peralatan Elektronik tersebut tidak mengetahui cara membaca kode warna ataupun kode angka yang ada ditubuh Resistor itu sendiri.

Seperti yang dikatakan sebelumnya, nilai Resistor yang berbentuk Axial adalah diwakili oleh Warna-warna yang terdapat di tubuh (body) Resistor itu sendiri dalam bentuk Gelang. Umumnya terdapat 4 Gelang di tubuh Resistor, tetapi ada juga yang 5 Gelang.

Gelang warna Emas dan Perak biasanya terletak agak jauh dari gelang warna lainnya sebagai tanda gelang terakhir. Gelang Terakhirnya ini juga merupakan nilai toleransi pada nilai Resistor yang bersangkutan.

Tabel dibawah ini adalah warna-warna yang terdapat di Tubuh Resistor :

Tabel Kode Warna Resistor
Perhitungan untuk Resistor dengan 4 Gelang warna :


Cara menghitung nilai resistor 4 gelang

Masukkan angka langsung dari kode warna Gelang ke-1 (pertama)
Masukkan angka langsung dari kode warna Gelang ke-2
Masukkan Jumlah nol dari kode warna Gelang ke-3 atau pangkatkan angka tersebut dengan 10 (10n)
Merupakan Toleransi dari nilai Resistor tersebut

Contoh :
Gelang ke 1 : Coklat = 1
Gelang ke 2 : Hitam = 0
Gelang ke 3 : Hijau = 5 nol dibelakang angka gelang ke-2; atau kalikan 105
Gelang ke 4 : Perak = Toleransi 10%
Maka nilai Resistor tersebut adalah 10 * 105 = 1.000.000 Ohm atau 1 MOhm dengan toleransi 10%.

Perhitungan untuk Resistor dengan 5 Gelang warna :

Cara Menghitung Nilai Resistor 5 Gelang Warna

Masukkan angka langsung dari kode warna Gelang ke-1 (pertama)
Masukkan angka langsung dari kode warna Gelang ke-2
Masukkan angka langsung dari kode warna Gelang ke-3
Masukkan Jumlah nol dari kode warna Gelang ke-4 atau pangkatkan angka tersebut dengan 10 (10n)
Merupakan Toleransi dari nilai Resistor tersebut

Contoh :
Gelang ke 1 : Coklat = 1
Gelang ke 2 : Hitam = 0
Gelang ke 3 : Hijau = 5
Gelang ke 4 : Hijau = 5 nol dibelakang angka gelang ke-2; atau kalikan 105
Gelang ke 5 : Perak = Toleransi 10%
Maka nilai Resistor tersebut adalah 105 * 105 = 10.500.000 Ohm atau 10,5 MOhm dengan toleransi 10%.

 Contoh-contoh perhitungan lainnya :

Merah, Merah, Merah, Emas → 22 * 10² = 2.200 Ohm atau 2,2 Kilo Ohm dengan 5% toleransi
Kuning, Ungu, Orange, Perak → 47 * 10³ = 47.000 Ohm atau 47 Kilo Ohm dengan 10% toleransi

Cara menghitung Toleransi :
2.200 Ohm dengan Toleransi 5% =
2200 – 5% = 2.090
2200 + 5% = 2.310
ini artinya nilai Resistor tersebut akan berkisar antara 2.090 Ohm ~ 2.310 Ohm

3. Push Button
Gambar Komponen Push Button


         Pada dasarnya, prinsip kerja push button adalah pemutus dan penyambung aliran listrik. Namun dalam hal ini, ia tak bersifat mengunci. Jadi ia akan kembali ke posisi semua saat selesai ditekan.Saat push button ditekan, ia menjadi bernilai HIGH dan akan menghantarkan arus listrik. Sedangkan apabila dilepas, maka ia bernilai LOW dan memutus arus listrik.

4. 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.

Adapun spesifikasi dari Arduino Uno ini adalah sebagai berikut :

 

Arduino Uno

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




3. Rangkaian Simulasi [Kembali]


4. Prinsip Kerja Rangkaian [Kembali]

Percobaan yang dilakukan adalah percobaan 1 menghidupkan motor DC. Komponen yang digunakan adalah Arduino Uno, Resistor,LED, dan Push Button.

Listing program diatas digunakan kan :

//MASTER

 #include<SPI.h>                        

#define buzzer 7          

#define button 2

 int buttonvalue;

int x; 

void setup (void)

{

  Serial.begin(115200);                   //Starts Serial Communication at Baud Rate 115200

  pinMode(button,INPUT);                  //Sets pin 2 as input

  pinMode(buzzer,OUTPUT);                 //Sets pin 7 as Output

  SPI.begin();                            //Begins the SPI commnuication

  SPI.setClockDivider(SPI_CLOCK_DIV8);    //Sets clock for SPI communication at 8 (16/8=2Mhz)

  digitalWrite(SS,HIGH);          //Setting SlaveSelect as HIGH (So master doesnt connnect with slave)

}

 void loop(void)

{

  byte Mastersend,Mastereceive;          

  buttonvalue = digitalRead(button);  //Reads the status of the pin 2

  if(buttonvalue == HIGH) //Logic for Setting x value (To be sent to slave) depending upon input from pin 2

  {

    x = 1;

  }

  else

  {

    x = 0;

  }

 digitalWrite(SS, LOW);        //Starts communication with Slave connected to master

  Mastersend = x;                            

  Mastereceive=SPI.transfer(Mastersend); //Send the mastersend value to slave also receives value from slave

  if(Mastereceive == 1)      //Logic for setting the LED output depending upon value received from slave

  {

    digitalWrite(buzzer,HIGH);            //Sets pin 7 HIGH

    Serial.println("Master Buzzer ON");

  }

  else

  {

   digitalWrite(buzzer,LOW);            

   Serial.println("Master Buzzer OFF");

  }

}

 

//SLAVE
 
#include <SPI.h>
#define buzzerpin 7
#define buttonpin 2
 
volatile boolean received;
volatile byte Slavereceived,Slavesend;
int buttonvalue;
int x;
 
void setup()
{
  Serial.begin(115200);
 
  pinMode(buttonpin,INPUT);       // Setting pin 2 as INPUT
  pinMode(buzzerpin,OUTPUT);      // Setting pin 7 as OUTPUT
  pinMode(MISO,OUTPUT);    //Sets MISO as OUTPUT (Have to Send data to Master IN)
 
  SPCR |= _BV(SPE);        //Turn on SPI in Slave Mode
  received = false;
 
  SPI.attachInterrupt();  //Interuupt ON is set for SPI commnucation
}
 
ISR (SPI_STC_vect)        //Inerrrput routine function
{
  Slavereceived = SPDR;  // Value received from master if store in variable slavereceived
  received = true;       //Sets received as True
}
 
void loop()
{
   if(received) //Logic to SET Buzzer ON OR OFF depending upon the value recerived from master
   {
      if (Slavereceived==1)
      {
        digitalWrite(buzzerpin,HIGH);         //Sets pin 7 as HIGH LED ON
        Serial.println("Slave Buzzer ON");
      }
      else
      {
        digitalWrite(buzzerpin,LOW);          //Sets pin 7 as LOW LED OFF
        Serial.println("Slave Buzzer OFF");
      }
     
      buttonvalue = digitalRead(buttonpin);  // Reads the status of the pin 2
     
      if (buttonvalue == HIGH)  //Logic to set the value of x to send to master
      {
        x=1;
       
      }
      else
      {
        x=0;
      }
     
   Slavesend=x;                            
   SPDR = Slavesend;   //Sends the x value to master via SPDR
   }
}

Pada percobaan kali ini kita menggunakan komunikasi SPI dimana kita menggunakan pin MOSI,MISO,SS, dan SCLK dimana masing masing pin tersebut dihubungkan antara arduino master dan slave pada pin 10,11,12 dan 13. pada arduino master kita mendefinisikan led pada pin 7 dan push button pada pin 2, void setup yang kita atur yaitu pin led kita deklarasikan sebagai output dan push button kita deklarasikan sebagai input diawali denghan baudrate 115.200 BPS. pada void loop jika kita menekan push button atau push button berlogika 1 maka x=1 dan selain itu x=0,jika kita menentukan slave yang diinginkan maka diberi logika low,jika masterreceive kita beri logika 1 maka led akan hidup dan begiru sebaliknya.

Pada arduino Slave, sama seperti pada program arduino master untuk void setup kita mengawali dengan baudrate yang sama karena kecepatan dalam mengirim dan menerima data harus sama agar terbaca sama program/sesuai pada void loop jika slave received berlogika 1 maka lampu akan hidup dan begitu sebaliknya.dan jika kita menekan push button lofika high maka slavesend(x)=1 begitupun sebaliknya.

5. Video Rangkaian [Kembali]



6. Analisa [Kembali]

Percobaan 2

1. Analisa kenapa jika pin SS tidak dihubungkan tetap dapat mengirimkan data dari master ke slave?

Jawab:

Ss (slave select) adalah pin komunikasi SPI yang berfungsi untuk mengaktifkan slave, jadi pengirim data dapat dilakukan jika Arduino slave aktif. Untuk mengaktifkan kan pin SS kita beri logika low. Kenapa program bisa tetap berjalan jika kita memutua pin SS karena PIN SS memilih slave untuk mengirimkan data, jadi bisa dikatakan untuk memilih satu dari beberapa slave yang diinginkan, namun pada saat percobaan dilakukan kita hanya menggunakan 1 slave yang spesifik. Makanya program tidak memerlukan pin SS ini karna slave yang digunakan hanya 1 . Maka program masih dapat berjalan / dapat mengirim data dari master ke slave tanpa harus kita hubungkan kedua pin SS master dan slave

2. Analisa apa yang terjadi bila kita tidak menghubungkan pin SCLK?

Jawab:

Jadi, saat kita melakukan percobaan, jika kita hubungkan pin SCLK maka dalam. Mengirim data, data tersebut tidak akan terkirim, karena pin SCLK berfungsi sebagai jalur sinyal clock dimana dalam komunikasi SPI dalam mode pengiriman data yaitu Asynchronous dimana dalam mengirim data membutuhkan clock sehingga jika kita putus pin SCLK maka program eror atau tidak berjalan.


7. Link Download [Kembali]

Download HTML [klik]
Download video rangkaian [klik]
Download listing program [klik]
Datasheet Arduino UNO [klik]
Library Arduino UNO [klik] 
Datasheet Resistor [klik]
Datasheet LED [klik]
Datasheet PushButton [klik]

Tidak ada komentar:

Posting Komentar

ARITMATIK ( KONTROL KEAMANAN RUMAH) [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Tujuan 2. Alat dan Bahan 3. Dasar Teori 4. Percobaan   5. Vid...