TUGAS PENDAHULUAN
1. Kondisi [Kembali]
Pada praktikum ini dipilih kondisi 8 percobaan 1 yaitu tambahkan resistor sebelum button sebesar 1k ohm
2. Rangkaian Simulasi [Kembali]
Gambar 2. Rangakaian Percobaan 1
3.Flowchart [Kembali]
Gambar 3.1 Flowchart Program Arduino Master
Gambar 3.2 Flowchart Program Arduino Slave
4. Listing Program [Kembali]
Listing Master
//Listing 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);
//Button ditekan
if (nilai == 0)
{
Serial.print("1");
}
else
{
Serial.print("2");
}
delay(200);
}
#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);
//Button ditekan
if (nilai == 0)
{
Serial.print("1");
}
else
{
Serial.print("2");
}
delay(200);
}
Listing Slave
//Listing 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
}
}
}
#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 [Kembali]
Video Penjelasan Rangakaian Percobaan
Pada
rangkaian ini digunakan komunikasi UART (Universal Asynchronous
Receiver-Transmitter). Komunikasi UART digunakan pada dua arduino yang
masing - masing berperan sebagai master dan slave. Kaki pin 2 dari
arduino master dihubungkan ke resistor dan button secara seri kemudian
dilanjutkan ke ground. Kaki pin txd master dihubungkan ke rxd slave, dan
rxd master dihubungkan ke txd slave. Kemudian kaki pin 12 pada slave
dihubungkan ke Led. Setelah itu dibuat program pada master dan juga
slave. Pada bagian master, saat button ditekan, maka akan berlogika 0
(karena terhubung ke ground). Saat button berlogika 0, maka akan
menampilkan "1" pada serial monitor, dan ketika tampil "1", slave akan
mendeteksi dan Led hidup. Ketika button tidak ditekan, maka input 2 dari
slave akan bernilai "1" karena yang kita gunakan adalah perintah input
pull_up. Input_pullup akan berlogika 1 pada defaultnya. Saat berlogika
1, maka akan ditampilkan angka "2" pada serial monitor. Kemduian slave
akan mendeteksi dan Led mati. Saat diberi logita 1 yaitu saat button
ditekan maka LED akan hidup , dan disaat diberikan logika 0 atau saat
buttin tidak ditekan maka LED mati.
6. Link Download [Kembali]
Download Video disini
Download Rangkaian disini
Download HTML disini
Tidak ada komentar:
Posting Komentar