TP M3 P1




1. Kondisi [Kembali]

Percobaan 1 kondisi8

tambahlah resistor sebesar 1k ohm sebelum button.

2. Gambar [Kembali]
 
 
 
3. Video simulasi [Kembali]  




4. Prinsip kerja rangkaian [Kembali]

Pada percobaan ini kita menggunakan beberapa komponen diantaranya ada 2 buah arduino (master dan slave), ada button, resistor ,LED dan ground. Pin 2 pada arduino master dihubungkan dengan resistor dan button, lalu pin transmiter master dihubungkan dengan receiver slave dan sebaliknya receiver master dihubungkan dengan transmiter slave, lalu pin 12 pada slave dihubungkan dengan LED. Secara sederhana prinsip kerjanya yaitu, jika button ditekan maka pin 2 master akan menerima nilai lalu master akan memberikan perintah dan slave akan menerima/mengerjakan perintah dari master tersebut.

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

Prinsip kerja dari program master yaitu, pertama-tama deklarasikan pin 2 untuk button, lalu ada fungsi void setup dimana pada fungsi ini semua kode akan di eksekusi secara sekali. Lalu dalam fungsi  void setup ada pinMode(Button,INPUT_PULLUP)  berfungsi untuk mendeklarasikan button sebagai input pullup. Maksud input pullup yaitu, ketika button tidak di tekan maka dia akan berlogika 1, sedangkan jika button ditekan dia akan berlogika 0. Selanjutnya ada Serial.beggin(9600) berfungsi untuk mengatur kecepatan pengiriman data melalui port serial.

Lalu ada fungsi void loop yang mana dalam fungsi ini semua kode akan di eksekusi berulang, dalam fungsi ini ada variabel nilai= digitalRead(button) dengan tipe data integer. Selanjutnya jika button ditekan maka nilainya 0 sehingga serial print bernilai (1). Fungsi serial print adalah untuk mengirimkan data ke port serial, lalu jika nilai nya selain 0 (button tidak ditekan) sehingga serial print nya akan bernilai (2), kemudian ada delay(200) yaitu jarak 200ms untuk mengeksekusi program.

 

Listing program 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) //menghasilkan jumlah byte di port serial
{
int data = Serial.read(); //membaca satu byte data yang terdapat di port seial
if(data=='1') //Jika data yang dikirimkan berlogika
{
digitalWrite(led,HIGH); //LED menyala
}
else
{
digitalWrite(led,LOW); //LED mati  
}
}
}

prinsip kerja dari program slave

Pertama tama deklarasikan pin 12 untuk LED,lalu ada fungsi void setup dimana dalam fungsi ini semua kode akan dieksekusi sekali, dalam fungsi ini terdapat syntak pinMode(led,OUTPUT) yaitu untuk mendeklarasikan led sebagai output dan ada Serial.begin(9600) berguna untuk mengatur kecepatan pengiriman data menggunakan port serial.

Selanjutnya ada fungsi void loop dimana dalam fungsi ini semua kode akan dieksekusi secara berulang, dalam fungsi ini terdapat syntak if (Serial.available()>0) yang mana serial.available ini berguna untuk menghasilkan jumlah byte di port serial yang belum terbaca.  Lalu ada variable data dengan tipe data integer yang akan membaca satu byte data yang terdapat di port serial. Jika data yang terbaca adalah 1 (saat button button pada master) maka led akan berlogika high sehingga led akan menyala. Sedangkan jika data yang terbaca selain 1 maka led akan berlogika low sehingga led tidak akan menyala.

5. Link download [Kembali]

Tidak ada komentar:

Posting Komentar

  Bahan Presentasi untuk Mata Kuliah ELEKTRONIKA 2020/2021 OLEH: Muhammad zikra 2010952052 Dosen Pengampu: Darwison, M.T Referensi: