- Tujuan
a) Memahami prinsip kerja UART, SPI, dan I2C
b) Mengaplikasikan protokol komunikasi UART, SPI, dan I2C pada Arduino
b) Mengaplikasikan protokol komunikasi UART, SPI, dan I2C pada Arduino
- Kondisi
Mengganti LED dengan Buzzer, sehingga ketika button ditekan maka buzzer akan hidup dengan delay 200ms lalu mati , jika tidak buzzer mati
- Button
Push button switch (saklar tombol tekan) adalah perangkat / saklar sederhana yang berfungsi untuk menghubungkan atau memutuskan aliran arus listrik dengan sistem kerja tekan unlock (tidak mengunci). Sistem kerja unlock disini berarti saklar akan bekerja sebagai device penghubung atau pemutus aliran arus listrik saat tombol ditekan, dan saat tombol tidak ditekan (dilepas), maka saklar akan kembali pada kondisi normal.
Buzzer atau pager adalah perangkat sinyal audio, yang mungkin mekanis, elektromekanis, atau piezoelektrik. Penggunaan khas buzzer dan pager termasuk perangkat alarm, timer, dan konfirmasi input pengguna seperti klik mouse atau keystroke.
- Arduino Uno
Arduino Uno adalah board mikrokontroler berbasis ATmega328 (datasheet). Memiliki 14 pin input dari output digital dimana 6 pin input tersebut dapat digunakan sebagai output PWM dan 6 pin input analog, 16 MHz osilator kristal, koneksi USB, jack power, ICSP header, dan tombol reset. Untuk mendukung mikrokontroler agar dapat digunakan, cukup hanya menghubungkan Board Arduino Uno ke komputer dengan menggunakan kabel USB atau listrik dengan AC yang-ke adaptor-DC atau baterai untuk menjalankannya.
3. Rangkaian Percobaan + Prinsip Kerja [Kembali]
- Prinsip Kerja
Rangkaian bekerja sesuai dengan listing progam yang diberikan, pada rangakaian ketika button di tekan maka buzzer akan menyala dengan delay 200ms lalu mati dan terus berulang. ketika button tidak ditekan maka buzzer tidak akan menyala.
- Listing program
//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);
//Button ditekan
if (nilai == 0)
{
Serial.print("1");
}
else
{
Serial.print("2");
}
delay(200);
}
//Listing Program SLAVE
#define buzzer 12 //Deklarasi pin 12 untuk buzzer
void setup() //Semua kode dalam fungsi ini dieksekusi sekali
{
pinMode(buzzer, OUTPUT); //Deklarasi Buzzer 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(buzzer, HIGH); //buzzer menyala
delay(200);
digitalWrite (buzzer,LOW);
delay(200);
}
else
{
digitalWrite(buzzer, LOW); //buzzer mati
}
}
}
1. apakah pin SS bisa diganti dengan pin digital
lain?
Jawaban :
Dari hasil percobaan diketahui tidak bisa, karena peletakan pin SS hanya
terletak pada pin 10 digital dan jika di ganti maka tidak akan bekerja.
2. apa yang terjadi jika pin MISO di lepas?
Jawaban :
Dari hasil percobaan apabila pin miso dilepas maka
device slave tidak dapat mengirim kembali data device master.
3. Apakah pada komunikasi ini bisa menggunakan multi
master?
Jawaban :
Dari hasil percobaan diketahui tidak bisa,
dikarenakan jalur yang bisa digunakn hanya 1 yaitu untuk pin SS.
6. Video [Kembali]
Tidak ada komentar:
Posting Komentar