Percobaan 1 - UART
2. Rangkaian Simulasi [kembali]
//MASTER
#include <LiquidCrystal.h> //Deklarasi library LCD
#define button 2 //Deklarasi pin 2 untuk button
LiquidCrystal lcd(3, 4, 5, 6, 7, 8); //Deklarasi pin 3-8 untuk LCD
void setup() //Semua kode dalam fungsi ini dieksekusi sekali
{
pinMode(button, INPUT_PULLUP);
Serial.begin(9600); //Set baud rate 9600
lcd.begin(16, 2); //Dimensi LCD yang digunakan
}
void loop() //Semua kode dalam fungsi ini dieksekusi berulang
{
int nilai = digitalRead(button); //Button ditekan
if (nilai == 0)
{
Serial.print("1");
lcd.clear(); //Menghapus layar LCD
lcd.setCursor(0, 0); //Menentukan posisi k
lcd.print("1"); //Menampilkan text pada LCD
}
else
{
Serial.print("2");
lcd.clear(); //Menghapus layar LCD
lcd.setCursor(0, 0); //Menentukan posisi kursor pada awal penulisan
lcd.print("2"); //Menampilkan text pada LCD
}
delay(200);
}
//SLAVE
#include <LiquidCrystal.h> //Deklarasi library LCD
void setup() //Semua kode dalam fungsi ini dieksekusi sekali
{
pinMode(12, 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(12, HIGH); //LED menyala
}
else
{
digitalWrite(12, LOW); //LED mati
}
}
}
1. Analisa apa yang terjadi jika tidak ada delay (Master) pada percobaan diatas
Fungsi delay()
Cara kerja fungsi Delay () cukup sederhana. Fungsi ini menerima argumen bilangan bulat (bilangan). Bilangan ini merepresentasikan waktu (diukur dalam milidetik). Program harus menunggu sampai pindah ke baris kode berikutnya ketika bertemu fungsi ini
Jika tidak ada delay (master) pada percobaan diatas ketika kita menekan tombol button maka led akan lansung menyala
6. Link Download [kembali]
- Listing Program Link Download
- Video Link Download
- Simulasi Proteus Link Download
.
Tidak ada komentar:
Posting Komentar