Modul 3 : Tugas Pendahuluan 1

 

PERCOBAAN 1 KONDISI 2



1. Kondisi
[Kembali]

     Buatlah kondisi awal LED mati, lalu hidup berkedip dengan delay 1000 ms

2. Rangkaian Simulasi [Kembali]


3. Video [Kembali]



4. Prinsip Kerja [Kembali]
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);
}

//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
delay(1000);
digitalWrite(led,LOW);
delay(1000);
}
else
{
digitalWrite(led,LOW); //LED mati
}}}

Terdapat 2 program yang digunakan pada modul ini, program master dan slave. pada program master, bagian header nya di isi dengan deklarasi pin 2 untuk menghubungkan button dengan arduino. Pada bagian set up,  fungsi pinmode() dan serial.begin() dideklarasikan untuk memberikan suatu nilai logika yang berasal dari button ke arduino dan mengatur kecepatan transferdata sebesar 9600 bps. Pada bagian loop, variabel nilai diklarasikan sebagai fungsi digitalread(button) untuk membaca inputan dari button. fungsi if() memberikan kondisi apabila variabel nilai memiliki nilai 0 maka fungsi serial print("1") akan mentranfer angka 1 dari pin Tx ke slave dan jika kondisi tidak terpenuhi, fungsi serial print("2") akan mentranfer angka 2 dari pin Tx ke slave . fungsi delay memberikan jeda 200 ms sebelum lop[ing dilakukan.
Pada program slave, bagian header nya di isi dengan deklarasi pin 12 untuk menghubungkan  LED dengan arduino. Pada bagian set up, fungsi pinmode() dan serial.begin() dideklarasikan untuk memberikan suatu nilai logika pada LED dan mengatur kecepatan penerimaan data sebesar 9600 bps. Pada bagian loop, fungsi if() pertama memberikan kondisi apabila fungsi serial.avaible() bernilai besar dari 0 maka variabel data sebagai serial.read() yang berfungsi untuk membaca transferdata dari master melalui pin Rx akan dideklarasikan dan  fungsi if() kedua dijalankan. Namun jika kondisi tidak terpenuhi, fungsi digitalwrite(led,LOW) akan dijalankan (LED mati). fungsi if () kedua memberikan kondisi apabila variabel data sama dengan 1 maka fungsi digitalWrite(led,High) akan memberikan logika HIGH pada LED (LED hidup) kemudian fungsi  digitalwrite(led,LOW) akan dijalankan (LED mati), fungsi delay pada fungsi if() kedua akan memberikan jeda hidup dan mati LED selama 1 detik.

5. Link Download [Kembali]
  1. HTML [disini]
  2. File Simulasi [disini]
  3. Video [disini]
  4. Datasheet LED [disini]
  5. Datasheet Button [disini]
  6. Datasheet  Arduino Uno [disini]