ようやく、Arduino で LED を点滅させるところまで来ました。LED をチカチカと点滅させることから、よく"L チカ"と言われたりします。前回までの記事で、Arduino でプログラミングを行い、LED を光らせたり、消したりできるようになっているので、もう後は簡単ですね?
まず、電子回路は以前のまま(Fig.1 )、11 番のデジタル入出力ポートを LED に接続た回路をそのまま使います。
それでは、いよいよプログラミングを始めます。Arduino IDE を起動して、次のようにプログラムを入力します。
void setup() { // put your setup code here, to run once: pinMode( 11, OUTPUT ); } void loop() { // put your main code here, to run repeatedly: digitalWrite( 11, HIGH ); delay( 1000 ); // A digitalWrite( 11, LOW ); delay( 1000 ); // B }
delay
は、数字で指定された時間、プログラムの実行を待ちます。単位はミリ秒(1秒=1000ミリ秒)です。void loop(){ ... }
の中に書かれた、LED を点灯→1000ミリ秒待つ(A)→LED を消灯→1000ミリ秒待つ(B)→…という動作を永遠に繰り返します。LED がチカチカと点滅するようになりました。「LED がチカチカと点滅する」と一言で表せることでも、これを詳しく観察してみると、次のような動作を繰り返していることがわかります。
「プログラミング」というと一見とても難しそうに思えますが、このプログラムは、このような動作を一つ一つ、Arduino が理解できる言葉(=プログラミング言語)で書き直しただけなのです。プログラミング言語は覚えなければなりませんが、学校のテストではありませんから、頑張って暗記することはありません。忘れてしまったら、本を見たり、友達に聞いたりしても良いのです。決してクイズや問題を解く訳ではありませんから、それは「難しい」ことは全くないのです。
LED がチカチカと点滅するプログラムが完成しました。次は、このプログラムを土台にして、色々、自由に改造してみましょう。
メニューから[ファイル]-[名前を付けて保存]を選ぶと、プログラムに名前を付けて別々に保存することができます。もし、プログラムを改造し過ぎて動かなくなったりした時でも、正しく動いていた時のプログラムに戻すことができるので、ある程度動くようになったら、プログラムを保存するクセを付けておくと良いでしょう。
void loop() { // put your main code here, to run repeatedly: digitalWrite( 11, HIGH ); delay( 1000 ); // A digitalWrite( 11, LOW ); delay( 500 ); // B }
void loop() { // put your main code here, to run repeatedly: digitalWrite( 11, HIGH ); delay( 500 ); // A digitalWrite( 11, LOW ); delay( 500 ); // B }
void loop() { // put your main code here, to run repeatedly: digitalWrite( 11, HIGH ); delay( 1000 ); // A digitalWrite( 11, LOW ); delay( 1000 ); // B digitalWrite( 11, HIGH ); delay( 300 ); // C digitalWrite( 11, LOW ); delay( 300 ); // D }
それぞれのプログラムで、LED がどのように光るか観察してみましょう。
Arduino で "L チカ" を作るまで、順を追ってかなりゆっくり目に解説してみました。"L チカ" ができたら終わりではなく、これをベースに色々なアイディアを出して、是非ともそのアイディアを試してみてください。もっと早く光らせたらどうなるんだろう? どこまで早く点滅させられるんだろう? 点滅する LED を何かに使えないだろうか? LED の替わりにブザーを付けてみたら? …アイディアは無限大です。