HOME

 5)PWM方式でLEDを蛍に変える

 

 以前からやりたかった電子ホタルをやってみようと思います。LEDを徐々に明るくしたり、徐々に暗くするにはPWMという方式を使います。大体の原理としては、LEDはもともと点灯か消灯だけなのですが、一瞬点灯させて一瞬消すということをものすごい速さでおこなうと、人間の目では明るさが明るくなったり、暗くなったように見えます。高速度カメラで撮影するときちんと点灯、消灯をしているのが見えます。

PWMの周波数とデューティーについて

 今回は512Hzの周波数でPWMを行います。その中でLEDのONとOFFのデューティー(分割数)を128としました。DAのところでお見せしたサンプリング周波数に直すと以下のようになります。

サンプリング周波数 = 512Hz × 128 = 65536Hz

img2.gif

 今回は、この65536HzをタイマーAで作成し、512Hzはウオッチドッグタイマーで作成しています。タイマーAの割り込み回数によってLEDを点灯させるか消灯させるかをデューティーによって決めています。例えばタイマーAの1〜64回までLEDを点灯させ、65回から128回までLEDを消灯させればデューティー50:50の1度のLED点滅になります。これを1秒に512回繰り返すので全点灯より50%?暗くなるわけです。(たぶん)

 

 プログラム

  電子ホタルプログラム パターン1

 だいたい3〜4秒くらいの周期で点滅をします。暗い〜明るいまでの変化時間、明るい時間、明るい〜暗いまでの変化時間、暗い時間はプログラムを修正すればお好みのものにできます。時間にランダム性を持たせるためにベーシックタイマーの最小ビットも取り入れています。ベーシックタイマーはフリーランでUPカウントしていて、カウントの最小ビットが1なら+1000msecするという感じです。0なら加算しません。夏?秋?が来たら実際にホタルのところに持っていって、近づいてくるか試してみたいと思います。

  EW430, mspgcc共通   ダウンロード(zipファイル) Ver1.0a 2007.1.30

 

  電子ホタルプログラム パターン2

 調子にのって、点滅が早いものを作りました。これはたまに長く光る前に一瞬光るところもシミュレートしています。点滅の部分はいろいろ作り変えればできるのでご自身で挑戦してください。

  EW430, mspgcc共通   ダウンロード(zipファイル) Ver1.1a 2007.1.30 

 

inserted by FC2 system