---
title: Arduino同士でRS485通信
date: 2014-03-07T00:00:00.000Z
updated: 2026-01-08T14:50:38.249Z
tags:
  - tips
  - arduino
  - "2014"
  - 2014/03
  - 2014/03/07
url: https://baku89.com/2014/03/07/arduino%E5%90%8C%E5%A3%AB%E3%81%A7rs485%E9%80%9A%E4%BF%A1
---

# Arduino同士でRS485通信

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

[Arduino で RS485 通信をしてみる - たぶん駄文](http://javatea.blog.abk.nu/058%22)

RS485 の通信には[LTC485CN8](http://akizukidenshi.com/catalog/g/gI-02792/)を使いました。

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

### 回路図

![回路図](https://wp.baku89.com/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);
}
```
