2012年4月22日日曜日

ブレッドボードで電子サイコロ作ってみた

LEDを使った電子サイコロをブレッドボード上に作ってみました。

圧電スピーカーに振動を与えるとサイコロの抽選スタート 、ピピピピピ・・・と抽選音とともにLEDが点滅、ピーっと終了音、サイコロの目を表示します。

参考:
建築発明工作ゼミ2008: Arduino 圧電スピーカ
なんでも作っちゃう、かも。 Arduinoで遊ぼう - Arduinoをスリープさせる
電子サイコロの製作

最初、1ピンに1LEDを接続していましたが、4ピンで足ります。
(A) (B)  (C) (D)
○ ○ ● ○ ○ ● ○ ○
○●○ ○○○ ○○○ ●○●
○ ○ ○ ● ● ○ ○ ○ (●が点灯するLED)
の4パターンの組合せで1~6を表示。B、C、Dは1ピンに2個のLEDを直列接続。
8ピンのマイコンで作り、ボタン電池を使ってコンパクトにまとめたいところですが、スケッチが収まりません。もったいないけど328Pを使うことに。
ピンが余るので1ピン1LEDでもいいかも。
そうすれば点滅パターンを凝ることができますね。
省電力にするのでLEDの電流制限抵抗は1KΩにしました。暗いと思えばもう少し小さな抵抗に。
圧電素子は強く叩くと高い電圧が発生するようですが、ピン - 圧電スピーカー - GNDと直結。保護するための回路がある方がいい気がしますが、分からないので放置。
ヒューズを書き換えて内部発振8MHzにし、スケッチで分周比を1/8にして1MHzで動かします。8MHz動作に比べ圧電スピーカーの音が若干汚くなります。
電源は100円ショップの3V→5VのUSBチャージャーから供給。動画は1本で動かしてるところ。
一番電気を食ってるのはこのDCDCコンバータ。
乾電池が0.9V切っても動いてるので、充電池だと過放電になるかも。


参考サイトのスリープライブラリを使い、放置約20秒でスリープに入り、センサーを叩くと割り込みが発生して、復帰し抽選開始します。
LED全点灯時の電流は以下のようになりました。


電池とDCDCの間 DCDCとブレッドボードの間
新品アルカリ電池1本1.5V 約57mA 約13mA
新品電池1本でスリープモード中※ 約1mA 約0.14mA
※割り込みで復帰できるスリープライブラリの
SleepClass::powerDownAndWakeupExternalEvent(0); で計測


3Vのボタン電池or1.5V乾電池2本だとマイコンは動きますが、2個直列のLEDは点灯しませんでした。
ピンも余ってるし1ピン1LEDならいける?でも電圧がちょっと下がると動かなくなりそう。
スケッチ、回路図は無しで。

環境:ArduinoUnoR3、Arduino1.0



0 件のコメント:

コメントを投稿