Judul : Komunikasi Serial RS485, Dari PC ke Arduino.
link : Komunikasi Serial RS485, Dari PC ke Arduino.
Komunikasi Serial RS485, Dari PC ke Arduino.
Hallo sobat Arduino Indonesia, pada postingan kali ini kita akan membangun sebuah komunikasi serial RS485 antara PC ke Arduino dengan menggunakan modul RS485 TTL Converter. Menurut datasheet panjang kabel yang bisa kita gunakan menggunakan komunikasi ini bisa mencapai 1,200m. namun sejauh ini yang sudah pernah dicoba hanya sepanjang 1m.Hardware yang kita gunakan antara lain:
1. Arduino NANO 4 buah sebagai slave.
2. Modul MAX485 4 buah.
3. USB to RS485 1 buah.
4. PC/Notebook sebagai master.
Software:
- Arduino IDE (saya menggunakan versi 1.8.3)
Berikut rangkaian schematicnya:
Oke, sekarang langsung saja ke program:
#include <SoftwareSerial.h>
#define SSerialRX 10 //Pin R1 pada RS485 TTL Converter
#define SSerialTX 11 //Pin D1 pada RS485 TTL Converter
#define SSerialTxControl 3 //Pin DE dan RE pada RS485 TTL Converter
#define RS485Transmit HIGH
#define RS485Receive LOW
String inputString = "";
boolean stringComplete = false;
SoftwareSerial RS485Serial(SSerialRX, SSerialTX);
void setup() {
// put your setup code here, to run once:
pinMode(SSerialTxControl, OUTPUT);
digitalWrite(SSerialTxControl, RS485Receive);
RS485Serial.begin(115200); //setting baudrate
inputString.reserve(200);
}
void serialEvent() {
while (RS485Serial.available()) {
char inChar = (char)RS485Serial.read();
inputString += inChar;
if (inChar == '\n') {
stringComplete = true;
digitalWrite(SSerialTxControl, RS485Transmit);
}
}
}
void loop() {
// put your main code here, to run repeatedly:
if (RS485Serial.available()> 0 ){
inputString = RS485Serial.readString();
String Start = inputString.substring(0,10);
digitalWrite(SSerialTxControl, RS485Transmit);
RS485Serial.println("OK");
RS485Serial.print("Data : ");
RS485Serial.println(Start);
digitalWrite(SSerialTxControl, RS485Receive);
}}
#define SSerialRX 10 //Pin R1 pada RS485 TTL Converter
#define SSerialTX 11 //Pin D1 pada RS485 TTL Converter
#define SSerialTxControl 3 //Pin DE dan RE pada RS485 TTL Converter
#define RS485Transmit HIGH
#define RS485Receive LOW
String inputString = "";
boolean stringComplete = false;
SoftwareSerial RS485Serial(SSerialRX, SSerialTX);
void setup() {
// put your setup code here, to run once:
pinMode(SSerialTxControl, OUTPUT);
digitalWrite(SSerialTxControl, RS485Receive);
RS485Serial.begin(115200); //setting baudrate
inputString.reserve(200);
}
void serialEvent() {
while (RS485Serial.available()) {
char inChar = (char)RS485Serial.read();
inputString += inChar;
if (inChar == '\n') {
stringComplete = true;
digitalWrite(SSerialTxControl, RS485Transmit);
}
}
}
void loop() {
// put your main code here, to run repeatedly:
if (RS485Serial.available()> 0 ){
inputString = RS485Serial.readString();
String Start = inputString.substring(0,10);
digitalWrite(SSerialTxControl, RS485Transmit);
RS485Serial.println("OK");
RS485Serial.print("Data : ");
RS485Serial.println(Start);
digitalWrite(SSerialTxControl, RS485Receive);
}}
Berikut ini merupakan hasil dari Serial Monitor pada Arduino IDE:
Demikianlah Artikel Komunikasi Serial RS485, Dari PC ke Arduino.
Sekianlah artikel Komunikasi Serial RS485, Dari PC ke Arduino. kali ini, mudah-mudahan bisa memberi manfaat untuk anda semua. baiklah, sampai jumpa di postingan artikel lainnya.
Anda sekarang membaca artikel Komunikasi Serial RS485, Dari PC ke Arduino. dengan alamat link https://arduinolibs.blogspot.com/2018/10/komunikasi-serial-rs485-dari-pc-ke.html
0 Response to "Komunikasi Serial RS485, Dari PC ke Arduino."
Post a Comment