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:
Kalo mau komunikasi arduino ke power logic pm5350 bagaimana?
BalasHapusBisa
Hapusboleh dibantu? pakai max485 unowifi, konek ke PM710 Sneider.
HapusGan..boleh minta no wa or emailnya
BalasHapuskirim ke mardiyansah06@gmail.com