ジュールシーフ × ATtiny-85 × フルカラーLED (2)
前回の続き。
一般的な機器類で使い古した1V程度の電池切れ、の乾電池(単3か単4あたりを想定。今回は単3)の電圧を昇圧してもう少し使いたい、そしてその昇圧回路もできれば多少安く組みたい、という流れです。いくつか試して、とりあえずHT77XAシリーズにしました、が前回までの内容で。
一般的な電気機器で利用していて電池切れとなった単3電池(ここでは1.0V程度とする)では、低電力LEDでも光らないと思います。実際に1Vを切った電池をつなげてみてもやはりダメそうです。
というか、そもそもここで使っている赤色LEDは順電圧2.0Vなので新品のアルカリ単3電池1本でも発光に必要な電流は流れません。
ATtiny-85も動きません。
前回までで手元にあったHT77XA昇圧後、低電力LEDやら順電圧3.1Vの青色LEDなんかも光るところまで確認しています。この使い古し電池を昇圧した電源を使って、クリスマスのイルミネーション用にフルカラーLEDが少しずつ色が変わっていくプログラムをATtiny-85で動かしたいと思います。
プログラム自体は、こちらの書籍*1の「第1章 4 カラーLED」のプログラムをほぼそのまま使わせてもらっています。
#define LED_R 0 #define LED_G 1 #define LED_B 2 void setup() { } void loop() { uint8_t r, g, b; uint8_t i; for(i=0;;i++){ r = (sin(2 * 3.14 / 256 * i) + 1) * 128; g = (sin(2 * 3.14 / 256 * (i + 85)) + 1) * 128; b = (sin(2 * 3.14 / 256 * (i + 170)) + 1) * 128; analogWrite(LED_R,r); analogWrite(LED_G,g); analogWrite(LED_B,b); delay(20); } }
Arduino Unoあたりで一度試して動作確認ができたらATtiny-85をArduino化しプログラムを書き込みます。
書き込み終わったら、ATtiny-85とフルカラーLED等をつないで、LEDが光ればOKです。上記エントリでも書いていますが、ATtiny-85自体のピン番号とGPIOの番号は違うので注意が必要。以下、データシート含めて再掲。今回はGPIOの「0,1,2」を使っています。
https://akizukidenshi.com/download/ds/atmel/attiny25_attiny45_attiny85.pdf
ATtiny-85 | Pinout |
---|---|
1 | 5 |
2 | 3 |
3 | 4 |
4 | GND |
5 | 0 |
6 | 1 |
7 | 2 |
8 | VCC |
どんな機器類で使い古した電池なのかやフルカラーLEDにつなぐ抵抗などの条件にもよりますが、使い古しの電池でも十数時間程度は光るのではないかと思います。
これで、クリスマスのイルミネーションやら5歳の息子がよくやっている「部屋を暗くしていろいろなものを光らせる光の世界」遊びごっこで十分使えるのでこれ以上作り込みませんでしたが、アクセサリーっぽくするのも選択肢としてありかと。
ただ、その場合は、ATtiny-85での実装はサイズも大きくなるのでフルカラーLEDを適宜色を変えて光らせ続けたい、という今回のプログラム例とほぼ同じニーズであれば、ATtiny-85などは使わず、イルミネーションタイプのフルカラーLEDを利用する、という選択肢もあるかと思います。それだけであれば実装がとても簡単になります。
今回利用したHT7733AとHT7750Aはどちらも0.7V入力をそれぞれ3.3V or 5.0Vへ昇圧してくれます。モーターやらをがんがん回す用途でなければ、簡単な電子工作系は電池1本昇圧、でいけそうな気がしていて、最近はもっぱら3.3Vや5Vを作るときは単3電池をこのHT77XAシリーズを使うかXCL102をDIP化したDCDC昇圧コンバータで昇圧して、で間に合っています。
9V電源をレギュレータで5Vに降圧して使うこともありますが、特にこどもが触るものであれば、使い古しの電池を使って動かしている回路は、もしものショートのときなども考えると少し安心な気がしています。
そして何より使い古しの電池1本でATtiny-85が動くので、LEDを光らせる以外にもまだまだ活用することができるのかな、ということを実感できたのが一番の収穫でした*2。