SMDkoubou が 2021年02月24日12時44分06秒 に編集
初版
タイトルの変更
16x16 LED MATRIXを使用した砂時計の制作
タグの変更
STM32
LED
リチウムイオン
加速度センサー
メイン画像の変更
本文の変更
## 概要 16x16 LED MATRIXの素子を砂に見立てて、センサーで傾きを検知し、本物の砂時計のような挙動をすることを目指しました。 ## 主な使用部品 **16x16 LED MATRIX** 鈴商で扱っている2mmピッチのLED MATRIX [LT5013T](https://suzushoweb.shop-pro.jp/?pid=100888047)です。  **加速度センサー** ADXL345 足が無いので、クリームはんだ+ヒートガン or リフローが必要です。 **LEDドライバ** 部品点数を少なくするため、中華チップ構成にしました。 アノード側 : ICN2012 カスケード接続にして16bitを確保 カソード側 : MBI5024 デイジーチェーン接続で32bitを確保 **バッテリー** 砂時計のくびれ部分を細くするため、18650を使用。 USBからの充電にも対応。 **CPU** 18650の幅に収まるサイズ性を重視してSTM32F042を選択。 **スピーカー** 秋月電子の[UGCT7525AN4](https://akizukidenshi.com/catalog/g/gP-09801/)です。 タイマー出力からトランジスタ一本で駆動。 ## ブロック図 ブロック図は下記のようになります  加速度センサーで傾きを検知し、仮想の粒子の移動を行いLEDを点灯する場所を決めます。 LED MATRIXはカソード側を1ms毎に更新、アノード側の切り替えを16回行うので1フレーム16ms。62.5fpsの画面更新となります。 ICN2012は焼き付き防止回路が入っており、定期的な更新が無いと出力が停止します。Debugの際は注意が必要です。 ## 作成した基板 LED MATRIXのピンピッチが特殊なことや表面実装部品を多用するため、基板を起こしました。  U4, U5はICN2012ですが、LED MATRIXの下になるので、先に実装が必要です。半田不良があったらアウトです。  MAIN BOARDにはバッテリが載らないためバッテリ用に別基板を作成しました。充電回路も載っています。  裏には何もありません。  ## 実装 実装すると以下のようになります。  ピンヘッダを通してMAIN BOARDに電源を供給します。  スペーサーを使用して2枚を合わせると以下のようになります。  右横から見ると以下のようになります。こちら側には電源スイッチと、リセット用のスイッチがあります。  左横から見ると以下のようになります。こちら側には充電用のUSB端子があります。  ## 動作 電源を入れると重力に従ってLEDの点灯が移動します。  スモークのアクリルを前面に付けるとLEDが光っている部分のみが残りますので、見た目が良くなります。 (アクリルの加工が雑であまり綺麗ではありませんが…)  動作時の動画は以下になります。 砂に見立てたLEDは1秒に1つ落ちるようになっており、リセットスイッチを押すと重力とは反対側のLED MATRIXに180個が集まります。 重力側に全部移動(3分経過)するとアラームが鳴ります。 @[youtube](https://youtu.be/g-y9NBGORd4)