Baku Hashimoto

橋本 麦

Arduino同士でRS485通信

RS485を理解するための練習用です。参考にしたサイト。

ArduinoでRS485通信をしてみる – たぶん駄文

RS485の通信にはLTC485CN8を使いました。

LTC485CN8はDE,RE端子の状態によって送信、受信のモードを切り替えて使います。つまりマイコンは,DE,REに直結した端子をHIGHにしてから送信、LOWにしてから受信というように処理を行えばいいわけですね。あとはまぁ別に普通のシリアル通信です。

### 回路図

![回路図](/wp-content/uploads/2014/03/circuit.png)

### プログラム

必要最低限のコードです。秒数カウントを送信します。

### 送信側

int txden = 13;
int count = 0;

void setup(){
 Serial.begin(9600);
 pinMode(txden, OUTPUT);
 digitalWrite(txden, HIGH); // master
}

void loop(){
 Serial.write(count++);
 delay(1000);
}

### 受信側

int txden = 13;

void setup(){
  Serial.begin(9600);
  pinMode(txden, OUTPUT);
  digitalWrite(txden, LOW); // slave
}

void loop(){
  while(Serial.available()){
    byte inChar = (byte)Serial.read();
    Serial.println(inChar);
  }
  delay(10);
}