LoginSignup
12
10

More than 5 years have passed since last update.

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

Posted at

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

Arduinoでプログラムを書くときArduinoのシリアル出力をPCでデバックしたい、といったことがたまにあります。ArduinoのUARTとPCのRS232C(実際にはUSB<->RS232C変換)ポートにつないでArduinoのデバックモニタを実現したいと思います。RS232CとUARTは信号の信号電圧が違っています。RS232Cは±12V、UARTは+5Vですね。秋月通商で購入した「3V・3.3V・5V系-RS232レベル変換基板」を使って、電圧変換をします。

http://akizukidenshi.com/catalog/g/gK-06464/
http://akizukidenshi.com/download/ds/akizuki/AE-ADM3202_manual.pdf

  • USB-CVRS9を使って、USBをRS232Cに変換する。
    https://www.sanwa.co.jp/product/syohin.asp?code=usb-cvrs9
  • RS-232Cの出力をADM3202でUARTに変換
  • UART をArduinoで受信
  • Arduino で同じデータをUARTで送信
  • UARTをADM3202でRS232Cに変換
  • PCでUSBを介してRS232Cを受信

という実験を行いました。

IMG_2809.jpg

RS232Cレベル変換基板(ADM3202)はコネクタに直接半田づけをします。ADM3202のジャンパ、JP1はArduinoの電源をはんだでショートをしました。

IMG_2807.JPG

ADM3202とArduinoの接続は次の図の通りです。
IMG_2810.jpg

ArduinoのプログラムはSerialを受けて、Serialを出力します。


void setup() {
    Serial.begin(230400);
}

uint8_t incomingByte;

void loop()
{
    if (Serial.available() > 0) {     // 受信したデータが存在する
        incomingByte = Serial.read(); // 受信データを読み込む
        Serial.write(incomingByte);   // データを出力する
    }
}

Arduino のシリアル入出力のボーレートをいろいろ試してみました。9,600bps から921,600bpsまで試してみましたが、230,400bpsが安定してデータを送受信できる最大値でした。

12
10
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
12
10