↑どうぞ
arduinoをいじり始めてだいたい3日はたちましたでしょうか?
プログラム例のblinkスケッチとLED点灯を終わらせた人で且つ3日程度たった人におすすめなのがarduinoでシリアル通信をやってみる事です。
さぁ新たな挑戦をしましょう。
シリアル通信でどんな事ができるか?
まず、🔰のかたはシリアル通信という事すらわからないと思います。50歳以上でパソコンが好きなおじさんは大体わかると思うんですが、arduinoではPCとの通信にシリアルで通信ができます。
厳密にいえばUART(ユーアートと言います)をUSBシリアル通信に変換してPCと通信するのですが、広義にシリアルでOKでーす。
どんな事ができるのかというと↓
- arduinoから文字情報をPCに送る。その逆もOK
- arduinoに接続したセンサから読み取ったセンサデータをPCに送る
- PCからの入力でarduinoをコントロール
まっこんなとこでしょう。
arduinoIDEではシリアルモニタといってつないだarduinoのシリアル通信を簡単にディスプレイに写してくれ、さらにシリアルプロッタといってarduinoから送られてきた数値データをグラフ化もしてくれるんです。
すごくない??
今回の目標
今回はとりあえずarduinoIDEでシリアル通信に必要なスケッチを書きます。
そしてarduino→PCに文字情報を送るというスケッチにします。
必要物
- arduino UNO R3
- やる気と根性
プログラム
それではプログラムしていきましょう。
1 2 3 4 5 6 7 8 9 |
void setup() { Serial.begin(9600); } void loop() { Serial.print("臨床工学技士の皆さん"); Serial.println("ハロー ワールド"); delay(1000); } |
setupではSerial.begin()でシリアル通信をスタートさせます。Serial.begin()の( )の中の数値はボーレートといって通信スピードです。
初心者のうちは9600でいいです。
後に処理スピードにこだわり始めたらその時通信スピードをいじればOK。
loopの中ですがSerial.printで文字列をPCに送ります。” ”で囲ったものを文字列として認識するので文字列を送る際は” ”を忘れずに。
Serial.printlnはテキスト送信の最後に改行文字(/n)を送ります。
改行文字を追加することで、表示されるテキストが読みやすくなり、デバッグやデータの送信など、Arduinoプログラムの開発中に非常に便利です。
ためしに、printlnのところをprintになおしてみてください。シリアルモニタ画面を押すと今まで縦に文字列が表示されていたものが、横に並んで表示されるはずです。
シリアルモニタとシリアルプロッタを起動
さぁプログラムを書き込みできたら、シリアルモニタを起動してみましょう。
シリアル通信として
プログラムした文字列が1秒ごとに表示されていますか?
シリアルモニタが表示されていなければシリアルモニタのボタンを押すだけです。
赤丸のところがシリアルモニタでその左横がシリアルプロッタになります。
同様にシリアルプロッタも起動させる事ができますがプロッタは数値をグラフ化する際に威力を発揮するので、今回のように文字列の表示向けではありません。
次回はA/D変換したセンサーデータをシリアル通信でPC側に送信するプログラムにしましょう。