Komunikasi serial digunakan oleh arduino untuk dapat berkomunikasi dengan komputer atau perangkat lain ( mikrokontroller lain, modul bluetooth, sensor berbasis serial, dll). Pada arduino, komunikasi serial terdapat pada pin TX/RX dan menggunakan tegangan logic TTL ( 5v atau 3.3v tergantung jenis arduinonya). Sedangkan pada komputer(RS232) tegangan logic yang dipakai adalah +12v dan -12v. Semua arduino sudah bisa melakukan komunikasi serial secara default ke komputer melalui USB. Nah, kali ini kita akan mencoba menggunakan fungsi tersebut.
Membaca sensor potensiometer kemudian menampilkan nilai sensornya ke komputer melalui komunikasi serial. Mengirimkan text dan angka dari komputer ke arduino, kemudian diterjemahkan oleh perangkat arduino dengan cara menghidupkan lampu LED.Pin Serial pada arduino adalah pada Pin 0 (RX) dan Pin 1 (TX). So, Jika kita sudah menggunakannya sebagai alat komunikasi serial, maka kita tidak bisa lagi menggunakan Pin tersebut untuk keperluan lain.
Istilah yang perlu diketahui :
BAUDRATE : kecepatan transfer data dalam bit per detik atau bit per second (bps).
Untuk dapat berkomunikasi dengan komputer, terdapat beberapa pilihan baudrate pada arduino yaitu 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, atau 115200.
Pada sisi komputer, kita dapat menggunakan built in serial monitor untuk menampilkan data-data yang kita kirim dari arduino. Klik menu Tools, lalu pilih Serial Monitor. Atau tekan tombol Ctrl+Shift+M. Jangan lupa ya, samakan baudratenya dengan yang sudah kita set di arduino.
Menampilkan "Halo Arduino"
Alat yang diperlukan :
- arduino
- kabel USB to arduino
Program :
void setup()
{
Serial.begin(9600); // set baudrate 9600
}
void loop()
{
Serial.println("Halo Arduino");
delay(1000);
}
Maka pada serial monitor akan muncul seperti pada gambar di bawah ini
Serial.println adalah perintah untuk mengirimkan data untuk ditampilkan di layar/LCD.
ln pada Serial.println berarti memerintahkan kursor untuk pindah ke baris baru setelah data terkirim.
Menampilkan Perubahan Data
Setelah mengetahui cara menampilkan kalimat melalui komunikasi serial, sekarang kita akan mencoba untuk menampilkan data yang selalu berubah nilainya.
Program :
int angka=0;Maka pada layar komputer akan terlihat seperti berikut
void setup()
{
Serial.begin(9600); // set baudrate 9600
}
void loop()
{
angka=angka+1;
Serial.print("Ini adalah baris ke : ");
Serial.println(angka);
delay(1000);
}
Menyalakan Lampu LED
Nah, pada percobaan kali ini, kita akan mencoba membuat lampu LED berkedip dengan jumlah kedipan sesuai dengan angka yang kita masukkan melalui komputer.
Komponen yang diperlukan :
- lampu LED
- resistor 330Ohm/220Ohm
- arduino
- kabel USB to arduino
- breadboard
Rangkailah seperti pada skema di bawah ini
apabila menggunakan breadboard, maka akan seperti ini
Program :
int x, angka;
int led=11;
void setup()
{
Serial.begin(9600);
pinMode(led,OUTPUT);
Serial.println("LED berkedip");
Serial.print("kedipan : ");
}
void loop()
{
while(Serial.available()==0)
{}
angka=Serial.read()-'0';
Serial.println(angka);
for (x=1; x<=angka; x++)
{
digitalWrite(led, HIGH);
delay(200);
digitalWrite(led, LOW);
delay(200);
}
angka=0;
Serial.print("kedipan : ");
Serial.flush();
}
Program di atas mampu menerima masukan angka 0-9 saja ya. untuk angka lebih dari 10 maka akan diartikan berbeda oleh arduino.
Silakan mencoba 😌
o min
ReplyDeletemakasih min
solder uap