AoiSaya が 2021年02月28日23時38分44秒 に編集
コメント無し
本文の変更
緑豆漆號改「SphereDice」 # はじめに 球形の電子ダイス作ってみました。 ## 動作 揺らしたり転がしたりすると音を出しながら数字が変わります。 ダイス面を上にして数字が止まります。 停止後、5秒でLEDが消えます。 待機電流は0.3μAなので、ボタン電池でも安心です。 # 部品一覧 部品名 | 型番等 |数量| 備考 --- | --- | --- | --- GreenPAK|SLG46826G|1|Dialog直販で購入 変換基板|TSSOP20→DIP|1|aliexpressで購入 LED|桃色|6|aitendoで購入 振動センサ|SW-18010P|1|aliexpressで購入 圧電サウンダ|Φ10mm|1|aliexpressで購入 抵抗|1kΩ|1|手持ち セラミックコンデンサ|0.1uF|1|手持ち 電池ボックス|CR2032用|1|aliexpressで購入 ピンポン玉|橙色|1|ダイソーで購入 ユニバーサル基板|2.54mmピッチ|1枚|Aliexpressで購入 ピンソケット|メス|適量|aliexpressで購入 ポリウレタン線|0.2mm|適量|手持ち その他消耗品|適宜|適量|はんだ等  # GreenPAKの設計 GreenPAKはCPLDのようなプログラマブルデバイスです。汎用ロジックIC数個で組めるような回路の置き換えに適しており、簡単な回路がこれ一個で実現できます。今回はTSSOP版であるSLG46826Gを使いました。 回路図とピン配、デコード方法検討資料を示します。  右側のComponents欄をみると、部品をあまり使っていないことがわかります。   ## 動作原理 1)PIN13に振動センサがついていて、CNT1でON/OFF変化を検出するとCNT2の出力をLowにしてOSC0を動かすととも、CNT1の出力をLowにしてさいころの目を表示します(スリープ解除)。 2)OSC0はリップルカウンタのクロックですので、リップルカウンタは前回の続きから1~6を高速カウントします。 3)リップルカウンタの出力は、賽の目のデコード回路につながっており、さいころの目を出力します。 (LOWで点灯) 4)ON/OFF変化が止まってから0.5秒でCNT2の出力がHighになりLEDを消灯します。 5)OSC0が停止すると、リップルカウンタも止さいころの目が決まります。 6)また、ON/OFF変化が止まってから5秒たつとCNT0の出力がが5秒経過を図っており、経過するとLEDを消灯します(スリープ状態に移行) 7)2~6の間で振動センサのON/OFFの変化があった場合は1に戻ります。 ## LEDの点灯方針 LEDの配線を簡単にするために、LEDの反対側の足がつながる端子をVDDに固定しています。 LEDの両極を端子に接続してしまうので、そのままでは電流制限抵抗を入れる余裕がありません。内蔵のプルアップ抵抗を使うこともできますが、ボタン電池で動かすことを考えるとこの方法は、スリープ時の電流の増大につながります。 そこで今回はSLG46826の電源に抵抗を挟むことにしました。桃色のLEDのVFはSLG46826Gの最低動作電圧である2.3Vを超えているので、LED点灯時に電源電圧が下がっても動作に影響はなさそうです。実際に動作できていますが、製品ではやらない方がよいと思います。このやり方は電子工作ならではの遊び心で試しています。 # 球形電子ダイスの組み立て ## 変換基板の加工 1)TSSOP版のSLG46826Gを変換基板にはんだ付けします。 2)VDDとVDD2をつなぎ、VDDとGNDの間にパスコンを繋ぎます。 3)変換基板の穴に部品面からピン数を調整したメスのピンソケット2つを差し込んではんだで固定します。 4)電池ソケットをカッターナイフで削って幅を狭くし、変換基板の裏側に両面テープで固定します。 5)電池ソケットのプラス側をSLG46826GのVDDに、マイナス側を1kΩの抵抗を介してGNDにつなぎます。 この時切り取った抵抗の足はあとで使います。   # LED基板の準備 1)ユニバーサル基板を金属はさみで6x7個の穴が残るようにサイズを調整します。 2)さいころの目になるようにLEDを置くまで差し込んで、根元をはんだ付けします。  # ダイスモジュールの組み立て 1)ピンソケットに信号センサの2本の足を差し込み、切り取った抵抗の足を差し込んで固定します。 2)圧電サウンダの足も調整してピンソケットに差し込みます。 3)LED基板のLEDの足をSLG46816のピン配に対応するように折り曲げてピンソケットに差し込みます。   # ピンポンへの格納 1)ピンソケットからSLG46826に設計データを書きこみます。 2)電池ソケットに電池をセットし、動作確認します。 3)ピンポン玉を半分に切り、ダイスモジュールをホットボンドで中に固定します。 ホットボンドはダイス面が上になって止まるように量と位置を調整します。 4)ピンポン玉を元に戻し、テープを周囲に貼って球状に戻せば完成です。  # おわりに Twitterにつぶやいたときの動画を紹介します。 普通に振ってもいいのですが画面に収まらないので、ペンで振動を与えています。
@[twitter](https://twitter.com/La_zlo/status/1247155998533414918) # 免責事項 本記事の正確性については努力しておりますが、当方は利用者が当記事の情報を用いて行う一切の行為について何ら責任を負うものではありません。本記事の情報の利用、内容によって、利用者にいかなる損害、被害が生じても、著者は一切の責任を負いません。ご自身の責任においてご利用いただきますようお願いいたします。 # Author [GitHub/AoiSaya](https://github.com/AoiSaya) [Twitter ID @La_zlo](https://twitter.com/La_zlo)