入門Scratch

02.LEDコントロール①(点滅と繰り返し)

スクラッチでロボットを動かそう!LEDの点滅と「繰り返し」をマスターする

プログラミング学習用ロボット「クムクム」を使ったスクラッチチュートリアル、第2弾へようこそ! 今回のテーマは、ロボット制御の基本中の基本である**「LEDのコントロール」**です。

単に光らせるだけでなく、プログラミングの三大要素の一つである**「繰り返し処理(ループ)」**を使って、効率よくプログラムを組む方法を学びます。信号機やイルミネーションのような光のパターンを作ることで、楽しみながら論理的思考を身につけましょう。

今回の学習目標

  • LEDを自在に点灯・消灯させる

  • プログラムのコピー&ペースト(複製)を覚える

  • 「繰り返し」ブロックを使ってコードを短くする

  • 「ずっと」ブロックで動作を継続させる

  • 秒数を指定して点滅のリズムを変える


ステップ1:基本の点滅(ONとOFF)

まずは、プログラミングの基礎である「命令を順番に実行する(順次処理)」を確認しながら、赤いLEDを光らせてみましょう。

LEDを点灯させる

スクラッチのブロックパレットから、LEDを制御するブロックを探します。 まずはシンプルに**「赤色LEDをONにする」**ブロックをスクリプトエリアに配置し、クリックして動作確認します。ロボットの胸にあるLEDが赤く光れば成功です。

LEDを消灯させる

光らせっぱなしでは電池がもったいないですし、コントロールできているとは言えません。次に、**「赤色LEDをOFFにする」**ブロックを用意します。これをクリックするとLEDが消えます。

点滅プログラムを作る

この2つのブロック(ONとOFF)をくっつけて、連続して実行させるとどうなるでしょうか? 実は、コンピュータの処理速度が速すぎて、一瞬でONになってすぐにOFFになるため、人間の目には光ったことが認識できない場合があります(あるいは一瞬だけ光って見えます)。

ここで重要なのが**「待つ」**という動作です。今回は手動でクリックして確認していますが、プログラムとして組む際は、ONとOFFの間に時間を置くことで、きれいな点滅を作ることができます。


ステップ2:色の変更とプログラムの複製

赤色がうまくいったら、次は緑と青にも挑戦です。ここで、プログラミングを効率化するテクニック**「複製(コピー)」**を使います。

右クリックで簡単コピー

いちいち左側のメニューから新しいブロックを探して持ってくるのは大変です。 すでに配置した「赤色LEDをON/OFFするブロック」の上で右クリックし、**「複製」**を選びましょう。すると、同じブロックのセットがもう一つ作れます。

ドロップダウンで色を変更

複製したブロックの「赤」と書かれている部分(プルダウンメニュー)をクリックし、「緑」に変更します。これで、プログラムを書き直さなくても、緑色のLED制御ができるようになりました。同様にして「青」も作ります。

  1. 赤色LEDのブロックを作成

  2. 複製して緑色に変更

  3. 複製して青色に変更

これで、信号機のように3色のLEDを順番に制御する準備が整いました。3つのブロックの塊を縦につなげてクリックすると、赤 → 緑 → 青の順に点滅するプログラムの完成です。


ステップ3:プログラミングの醍醐味「繰り返し処理」

赤・緑・青の点滅を何度も行いたい場合、ブロックを何個も何個も縦に長くつなげるのは大変です。プログラムが見にくくなり、修正も難しくなります。 そこで登場するのが、制御カテゴリーにある**「繰り返し」ブロック**です。

「10回繰り返す」ブロックの活用

「制御」パレットから「10回繰り返す」という「コ」の字型のブロックを持ってきます。 先ほど作った「赤・緑・青の点滅プログラム」全体を、この「コ」の字の中にカポッとはめ込みます。

回数を「3回」に書き換えて実行してみましょう。 たった1つの枠で囲むだけで、ロボットは忠実に3回分の動作を行ってくれます。これがプログラミングにおける**ループ処理(Loop)**の威力です。

ネスト(入れ子)構造に挑戦

さらに高度な制御に挑戦しましょう。全体を繰り返すのではなく、色ごとの繰り返しを作ります。

  • の点滅ブロックを「3回繰り返す」で囲む

  • の点滅ブロックを「3回繰り返す」で囲む

  • の点滅ブロックを「3回繰り返す」で囲む

これを縦につなげると、「赤赤赤、緑緑緑、青青青」というリズムで光るようになります。 このように、繰り返しのブロックの中にさらに命令を入れる構造を理解すると、複雑なダンスや動作も簡単に作れるようになります。


ステップ4:時間制御と無限ループ

最後に、光る長さ(リズム)の調整と、プログラムを止めない限り動き続ける設定を行います。

待ち時間を変えてリズムを作る

LEDをONにした後の「待ち時間(秒数)」を変えてみましょう。

  • 赤:1秒待つ

  • 緑:2秒待つ

  • 青:3秒待つ

数字を変えるだけで、光っている時間が変化します。音楽に合わせて光らせたい時などは、この秒数調整が非常に重要になります。「0.5秒」のように小数点を使うと、より速い点滅も表現できます。

「ずっと」ブロックで永続化

イルミネーションのように、電池がある限りずっと光らせ続けたい場合は、「制御」パレットにある**「ずっと」ブロック**を使います。

今まで作ったプログラム全体を「ずっと」ブロックで囲んでみましょう。 これを実行すると、プログラムは終わりがなくなり、停止ボタンを押すまでロボットは光り続けます。

注意点: 「ずっと」ブロックを使ったプログラムは自動では止まりません。ロボットの動作を終了させるには、必ずスクラッチ画面上の「赤丸(ストップ)」ボタンを押してください。


まとめ:LED制御から学ぶプログラミング思考

今回のチュートリアルでは、単にLEDを光らせるだけでなく、以下の重要な概念を学びました。

  1. 順次処理:命令は上から下に順番に実行される。

  2. 効率化:似た処理は「複製」を使うと速い。

  3. 反復処理:「繰り返す」を使えば、少ないブロックで多くの動作ができる。

  4. パラメータ制御:秒数などの数字を変えるだけで、結果(リズム)が変わる。

これらは、LEDだけでなく、モーターを動かしてロボットを歩かせるときや、画面上のキャラクターを動かすゲーム作りでも全く同じように使う考え方です。

まずは色々な秒数や回数を試して、自分だけのオリジナルの光のパターンを作ってみてください。「どうすればもっときれいに光るかな?」と試行錯誤することこそが、プログラミング上達への近道です。

次回は、さらに複雑な動きやセンサーを使った制御に挑戦していきましょう!

コメント

タイトルとURLをコピーしました