KOMUNIKASI SERIAL ARDUINO DENGAN MENYALAKAN 1 LED
Sebelum kita membuat suatu program rangkaian ,kita harus mengetahui dasar dari komunikasi serial ,berikut ini saya akan membahas apa itu komunikasi serial serta fungsinya terlebih dahulu sebelum melanjutkan ke pemograman
PENGERTIAN KOMUNIKASI SERIAL MIKROKONTROLER
Komunikasi serial adalah komunikasi
yang pengiriman datanya per-bit secara berurutan dan bergantian.
Komunikasi ini mempunyai suatu kelebihan yaitu hanya membutuhkan satu
jalur dan kabel yang sedikit dibandingkan dengan komunikasi paralel.
Pada prinsipnya komunikasi serial merupakan komunikasi dimana pengiriman
data dilakukan per bit sehingga lebih lambat dibandingkan komunikasi
parallel, atau dengan kata lain komunikasi serial merupakan salah satu
metode komunikasi data di mana hanya satu bit data yang dikirimkan
melalui seuntai kabel pada suatu waktu tertentu. Pada dasarnya
komunikasi serial adalah kasus khusus komunikasi paralel dengan nilai n =
1, atau dengan kata lain adalah suatu bentuk komunikasi paralel dengan
jumlah kabel hanya satu dan hanya mengirimkan satu bit data secara
simultan.Hal ini dapat disandingkan dengan komunikasi paralel yang
sesungguhnya di mana n-bit data dikirimkan bersamaan, dengan nilai
umumnya 8 ≤ n ≤ 128.
Komunikasi serial ada dua macam,
asynchronous serial dan
synchronous serial.
=> Synchronous serial
adalah komunikasi dimana hanya ada satu pihak (pengirim atau penerima)
yang menghasilkan clock dan mengirimkan clock tersebut bersama-sama
dengan data. Contoh pengunaan
synchronous serial terdapat pada transmisi data keyboard.
=> Asynchronous serial
adalah komunikasi dimana kedua pihak (pengirim dan penerima)
masing-masing menghasilkan clock namun hanya data yang ditransmisikan,
tanpa clock. Agar data yang dikirim sama dengan data yang diterima, maka
kedua frekuensi clock harus sama dan harus terdapat sinkronisasi.
Setelah adanya sinkronisasi, pengirim akan mengirimkan datanya sesuai
dengan frekuensi clock pengirim dan penerima akan membaca data sesuai
dengan frekuensi clock penerima. Contoh penggunaan asynchronous serial
adalah pada Universal Asynchronous Receiver Transmitter (UART) yang
digunakan pada serial port (COM) komputer.
Fungsi fungsi yg tersedia untuk komunikasi serial Arduino
- if (Serial) : Untuk mengecek apakah Port sudah siap
- Serial.available() : Untuk mengecek apakah data sudah ada di buffer penerima
- Serial.begin() : untuk mengeset kecepatan transmisi data
- serial.end() : Untuk menon-aktifkan pin rx dan tx sbg fungsi serial dan kembali sbg pin I/O
- Serial.find() : mencari string dlm buffer data
- Serial.findUntil(): mencari buffer data sampai data dgn panjang/terminator nya yg diberikan ditemukan
- Serial.flush(): menunggu data terkirim semua
- Serial.parseFloat(): mengambil data float pertama dari data di buffer serial.
- serial.parseInt(): mengambil data integer pertama dari data di buffer serial.
- Serial.peek(): mengambil data berikutnya di bufer penerima
- Serial.print() : mengirim data ASCII
- Serial.println() : mengirimdata ASCII + CR,LF (kode enter)
- Serial.read(): membaca data yg diterima
- Serial.readBytes(): membaca data byte yg diterima
- Serial.readBytesUntil()
- Serial.setTimeout(): mengeset batas maksimum waktu tunggu(timeout) transmisi data.
- Serial.write() : mengirim data byte (numerik)
- Serial.serialEvent(): fungsi ini akan dipanggil jika data datang/diterima.berlaku spt interupsi serial.
Setelah mengetahui fungsi dari komunikasi serial tersebut kita memulai untuk membuat suatu program di arduino dengan menggunakan 1 lampu ,menyalakan dan mematikannya menggunakan tombol angka pada keyboard yaitu tombol angka 0 dan 1 . Only 0 dan 1 saja ya :) ]
Langkah-langkahnya sebagai berikut :
1. siapkan alat yg digunakan yaitu : protoboard , arduino , kabel USB ,kabel jumper ,LED ,Resistor 330
protoboard
arduino
kabel USB
kabel jumper
LED
Resistor 330
2. Buka aplikasi Arduino yg sudah di install di komputer/laptop kalian
3. Akan muncul tampilan halaman seperti ini
4. Tulislah program di software Arduino,program saya seperti di bawah ini
#define led 13
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
while (!Serial);
pinMode(led,OUTPUT);
}
void loop()
// put your main code here, to run repeatedly:
{
while (Serial.available() > 0){
switch (int i = Serial.parseInt()) {
case 0 ... 1:
digitalWrite(led, (i == 0) ? LOW : HIGH);
Serial.println((i == 0)? "LED off" : "LED on");
break;
default:
Serial.println("Hanya ada 0 atau 1");
break;
}
}
delay(10);
}
5. Lalu rangkailah di protoboard dengan menggunakan arduino uno ,kabel USB yg sudah satu paket dengan arduino , kabel jamper ,LED dan Resistor 330.
6. Pasang resistor pada protoboard lalu kaki pada led yg pendek disambungkan pada resistor dan kaki yg panjang di sambungkan pada port no 13 pada arduino dengan kabel jumper ,serta kaki resistor yg satunya lg disambungkan pada ground arduino dengan kabel jumper.
7. Kemudian sambungkan USB arduino pada monitor ,lalu pilih com 3 (menyesuaikan com),samakan baud di program dengan di 9600
8. Klik verify kalo tidak ada pemberitahuan eror berarti program yg dibuat sudah benar ,jika belum benar maka diteliti terlebih dahulu mungkin ada yg kurang tanda atau salah capslocknya ,selanjutnya jika sudah benar klik upload
9. Jika berhasil, maka pada saat menekan angka 1 lalu dienter led akan menyala dan ketika menekan angka 0 lalu dienter maka led akan mati, jika menekan angka selain 0 dan 1 akan ada pemberitahuan hanya ada 0 atau 1
Sekian Ilmu yang bisa saya sampaikan kepada kalian semua ,semoga apa yg saya sampaikan dapat berguna untuk kalian,Sekian dan terimakasih ,Terimakasih sudah berkunjung di Blog saya :) ,jangan lupa mampir lg nanti hehehehe :)