--> Project V - 37. Komunikasi Serial Arduino - Arduino | Tutorial arduino lengkap

Saturday, August 5, 2017

Project V - 37. Komunikasi Serial Arduino - Arduino

| Saturday, August 5, 2017
Komunikasi Serial Arduino - Arduino





Sistem Kerja Alat

Pada beberapa proyek Arduino dibutuhkan jarak monitoring ataupun controlling yang jauh, lebih dari 100 m. Kasus seperti itu tentu membutuhkan kevalid-an data. Kalau hanya mengandalkan kabel data tentu akan banyak yang ‘error’. Salah satu solusinya dengan membuat komunikasi antara 2 Arduino. Misalnya 1 Arduino sebagai ‘Master’ yang akan menampilkan hasil pembacaan sensor. Di tempat yang jauh berjarak 300 m misalnya terdapat 1 Arduino sebagai ‘Slave’ yang membaca sensor kemudian mengirimkannya ke ‘Master.

Aplikasi ini merupakan dasarnya, bagaimana sebuah Arduino ‘Master’ mengirimkan data ke Arduino ‘Slave’ yang hasilnya ditampilkan di LCD.

Untuk hasil yang sebenarnya (jangkauan jauh) cukup tambahkan modul RS232 pada masing – masing Arduino.


Kebutuhan Hardware

  • Arduino UNO Board : 2 unit
  • Kabel konektor
  • Modul LCD 2x16
  • Power Supply 7-9 Vdc


Schematics



Untuk programnya (Source Code/Sketch) terdapat 2 : satu untuk Master dan 1 untuk Slave.


Source Code untuk Master
#include <SoftwareSerial.h>
#define SSerialRX 8 //Serial Receive pin
#define SSerialTX 9 //Serial Transmit pin
#define Pin13LED 13
SoftwareSerial SSerial(SSerialRX, SSerialTX); // RX, TX
int byteReceived;
void setup()
{
Serial.begin(9600);
Serial.println("99+ PROYEK ARDUINO");
Serial.println("Master Serial...");
pinMode(Pin13LED, OUTPUT);
SSerial.begin(9600); // set the data rate
delay(3000);
}
void loop()
{
digitalWrite(Pin13LED, HIGH);
if (Serial.available())
{
byteReceived = Serial.read();
SSerial.write(byteReceived);
digitalWrite(Pin13LED, LOW); // Show activity
delay(200);
}
}


Source Code untuk Slave
#include <LiquidCrystal.h>
#include <SoftwareSerial.h>
#define RX 8 //Serial Receive pin
#define TX 9 //Serial Transmit pin
#define Pin13LED 13
SoftwareSerial SSerial(RX, TX); // RX, TX
LiquidCrystal lcd(2,3,4,5,6,7);
int byteReceived;
int byteSend;
void setup()
{
pinMode(Pin13LED, OUTPUT);
SSerial.begin(9600);
lcd.begin(16, 2);
lcd.print(" Serial Slave ");
lcd.setCursor(0,1);
}
void loop()
{
if (SSerial.available())
{
byteReceived = SSerial.read(); // Read the byte
lcd.setCursor(0,1);
lcd.print(char(byteReceived));
digitalWrite(Pin13LED, HIGH); // Show activity
delay(200);
digitalWrite(Pin13LED, LOW);
}
}


Jalannya Alat




Ketikan 1 karakter, misalnya angka 5 pada bagian kotak atas Serial Monitor kemudian klik ‘Send’.


Lihat hasilnya di LCD (Slave). Akan tampil angka ‘5’ pada LCD baris kedua. Coba juga untuk karakter yang lain.

LCD 16x2 Source
Jika akan diterapkan pada jarak yang jauh, tambahkan modul RS232 pada masing – masing Arduio.

RS232 Module (Source)





Video Project V - 37. Komunikasi Serial Arduino - Arduino 




KAMI MELAYANI JASA PEMBUATAN HARDWARE ATAU SOFTWARE BERBASIS ARDUINO

KONTAK KAMI 085743320570 (adi sanjaya)

Related Posts

No comments:

Post a Comment