LEDとサウンダで基本のプログラミング

1. LEDを繰り返し点灯する

前ページ「保存と呼び出し」ではLEDが2回点滅するプログラムを実行しましたが、3回・4回・5回・・・と繰り返すために、何行も何行もプログラムを入力するのは大変です。そこで、「繰り返す」ためのコマンドが存在します。

1-1. とにかく繰り返す

  • まずは次のプログラムを入力(LEDの点灯→1秒で消灯)
  • 30行目の最後の「ENTERキー」押し忘れに注意
  • 「F5」で実行してLEDが1回点灯して消えたら成功

 

続いて、

  • 「F1」→「F4」でプログラムを復元
  • 「OK」の次に40行を追加

ここで「F5」で実行してみます。LEDが点滅し続けたら成功・・・ですがおそらくうまくいきません。

まず「GOTO 10」ですが、これは「10行に行け」というコマンドです。プログラムを日本語で見直してみます。

  • 10 LEDを点灯しろ
  • 20 1秒待て
  • 30 LEDを消せ
  • 40 10行に行け
  • 10 LEDを点灯しろ
  • 20 1秒待て
  • 30 LEDを消せ
  • 40 10行に行け

と、ひたすら繰り返しています。

このプログラム、多くの人が見落とすポイントがあります。それは「30行→40行→10行」の流れです。

このままだと、消えてから再度点灯するまでの「時間指定がない」んです。消えた後も、点灯するまでの時間を待たせないと、「消えた瞬間に点灯」するという状態になってしまいます。

では、消えた後にも待ってもらいましょう。と、思うんですが、今プログラムは「GOTO 10」をひたすら繰り返していますので、キーボードが反応しません。実行中のプログラムを停止するには、キーボード左上の「ESC」(エスケープ)を押します。これでプログラムが停止します。

では、「F1」→「F4」でプログラムを復活させて、正しく点滅するようにプログラムを追加してみましょう。

「OK」の下に、次のようにプログラムを追加します。

「35行?」。間に入れなくても・・・いいんです。IchigoJamはプログラムをちゃんと行番号通りに並び替えてくれます。

試しに入力が終わったら「F1」→「F4」してみます。

ちゃんと並び変わります。

ここで1つ。

行番号が「10・20・30・・・」と10刻みだった理由がここにあります。行番号は別に「1・2・3・・・」でもよかったんです。が、今回のように「プログラムを足したい」というときに、それじゃ困ることがあるからなんです。よく考えられてるなぁ。

では、点滅を繰り返してくれるか「F5」で実行してみます。点滅し続ければ成功。

 

1-2. 回数を指定する

ひたすら繰り返すだけなら「GOTO」だけでも問題ないですが、「~回で止めたい」なんてこともあります。

いろいろな方法がありますが、ここではそのうちの1つを。

まずは、さっきのプログラムが実行中なら「ESC」でプログラムを停止します。

ここで重要なポイントが。新しいプログラムを入力したいなら、次のコマンドを実行します。

「OK」と表示されれば大丈夫。このコマンド「NEW」は、一時的に記憶させていたプログラムモードのプログラムを消去するコマンドです。(SAVEで保存したものは消えません)。「F1」→「F4」で確認してみましょう。図のようになれば、先ほどまで入力していたプログラムは消えています。

ではもう一つの繰り返しコマンドに挑戦してみます。

まずは、LEDの1回点灯→消去のプログラムを作っちゃいます。ここでもやっぱり、「消した後」のWAITに気を付けます。

次に、5行・50行にプログラムを追加します。

「F1」→「F4」で、並び変わった後のプログラムを見てみます。

  • 5行:Aを1から3まで(TO)、1つずつ(STEP 1)増やしたら止まれ
  • 10行~40行:LEDの点灯→消灯
  • 50行:ここでAを1つ増やして「FOR」に戻れ

Aは「変数」と呼ばれる、数字などを入れる「箱」です。「変数」についての詳細はまたの機会に。別のアルファベットでも大丈夫です。

そして「FOR 変数=◎ TO ◆ STEP △」+「NEXT」は「FORからNEXTまでの間を、◎から◆まで△ずつ変化するまで繰り返せ」というコマンドのセットです。

このプログラムでは、

  • 「A=1」→「LED点灯」→「1秒待つ」→「LED消灯」→「1秒待つ」→
  • 「Aを1つ増やしてA=2にする」→「LED点灯」→「1秒待つ」→「LED消灯」→「1秒待つ」→
  • 「Aを1つ増やしてA=3にする」→「LED点灯」→「1秒待つ」→「LED消灯」→「1秒待つ」→
  • 「Aはこれ以上増やせないから終わり」

という動きをします。「F5」で実行。LEDが3回点滅して止まれば成功。

ちなみに、「STEP △」は省略可能(省略するとSTEP 1)で、△には負の数も入れられます。

 

2. サウンダで音を鳴らす

IchigoJamでは音を出すこともできます。IchigoJam Sなら、「圧電サウンダ」と呼ばれる小さなスピーカー(黒くて丸っこいやつ)が標準搭載です。古いバージョンでは自分で取り付ける必要があります。

2-1. 音を鳴らす -その1-

※準備中

 

2-2. 音を鳴らす -その2-

※準備中

 

保存と呼び出し のページへ