以下のプログラムはシリアル通信を行い、LEDのON/OFFをコントロールするものである。
#define LED_PIN 13
void setup(){
pinMode(LED_PIN, OUTPUT);
Serial.begin(9600);
}
void loop(){
int inputchar;
inputchar = Serial.read(); //シリアル通信で読み込む
if(inputchar != -1){ //読み込んだ値が-1でなければ以下を実行
switch(inputchar){
case 'o': //oを読み紺んだ場合
Serial.print("LED ON");
Serial.println(""); //改行
digitalWrite(LED_PIN, HIGH);
break;
case 'p': //pを読み込んだ場合
Serial.print("LED OFF"); //改行
digitalWrite(LED_PIN, LOW);
break;
}
}
}
ビルド&アップロードをしたら、Tools > Serial Monitor をクリック。窓にoやpを入力すると、それに応じてLEDの点灯をコントロールすることができる。
IDEを用いないで、InoとpicocomによりSerial通信をターミナル上で行う。
#作業ディレクトリ作成
$ mkdir Serial_ino
$ cd Serial_ino
#プロジェクトの生成
$ ino init
#デフォルトでsrc/に生成されるプロトタイプのスケッチを消去
$ rm src/sketch.ino
#新たにスケッチを作成
$ vim src/Serial.ino
#ビルド
$ ino build
#アップロード
$ ino upload
#Serial Monitorとしてpicocomというアプリケーションを使用する。Macportsからインストール。
$ sudo port selfupdate
$ sudo port install picocom
$ ino upload
#Serial Monitorとしてpicocomというアプリケーションを使用する。Macportsからインストール。
$ sudo port selfupdate
$ sudo port install picocom
'o'や'p'を入力すると、リアルタイムに通信が行われ、LEDの点滅に反映されるのが楽しい。
【参考文献】
高橋隆雄『たのしい電子工作 Arduinoで電子工作をはじめよう』秀和システム 2013
Massimo Banzi (著), 船田 巧 (翻訳)『Arduinoをはじめよう 第2版』2012