LoginSignup
0
0

More than 1 year has passed since last update.

MAX3232を利用してArduinoにRS232Cを追加する

Posted at

概要

Arduinoでプログラムを書くとき、PCとArduinoをRS-232Cで接続したいことがあります。もちろんシリアルモニタでなんとかなる場合もありますが、そうじゃなくてもう一系統欲しいんだよ!という思いを解決します。

解決方法

MAX3232を間に挟むことで解決できます。AliExpressやawmazonでArduinoにRS-232Cを追加するためのモジュールとして普通に売っています。複数の商品がありますが、写真を見る限り同じように見えるので、どれを買っても同じだと思います。
例えば以下のパーツなんて5個で600円なので、びっくり安いです(5個もいらないですけど、私はこれを買いました)

ソフトウェアシリアルを用いた通信

MAX3232をArduinoで利用する方法はとても簡単で、以下の図のようにDIGITALのピンとRXD/TXDのピンを接続するのみです。
MAX3232は5Vで動作するので電源は5Vから取り、GNDはGNDに接続します。

max3232.png

あとは、接続したピンの情報をもとに、適当にスケッチを描くだけです。
以下のようにスケッチを描けば、1秒ごとに"cnt:1"などと表示されます。

#include <SoftwareSerial.h>

// 第1パラメータがRXDと接続したPIN、第2パラメータがTXDと接続したPIN
SoftwareSerial max3232Serial(7, 8);

unsigned int cnt = 0;

void setup() {
  max3232Serial.begin(115200);
  max3232Serial.listen();
}

void loop() {
  ++cnt;
  char sprintfbuff[64] = {0};
  sprintf(sprintfbuff,"cnt:0x%02X", cnt);
  max3232Serial.println(sprintfbuff);
  delay(1000);
}

TeraTerm上の表示が↓

teraterm

さいごに

ということで、MAX3232を用いてソフトウェアシリアルでRS232Cを追加する方法を書きました。
パーツを買って繋げるだけで動くのですが、それだけの情報が意外と無くて、Arduino初心者の私は困ったのを覚えています。

このMAX3232モジュールも問題が無いわけではないのですが、普通に動いてくれているので、この値段であれば及第点かなと思っています。

私が気が付いた問題点

このMAX3232モジュールは、アダプタ部分にスペーサが付いています。そして、私が利用しているUSB-シリアル変換ケーブルにもスペーサが付いています。
故に、これらが干渉して繋がらない!現象が発生しました。

image.png

なんでやねん!と思いながらMAX3232モジュール側のスペーサを取り外したら、なんかフレームごと取れました。

image.png

これこそDIYだぜ!!!!最高!

参考記事

RS232C をUARTに変換し、Arduino で送受

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0