Laporan Akhir Percobaan 1 M.3





1. Komponen [kembali] 

Gambar 1. LED

Gambar 2. Bentuk Hardware LED 

Gambar 3. Arduino Master

Gambar 4. Arduino Slave

Gambar 5. Button 

Gambar 6. Bentuk Hardware Button

2. Rangkaian Simulasi [kembali]

Gambar 7. Rangkaian Simulasi UART

3. Flowchart [kembali]

Gambar 8. Flowchart Program Arduino Master


Gambar 9. Flowchart Program Arduino Slave

4. Listing Program [kembali]

A. //MASTER
 
#define button 2  //Deklarasi pin 2 untuk button
 
void setup()     //Semua kode dalam fungsi ini dieksekusi sekali
{
  pinMode(button,INPUT_PULLUP);
  Serial.begin(9600); //Set baud rate 9600
}
 
void loop()   //Semua kode dalam fungsi ini dieksekusi berulang
{
  int nilai = digitalRead(button);
 
  //ditekan
  if(nilai == 0)
    {
      Serial.print("1");    
    }
  else
    {
      Serial.print("2");
    }
 
    delay(200);
}


B. //SLAVE
 
#define led 12  //Deklarasi pin 12 untuk LED
 
void setup()   //Semua kode dalam fungsi ini dieksekusi sekali
{
  pinMode(led,OUTPUT);   //Deklarasi LED sebagai output
  Serial.begin(9600);            //Set baud rate 9600
}
 
void loop()                         //Semua program dalam fungsi ini dieksekusi berulang
{
  if(Serial.available()>0)
  {
    int data = Serial.read();
      if(data=='1')  //Jika data yang dikirimkan berlogika
        {
          digitalWrite(led,HIGH);  //LED menyala
        }
      else
        {
          digitalWrite(led,LOW);  //LED mati
        }
       
  }
}

5. Video Simulasi [kembali]


6. Analisa [kembali]

Soal :

1. Apa yang terjadi jika komunikasi UART hanya menggunakan 1 kabel saja, yang terhubung TX ke          RX?

2. Apakah pada uart dapat menggunakan banyak  master ataupun slave? Jelaskan alasannya

3. Jika ditambahkan resistor 22k sebelum LED, apa yang akan terjadi?

4. Jelaskan prinsip kerja UART pada rangkaian

Jawab :
1. Apabila hanya menggunakan 1 kabel saja maka saat dijalankan rangkaian akan error. Kondisi error ini disebabkan karena tidak adanya yang menjalankan perintah data yang diterima dari master melalui pin output pada slave. Dikarenakan awalnya data masuk ke master lalu master mengirim data ke slave yang terdiri 8bit data yang di transfer melalui Tx master dan diterima Rx slave. 

2. Tidak, masing - masingnya hanya menggunakan 1 perangkat baik pada slave maupun master. Hal ini dikarenakan pada UART menggunakan jalur data  tunggal dalam menerima maupun mentransmisikan sebuah data. 

3. Jika ditambahkan resistor 22k sebelum LED pada rangkaian percobaan maka tahanan pada resistor akan menghambat laju arus listrik, sehingga tegangan yang ditimbulkan yaitu sebesar 2 volt. Berdasarkan kondisi ini dapat dilihat LED mati dikarenakan tegangannya kecil dari 2,2volt. 

4. Komponen yang digunakan pada rangakai ini yaitu 2 arduino yaitu master dan slave kemudian button, LED red, ground. Button dihubungkan pada pin 2 arduino master kemudian LED red dihubungkan ke pin 12 slave selanjutnya keduanya dihubungkan ke ground. Selanjutnya tx master dihubungkan ke rx slave dan tx slave dihubungkan ke rx master. Untuk dapat menjalankan rangkaian ini sesuai dengan percobaan yang diminta maka dibuat program arduinonya. 
Pertama program master :
Define button 2 yaitu mendeklarasikan pin 2 yang dihubungkan pada button. 
Selanjutnya void setup () //Semua kode dalam fungsi ini dieksekusi sekali
Didalamnya terdapat pin mode(button,input pull up berarti button tersebut dideklarasikan sebagai input dimana apabila dia tidak ditekan buttonnya akan berlogika hight, sedangkan bila ditekan akan berlogika low.
Serial begin 9600 dimana akan menset baud rate 9600.
Kemudian void loop () //Semua kode dalam fungsi ini dieksekusi berulang
Didalamnya terdapat :
integer nilai = digitalRead(button); 
Artinya dia akan membaca apakah button tersebut ditekan atau tidak. Apabila ditekan, jika nilai = 0 atau logika low maka akan menjalankan serial print 1 berarti dia akan mengirimkan data 1. Jika nilai tidak sama 0 maka dia akan jalankan else lalu serial print 2 artinya dia akan mengirim data 2. Setelah pengecekan if atau else maka dilanjutkan dengan delay 200 untuk menunda waktunya 200 ms setelah delay kembali lagi perulangan pada fungsi void loop tersebut. Selanjutnya program dicomplie dan dicopy file bertipe hex lalu dimasukan ke program file arduino master.
Kemudian program pada arduino slave : 
Define led 12 //Deklarasi pin 12 untuk LED 
Void setup() //Semua kode dalam fungsi ini dieksekusi sekali
Didalamnya terdapat :
PinMode(led,OUTPUT); //Deklarasi LED sebagai output 
Kemudian serial.begin(9600);  //Set baud rate 9600
Kemudian void loop() //Semua program dalam fungsi ini dieksekusi berulang
Didalamnya :
If(serial.available()>0) 
Artinya akan mengecek apakah sudah ada data yang diterima dari master melalui transmiter master ke receiver slave. Kemudian apabila disapatkan data besar dari 0 maka dijalankan
Integer data = serial.read();
Artinya apabila tadi itu ditekan dan data yang dikirim adalah 1 maka
If (data=='1') //Jika data yang dikirimkan berlogika low berarti dapat data 1 sebelumnya maka dijalankan
DigitalWrite(led,HIGH); //LED menyala
Jika selain 1 maka dijalankan else
Maka digitalWrite(led,LOW); //LED mati
Kemudian setelah proses if else kembali perulangan fungsi void loop. Kemudian program dicomplie lalu dicopy file type hex dan dimasukan ke slave. Lalu di run. Selanjutnya dapat terlihat disini ketika button tersebut belum ditekan maka disini ada logika hight berarti data yang dikirimkan dari transmiter master bukan 1 yaitu 2 pada receiver slave karena pada sebelumnya pada program slave data yang diterima bukan 1 atau selain 1 maka dia LED mati. Apabila ditekan button akan berlogika low maka dari master tersebut akan dikirimkan data 1 pada receiver dari slave. Sehingga pada slave tersebut karena dia dapat data sama dengan 1 LED hidup. Kemudian transmiter dari slave gunanya untuk memberitahukan bahwa master slave tersebut telah menerima data dari master atau tidak.
 

7. Link Download [kembali]

Link HTML Download disini
Link Video Download disini 
Link Rangkaian Download disini
Link Program Arduino Master Download disini
Link Program Arduino Slave Download disini





Tidak ada komentar:

Posting Komentar

PRAKTIKUM MIKRO PROSESSOR DAN MIKRO KONTROLER (A) BAHAN UNTUK PRAKTIKUM  MIKRO PROSESSOR DAN MIKRO KONTROLER   2020          Oleh :  DEVARA ...