電子工作入門プログラミング入門-基礎1やっと、、、キッチンタイマーのスケッチを作り始めます。キッチンタイマー最初のスケッチ製作するキッチンタイマーは、設定時間になったらアラームで知らせますが、設定時間になるまで動作していることを表現するために、1秒に1回、青色のLEDをピカッ、ピカッと点滅させたいと思います。点滅パターンは以下のように1秒に1回、ちょっとの時間だけ青色LEDを光らせるようにします。「LEDをちょっとの時間だけつける」といっても、どのぐらいの時間、青色LEDを光らせれば「ピカッ」という感じになるのか見当がつかないんですよね。そこで、いろいろと試しながら、いい感じの光らせ方を見つけたいと思います。スケッチ新規作成それでは、キッチンタイマーのスケッチを新規作成しましょう。今回新規作成するスケッチは、今後改良しながら最終的なキッチンタイマーに仕上げていきます。IDEを立ち上げて「ファイル」→「新規ファイル」を選択して新規スケッチを作成してください。次に、「ファイル」→「保存」を選択して、スケッチ名を「kitchen_timer」としてスケッチを保存しておきます。「kitchen」はちょっとスペルが難しいですよね。スペルをきちんと覚えておきましょう。必要ないコメントを削除して、スケッチの最初にコメント文でスケッチの情報を書いてください。これからいろいろと変更していきますので、変更履歴を書いておくとよいと思います。これでスケッチの準備ができましたので、さっそく青色LEDを光らせるスケッチを作成しましょう。1秒に1回LEDを光らせる1秒間に1回、青色LEDをピカッと光らせたいのですが、どのぐらいの時間光らせれば「ピカッ」っていう感じがするんですかね。見当がつきませんので、まずは0.2秒ぐらい光らせてみたいと思います。「1秒間に1回、0.2秒間光らせる」ということは、以下のようにLEDを「0.2秒つけて、0.8秒消す」というパターンを繰り返せばOKですよね。スケッチを作成してみましょう。青色LEDは12番ピンに接続しています。そのため、pinMode命令で12番ピンを出力に、digitalWrite命令でLEDをつけたり消したりします。時間待ちはdelay命令でしたよね。上のパターンのように光らせるために、以下のようなスケッチを書いてみました。このスケッチは思った通りの動作はするものの、メンテナンス性は悪いですよね。動作するからといってこのようなスケッチを書いてしまうと、あとでスケッチの行数が多くなってくると、何か変更したい場合、どこを変えればよいかだんだんわからなくなってきてしまいます。そこで、命令のパラメータは直接数字を書くのではなく、なるべく#defineで定義するようにしてください。#defineで定義したら、その内容をコメント文で説明しておくようにしましょう。これからLEDの点灯時間をいろいろ変えて光る感じを見ていきます。LEDを点灯している時間を0.1秒に変更したい場合、loopにある2ヶ所のdelay命名のパラメータを変更する必要があります(下のスケッチの青色部分)。緑色のLEDの点滅がどんな感じになるか確認したい場合、pinMode命令とdigitalWrite命令の端子番号を全て変更する必要があります(下のスケッチの赤色部分)。そこで、delay命令のパラメータと、pinMode命令とdigitalWrite命令の端子番号を#defineで定義します。青色LEDが接続されている12番端子は、LEDを光らせて秒を表現するので「BYOU_LED」で定義します。他に自分がわかりやすい名前があればそれでも構いません。LEDをつけている時間は、秒を表現するときにLEDをONにしている時間ということで「BYOU_ON」で定義します。LEDを消している時間はLEDをOFFにしている時間ということで「BYOU_OFF」で定義します。定義する内容は、以下になります。800それでは、この内容を#defineで定義してスケッチを変更しましょう。よし、これであとでいろいろ変更が出てきても#defineの部分だけ変更すればOKです。それでは実際にスケッチをArduinoボードに送って光る感じを確認しましょう。うーん、、、、、なんだか「ピカッ」というより「ピカァ」って感じです。シャープな感じ(?)で「ピカッ」と光らせたいので、0.2秒つけているところを0.1秒に変更してみます。LEDをつけている時間を0.2秒から0.1秒に変更すると、消している時間も変更になりますよね。IDEにやってもらったほうがいいですよね。LEDをつけている時間が0.1秒の場合、消している時間はどのように計算できるでしょうか。