Arduinoを用いたRGBLED自作ペンライトについて
はじめに
所属大学の学生実験の授業でArduinoを用いて個人製作を行うとのことで,RGBLEDを制御して自作のコンサートライト(ペンライト)を作ってみよう!となりました.
分割して投稿しても良いのですが,Zennのガイドライン的に記事を完成させてから投稿する方が望ましいようで,下書きも兼ねてスクラップに投稿していこうかと.
作りたいもの・機能
アイドル等のライブイベントで販売されるようなコンサートライト
- 可能なら最終的にはコンサートライト内に基盤等を格納したいので,小型なArduino互換基盤を探す
せっかくなので,大光量のパワーLEDを用いて,所謂UO(ウルトラオレンジ)と呼ばれるような大光量のサイリウムとも同等の明るさを得たい
- 迷惑になるので,通常モードと大光量モードは切り替えられるように
無線で制御をできるようにしたい
- Wi-Fi or Bluetooth経由でスマホ等から発光パターンを指定
- 無線通信モジュール内蔵のArduino互換基盤が欲しい
購入予定の素子等
本来は学校所有のものを使えば良いのですが,最終的に所有権を私に帰属させたかったため,先生に頼んで個人で購入したものを使用する許可を得ました.
Arduino互換基盤:Seeed Studio XIAO ESP32C3
軽く調べたところこちらの互換基盤が良さそうです.3.3V駆動なので単4乾電池3本で駆動しますし,この小ささでWi-Fi・Bluetooth対応です.USB端子がtype-cなのもモダンで良いですね.
RGBLED:OSTCXBEAC1S
秋月の商品ページから一番明るそうなものを選択.以下,商品ページから引用した仕様です.
■主な仕様
・IF:350mA
・VF:
赤:2.0~3.0V、緑・青:3.0~4.0V
・逆耐圧:5V
・ドミナント波長:
赤:620~630nm、緑:520~535nm、青:455~465nm
・光束:
赤:40lm以上、緑:80lm以上、青:15lm以上
・半減角:120° typ
UOと同等の明るさと書きましたが,オーバースペックな気が...
光束の計算よくわかってないんですけどRGB全点灯した際は上記の光束の値の合計とかになるんですかね,100lm超えるとなるとちょっとしたスポーツ自転車に用いられるヘッドライト相当ですが...
まあ明るさはいくらでも制御できますし,ダメそうならもう少し暗いRGBLEDを探すこととします.
その他,抵抗やMOSFET等
LEDの抵抗値を決定したいのですが,VFにはばらつきがあるとのことで,こればかりは届いたLED次第になるかなと.とりあえず仕様の範囲で幅を持たせて抵抗値を決定して購入しようと思います.
また,購入予定のLEDはIFが350mAとめちゃくちゃでかいので,LEDは電池から電源を取りMOSFETを用いてPWM制御で明るさを制御しようと思います.
ここで使いたいnMOSなのですが,最終的にはコンサートライト内に格納したいので,本来は基盤に表面実装するようなチップMOSFET(AO3400A)を使おうかと.はたして手はんだで電線と繋げられるのでしょうか...
どうみてもオーバースペックなのですが,まあせっかくなので...
円形のユニバーサル基盤とか使ってみるのいいかもしれないですね
諸々届いて製作をはじめています。
進捗ですが、LEDが焼ききれてしまいました...
4.5Vでの動作を前提に電流値を計算していたため、USB接続時に5Vが印加されたことにより想定より大きな電流が流れてしまったからと思われます。
電池駆動時の光量は犠牲になりますが5Vを前提として抵抗値を再調整したいとおもいます。