2018.5.18更新

フルカラーLEDを使って、ロウソクの炎のようにゆらゆら明るさの変わるプログラムです。
使う部品は
- フルカラーLED
- 抵抗3本
- 配線3本(オス-オス)
- プログラム書き込み用配線3本(メス-オス)
です。
まずは部品と配線からしていきましょう。
LEDを光らせるためのdp1,dp2,dp18のPwmOutのピンを使います。
抵抗3本とマイコンの電源用の配線を図のように挿してください。
次にLEDを図のように挿して、LEDのGNDを配線します。
最後に、マイコンにプログラムを書き込めるように、マイコンとねこちゃんを図のように3本配線します。
USBケーブルをパソコンにつなぐとMBEDというドライブが表示されると思います。
配線はこれで完了。次はプログラムです。
プログラムはここからインポートしてください。
画面の右側の Import this Program でインポートできます。
今回のプログラムでは、LEDの明るさが明るくなったり、暗くなったりするように、ランダムに明るさを変えることで表現しようと思います。
まずはフルカラーLEDをPWMで各色調整して、炎の色にしていきます。
今回は赤100%、緑70%、青5%としました。
この値を、ランダムに暗くして、炎の明るさのゆれを表現します。
ランダムな値は
rand()
という命令で得られます。ただrand()で得られる値は、整数で0~2の32乗という、とても大きな範囲の値となるので、そのままの値では使いにくいです。
そこで最大値(RAND_MAX)で割ってあげて、小数の0.0~1.0までの値に変換しています。
小数として計算したいのでrandの前に(float)を付けて、rand()の値を小数に変換してから計算します。(float)が無いと整数として計算され0かたまに1という結果になってしまうので、注意が必要です。
このランダムな0.0~1.0の値を炎の色に掛け算して、明るさをランダムに変化させます。
このループを0.05秒ごとに実行させて、炎のゆらゆらを表現することにしました。
コンパイルして、ダウンロードしたファイルを、MBEDのドライブにコピーしてください。
ねこちゃんの赤いおめめを押してみてください。
LEDがロウソクの炎のように光りましたか。
今回のプログラムは「マイコンで発明しよう実験セット」で実験することができます。