シリアルモニタとは

Arduinoボードには標準で表示装置(LCD等)が装備されてないためプログラム実行時の内部状態を直接見ることができません、そのためこれらの状態を観測するためのパソコンへ表示する機能が用意されてます。この機能のことをシリアル・モニタ」と言います。

シリアルモニタの使い方

Arduinoプログラム側での準備

表示させるためにはプログラム内にシリアルモニタ関数を記述する。

1)setup()関数内への記述

Serial.begin(9600);

これからシリアルモニタ機能を使う準備開始という意味。カッコ内は通信速度の設定を意味し通常は9600のままでOK。

2)loop()関数内への記述

Serial.println(taktSW);

変数taktSW(以下の参考例の場合)の内容をシリルモニタに表示。

Serial.println() ⇒ 改行有り

Serial.print() ⇒ 改行無し

上記カッコ内に表示させたい項目(通常は変数)を記述することで任意の内容で表示させることができる。

参考例


void setup() {

pinMode(IN_PIN, INPUT_PULLUP);

Serial.begin(9600) ;

}

void loop() {

uint8_t taktSW;

taktSW = digitalRead(IN_PIN) ^ 1;

Serial.println(taktSW);

delay(500);

}

PC側の準備

メニューバーの「ツール」 ⇒ 「シリアルモニタ」をマウスクリックするとシリアルモニタ画面が新規ウィンドに表示される

または右上にあるアイコンをクリックすることでも新規ウィンドに表示される。

シリアルモニタ画面内での操作

1)出力をクリア—画面内の文字をクリア(リフレッシュ)する。画面が文字だらけになり見にくくなったらクリアして心機一転。

2)通信速度

スケッチ内のsetup関数内で指定した通信速度(上記例では9600)に合わせる。食い違ってると正常通信できなくて文字化けを起こす。

ちなみに、単位はbpsでbit/secの意味(詳細はここなどを参照)、9600bps≒1200Byte/secなので約1200文字を1秒間に転送可能。

この通信速度を上げると、転送エラーが発生しやすくなることとメインの処理への影響(CPUパワーなど)もあるので必要以上に上げないこと、9600bpsが通常使用。

補足

①便利な機能であるが、表示させるためにマイコン・リソース(CPUパワー、メモリ等)を消費するので、主にデバッグ時に使用しデバッグ終了したらシリアルモニタ関数は消去またはコメントアウトすることが望ましい。

②また当然であるがシリアルポートを他の回路(Bluetoothなど)で使用しているときはこのシリアルモニタ機能は使用できないので他の表示装置(LCDモニタ等)の利用を考えること。