//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);
}
//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
}
}
}
Percobaan 1 :
1) 1) Jika pada led
dan push button ditambahkan 100k ohm resistor, apa yang akan terjadi? Jelaskan
Jawab :
Jika pada LED dan push button di tambahkan resistor 100k maka LED tidak
menyala, hal ini terjadi karena besarnya nilai tahanan pada resistor aka
menghambat laju arus listrik sehingga tidak bisa membuat LED menyala karena
tegangan yang sampai ke LED kecil.
2) 2) Bagaimana
pengaruh input pullup / pulldown pada rangkaian? Jelaskan
Jawab :
Pada rangkaian ini kita menggunakan input pullup yang mana button akan
berlogika low(berlogika 0) jika ditekan. Jika button tidak ditekan maka akan
menghasilkan logika High(berlogika 1), kemudian Arduino mencetak 1 sesuai
program master dan dikirim ke slave. Karena data dari master adalah ‘1’, slave
akan memprosesnya untuk menghidupakan LED, yang mana program arduino
mencetaknya menjadi angka 2 dan dikirim ke slave. Program slave akan memproses
nilai selain ‘1’ dengan perintah LED mati, termsuk ‘2’.
Tidak ada komentar:
Posting Komentar