パソコンのキーボードからの入力よって、Arduinoに命令を与えてLEDを点灯、消灯させてみましょう。 今回は、シリアル通信という方法を用いて、Arduinoへデータを送ります。 シリアル通信は、Arduinoとパソコン間でデータを通信できるものと覚えておいていただくと良いでしょう。 第4回で作成したLチカの配線接続を利用して学習していきますので、準備しておいてください。
Serial.begin 関数
書式) void Serial.begin(long rate) 説明) パソコンとシリアル通信を行うときの転送速度を設定します。 rate(転送速度)は、9600, 19200, 115200などの値が設定でき、基本的には、9600を使用することが多いです。
Serial.println 関数
書式) void Serial.println 説明) シリアル通信でデータを送る関数で、引数には(int, long, double, char)などが使用できます。 この関数は、改行コード付きで送信します。
Serial.avalable 関数
書式) int Serial.avalable 説明) シリアル通信によってデータが送られてきたかどうかを確認する時に使用します。
Serial.Read 関数
書式) int Serial.Read 説明) シリアル通信によって送られたデータを1文字だけ読み込みます。
シリアル関数を使用したプログラムの作成をしていきます。 1) Arduino IDEを起動します。 2) ファイル → 名前を付けて保存をクリックして、今回は、led_keyboardと入力しファイルを保存します。 下記のボタンをクリックして、プログラムの作成動画を見ながら作成してみましょう。 プログラムの作成
プログラムの作成ができたら、コンパイルを行い、Arduinoへの書き込み処理を行います。 1) コンパイルを実行 → をクリックします 2) アップロードを実行 → をクリックします 下記のボタンをクリックすると、プログラムのコンパイルと書き込み動画を見て確認できます。 プログラムのコンパイルと書き込み
キーボードから入力して、動作を確認します。 まずは、シリアルモニターを見てみましょう。 シリアルモニターの開き方を確認 今回作成したプログラムの通り、キーボードのキーを入力してみましょう。 1) キーボードの"a"を入力し、Enterボタンを押下。 2) キーボードの"s"を入力し、Enterボタンを押下。 "a"と入力すると、"LED ON"と表示され、"s"と入力すると、"LED OFF"と表示されます。 上記のように、シリアルモニターへ表示ができれば、シリアル通信が成功しています。
キーボードから入力して、LEDの動作を確認します。 1) シリアルモニターを開く。 2) キーボードの"a"を入力して送信、またはEnterを押下すると、LEDが点灯します。 3) キーボードの"s"を入力して送信、またはEnterを押下すると、LEDが消灯します。 キーボードLEDのプログラムを確認しておきましょう。
#define ledPin 10 void setup(){ pinMode(ledPin, OUTPUT); Serial.begin(9600); } void loop() { char val; if (Serial.available() > 0) { val = Serial.read(); if (val == 'a') { Serial.println("LED ON"); digitalWrite(ledPin, HIGH); } else if (val == 's') { Serial.println("LED OFF"); digitalWrite(ledPin, LOW); } } }
LEDの使い方には慣れてきたと思いますので、次回以降は、他の部品やセンサーを使用して学習していきます。