シリアル通信の使用
引き続き前回の最後でご案内したはシリアル通信を確認していきます。前回で使用したオリジナルのBlinkプログラムを流用します。
シリアル通信をするためには専用のプログラムを用意する必要があります。
- Serial.begin(9600);
- Serial.print(HIGH);
- Serial.print(“\t”);
- Serial.println(LOW);
を各所に追記していきます。ちなみにHIGHとLOWは出力するかしないかの意味で数値で表記する「1」と「0」と同じ意味になります。また、”\t” は文字操作の「タブ」を意味します。
そしてArduinoに書き込んで早速実行します。当然LEDが点滅を繰り返します。
書き込み後、右上のアイコンをクリックすると別ウインドウでシリアルモニタが起動します。
右下の通信速度を確認します。プログラムで指定した数字に合わせます。ここが合っていないとウインドウには白いままで何も表示されないか、激しく文字化けの不規則な列が出現するかのどちらかとなります。これで文字で確認することができます。
今回は、Blinkを流用したため実際はこのような使い方をすることはまずないです。それよりも、入力のデータを確認するのにとても役立ちますので次回の温度測定の説明のときに説明します。
グラフ化をしてみる
今度はグラフィカルな表示を行ってみます。そのためにタブで仕切られた2列表示では都合が悪いので、プログラムを変更します。すべて改行の「ln」付きにして不要な「”\t”」のある行は「//」でコメントアウトします。
改変したおかげで一列の出力となります。
味気ないですが、これからが本番です。確認ができたので、このウインドウは右上の「x」で完全に閉じます。そして、Arduino IDEのメニューから『シリアルプロッタ』を選びます。
シリアルプロッタを起動すると実行しているプログラムのうちSerial.printlnで指定した値をグラフにして表示してくれます。
上記の場合0と1が交互に現れるので三角波形になります。うまく使うと簡易的なオシロスコープのように利用をすることも可能となります。ちなみに最初プログラムで(シリアルモニタで2列で表示されたとき)シリアルプロッタを起動すると2つのデータが表示されます。つまり、0の値だけを持つデータと1の値を持つデータがプロットされます。
今回は画像が多くて紹介した内容が少なかったですね。先ほども言いましたように温度センサを検証するときにシリアル通信をもう少し深堀りしたいとおもいますので次回以降もご期待ください。それでは^^