橋本 Hashimoto   Baku

橋本 Hashimoto   Baku

Arduino同士でRS485通信 (Scratchpad)

This page is a personal scratchpad.

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

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

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

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

### 回路図

回路図

### プログラム

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

### 送信側

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);
}