2026年3月7日土曜日

脳トレゲーム対応制御学習ボード5 シリアル通信

  プログラミングのデバッグ(プログラム修正)する方法です。一般的にマイコンでは内部で使っている変数の状態を表示する方法はありません。

 Arduinoでは「シリアルモニタ」というシリアル通信機能があります。この機能を使うと、内部の変数状態を表示させることができます。


シリアル通信で接続する(準備)

 UIAPduinoのUSB端子はプログラムを書き込む機能はありますが、シリアル通信する機能はありません。このため、何かの方法で接続する必要があります。

 UIAPduinoボードでは、図の左上の送信「TX(15)」、受信「RX(16)」の2本がシリアル通信の機能を持つ端子です。

 脳トレゲーム対応制御学習ボードでは、送信「TX」の端子を外部に接続できるようにしています。(片方向 マイコン→PCのみです)


 脳トレゲーム対応制御学習ボードから、シリアル通信端子を接続したのが右図です。図の下側のボードから、赤(TX)、青(GND)の2本が出ており、これがシリアル通信変換機能を持つ基板を経由してパソコンと接続されています。(TX→RXに接続する)


 パソコン(Windows)のデバイスマネージャを見ると、「USB SERIAL(COM9)」として接続されていることが確認できます。(COM番号は接続の仕方で異なります)

 AdruinoIDEの「ツール」-「ポート」の設定を行います。(この場合はCOM9に設定)

 これで通信できる環境が整いました。

シリアル通信で接続する(プログラミング)

 Arduinoでは「Serial」というクラスが定義され、ここを使うとシリアル通信できます。プログラムを示します。
 「void loop()」の前に、1行使う変数cntの宣言があります。プログラムは、変数cntを「Serial.printf」関数で表示します。その後、変数cntを1増やし、時間待ちをするプログラムです。
int cnt=0;
void loop() {
  Serial.printf("cnt: %4d\n", cnt);
  cnt=cnt+1;
  delay(500);
}
 書き込み、シリアルモニタを表示させます。(「ツール」ー「シリアルモニタ」と選択)

 実行した状態は、右図のように0.5秒ごとに数字がカウントアップされ、表示されていきます。

 内部の変数cntがパソコンでモニタリングできていることになります。

0 件のコメント:

コメントを投稿

LEDマトリックス表示装置の設計・製作 9(画像表示)

  LEDマトリックスに画像を表示させるには、いろいろな画像形式を知る必要があります。現在、よく使われるJPG形式やPNG形式は圧縮処理されて保存されています。これに対して、BMP形式やTIFF形式は非圧縮形式で、画像データがそのまま保存されています。このため、ファイルは大きくな...