Hardware Serialを利用してArduinoをUSBシリアル変換器として使いました

この記事で学習できること

  • Arduinoをシリアル、USB変換器として使用する方法を学習します。
  • 色々な装置・部品は測定した値を外部に送りだします。多くはシリアル信号で出されて受信側がその数値を受け取ります。昔はシリアルポートを内蔵したPCが多くあり、シリアル信号を受信できました。現在はシリアル出力をUSBの出力に変換しPCで受信する場面が一般的です。Arduinoでシリアル信号を受信してUSB信号に変換しPCで受信する方法を学習します。

ArduinoはUSBシリアル変換器として使えるの?

  • Arduino UNO R3のHardware Serial (シリアルポート Pin#0、Pin#1)を使ってArduino UNO R3をUSBシリアル変換器として使います。
  • GPS受信機やJpegカメラなどシリアル通信でデータをやり取りする部品を、Arduino IDEのシリアルモニタやTeratermなどの通信ソフトまたは部品専用のソフトで通信・操作できます。
  • Arduino UNO R3をUSBシリアル変換器として使い、GPS受信機と接続した例で説明します。Hardware Serialなので、0PinをTX、1PinをRXとして使用しています。
— GPS受信機をArduino UNO R3に接続した例 —
  • GPSモジュールをArduino UNO R3のボードに接続します。(秋月電子通商のサイトに取扱説明書が載っています。「外部機器との接続方法」(マイコンと接続する場合)を参考にGPSモジュールを接続します。)

Arduinoを使うメリットは何?

  • 特別なシリアル・USB変換のHWが必要ありません。Arduinoは単純にシリアル・USB信号変換器として動作します。
  • USBシリアル変換器・ボードは必要と思われる部品ですが、Arduinoで代用できます。色々な部品のPin配や仕様をArduinoで柔軟に吸収できます。

GPSモジュールからのシリアル信号をPCで受信します

  • 秋月電子通商からGPSモジュール[GPS受信機キット]を購入しました。GPSモジュールから連続してGPS衛星の受信状況がシリアル信号として外部に送信されています。Arduino UNO R3のボードをUSBシリアル変換器として使ってGPSモジュールとPCを接続し信号を確認します。

Arduinoのスケッチは?

  • Arduino IDEを立ち上げ、USBをArduino UNO R3に接続して、Arduino UNO R3に空のSketchを書き込みます。(書き込み後に、USBを外して、Arduino IDEを閉じます。)
// empty sketch
 
void setup()  
{
}
 
void loop()
{
}
  • GPSモジュールをArduino UNO R3に接続後に、USBをArduino UNO R3へ挿入します。
  • 秋月電子通商のサイトからダウロードした[Mini GPS]をPCで立ち上げると、GPSの表示とGSPモジュールからの緯度、経度位置などが表示されました。
  • 通信ソフト(TeratermやArduino IDEのシリアルモニタなど)または専用のソフトをPCで立ち上げてGPSモジュールと接続できているか確認します。
  • GPSモジュールのボーレートは、9600です。COMポートは使っているPCの設定にします。
  • ②③④はそれぞれ単独で動作させててください。
— Mini GPSの出力 —
  • Arduinoのスケッチのコードに特別なコードを書く必要が無く部品を動作できました。

関連記事

(参考) PCとArduinoを直結させている他の記事は?
(参考) Teratermの操作方法の記事は?

まとめ

  • Arduinoをシリアル・USB変換器として使えました。個人的には、目から鱗的な使い方です。機器の開発をされている方はシリアル・USB変換の作業がどこかで発生することがあると思います。それをかなり柔軟に吸収できる方法と感じます。

ご質問、誤植の指摘などありましたら。「問い合わせ 」のページからお願いします。