こんな記事もあります!電子ホタルとは電子ホタルというのは蛍のように明るさが変動するあかりのことです。単色電子ホタル単色電子ホタルに関してはPICで電子ホタルを作るで詳しく解説していますので、電子ホタルを作ったことがない方はこちらをまず作ってみてください。原理は単色電子ホタルと同じでPWMを使います。フルカラーLEDの色制御にもPWMを使っているので、少し工夫する必要があります(フルカラーLEDに関しては後述)。フルカラー用の蛍関数フルカラーLEDの使用方法と原理フルカラーLEDの使い方と、その色の出し方に関してはこれらを参考にしてください。RGBLEDを使ってみるRGBLEDで任意の好きな色を出す色合いはそのまま暗くするRGBLEDの光を制御するとき、rduty,gduty,bdutyの3つのパラメーターをfor文の中で高速に回し、色を表現していました(上述の記事より)。色合いはそのままで明るさを変えるにはどうすればいいのでしょうか。一つの方法として、各rgb値に明るさの割合をかけるというものがあります。上記コードのPWM部分は、RGBLEDで任意の好きな色を出すと全く同じになっています。その上に新たにduty/256を掛けた3つの文が追加されました。dutyは明るさを調節する変数で、256までの数字をとれます。128の時、各色の強さは1/2になります。全体として同じ割合だけ暗くなるので、色合いは全く変えることなく明るさを変えることができるのです。intなのは、上記3つの代入式でrduty*dutyをしたときにオーバーフローが生じないようにしたためです。実際intに変えて実行してみると、rduty=200の時などはオーバーフローが生じ、赤が全く光らなくなります。勘のいい方は、上記のrgbLED関数をforループで回し、dutyにiを入れればだんだんと明るくなるようにできることに気付いているでしょう。}これで、一定の周期でrbgに指定した色で蛍のように発光してくれます。}main関数内は4つの色の電子ホタルを繰り返しています。今後のアイデア・発展これで割と高度なイルミネーションのようなものが作れました。今後の発展としては、温度によって色が変わる電子ホタルなどは素敵ではないでしょうか。他にも、正常な動きをしているときは緑色の電子ホタルで、エラーが起きたとき(高温になった時など)には赤で点滅なんかも簡単に作れますね。皆さんもぜひ応用して面白いものを作ってみてください。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。支援のお願いサイト維持のため、ご支援をお願いします。Wellington.。