子どもRubyプログラミング講座「青色発光ダイオード特別編」

2014/10/28

〜 青色発光ダイオードを使った実験をしてみよう 〜

piroko_jaran_ss今回は、日本人のノーベル賞受賞で話題の、青色発光ダイオードを使って実験してみましょう。

発光ダイオードは、LED(エルイーディー)とも呼ばれる、光を出すことができる便利な部品です。

この講座で使っている無線ロボットのMI100には、フルカラーLEDがついています。金色の、米粒(つぶ)よりも 小さな部品がフルカラーLEDです。

MI100フルカラーLED

フルカラーLEDの「フル」は、「全部」という意味です。全部の色(カラー)に光るので、フルカラーLEDと呼ばれます。

プログラムすることで、このフルカラーLEDを、自由に色々な色で光らすことができます。

この小さなこのフルカラーLEDは、赤、緑、青の3つのLEDが組み合わさってできています。赤、緑、青の3つのLEDを同時に光らせることで、色々な色で光ります。

この3つの光の色を、光の三原色(さんげんしょく)と呼びます。絵の具を混ぜるときの、色の三原色とはちがうので、まちがわないようにしましょうね。

LEDをキラっと光らせよう

次のプログラムを入れて「動かす」ボタンを押してみましょう。COM3の部分はいつもの様にパソコンに合わせて変えてください。

※LEDを長時間見つめないようにしましょう。


require "mi100"

robo = Mi100.new "COM3"

robo.blink 100,0,0,1000

robo.close

フルカラーLEDが赤く1秒つきましたね。

blink(ブリンク:まだたき、きらきら)は、MI100用の「LEDをキラっとさせて」という命令です。命令の後の、カンマ(,)で区切られた、4つの数字 100,0,0,1000は次のようになります。

1番目の数字 赤の明るさ 100
2番目の数字 緑の明るさ 0
3番目の数字 青の明るさ 0
4番目の数字 光らす長さ  1000ミリ秒

明るさには、0から100の数字を使います。100が最も明るくて明るさ最大です。0は逆に最も暗くなりますので光りません。50は半分くらいの明るさで光ります。

長さはミリ秒です。ミリは、1000で分けた1つです。1ミリ秒は、1秒を1000に分けたうちの1ですからとても短い時間です。1000ミリ秒は1秒です。

robo.blink 100,0,0,1000は、「赤の明るさ100(明るさ最大)、緑の明るさ0(光らない)、青の明るさ0(光らない)、1000ミリ秒(1秒)間、フルカラーLEDをキラっとさせて」という命令です。

それでは、blinkの行を次のように変えて「動かす」ボタンを押してみましょう。

require "mi100"

robo = Mi100.new "COM3"

robo.blink 0,100,0,1000

robo.close

緑で光りました。

それでは、次のようにして「動かす」ボタンを押してみましょう。


robo.blink 0,0,100,1000

青で光りましたね。

同時に光らす

それでは次のようにして「動かす」ボタンを押してみましょう。

robo.blink 100,100,0,1000

赤と緑を同時に光らせました、何色に光ったかな?

では、次をためしてみましょう。

robo.blink 100,100,100,1000

白っぽく光ったと思います。絵の具を混ぜた時とちがって、光を混ぜると白くなります。

それでは、robo.blink 20,30,100のように、自由に色の明るさの部分を変えて、何色で光るか実験してみましょう。

青の明るさを0にした時の光の色と、青の明るさを50や100にして、青色の光をたした時の光の色を比べると、青色発光ダイオードの発明の大切さがわかりますね。

おわり