あなたの身長はどれくらいですか?
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
このプロジェクトについて
デジタルスタディオメーターでお子様の成長を追跡してください!
<図>子供の頃、母は定期的に私の身長を測り、私の成長を追うためにブロックノートに書き留めていました。もちろん、家にスタディオメーターがないので、彼女が巻尺で測定している間、私は壁やドアのわき柱に立っていました。今、私には生まれたばかりの孫娘がいます。彼女が歩き始めると、彼女の両親は確かに彼女の身長の伸びを追うことに興味を持っています。そこで、デジタルスタディオメーターのアイデアが生まれました。
ArduinoNanoと「飛行時間」を中心に作られています 「小さなレーザー光がセンサーに跳ね返るのにかかる時間を測定するセンサー。
ステップ1:部品とコンポーネント
- Arduino Nano Rev 3
- CJMCU 530(VL53L0x)レーザーセンサー
- KY-040ロータリーエンコーダー
- SSD1306 OLED128x64ディスプレイ
- パッシブブザー
- 2x10KΩ抵抗
ステップ2:センサー <図> <図>
STマイクロエレクトロニクス VL53L0X は、小さなパッケージに収められた新世代の飛行時間型(ToF)レーザー測距モジュールであり、従来の技術とは異なり、ターゲットの反射率に関係なく正確な距離測定を提供します。
最大2mの絶対距離を測定できます。内部レーザーは人間の目には完全に見えず(波長940 nm)、安全性の面で最新の基準に準拠しています。一連のSPAD(単一光子アバランシェダイオード)を統合します
センサーとの通信はI2Cを介して行われます。プロジェクトには別のI2Cがインストールされているため(OLED)、SCLおよびSDAラインに2x10KΩのプルアップ抵抗が必要です。
STMicroelectronicsのVL53L0Xを搭載したブレイクアウトモジュールであるCJMCU-530を使用しました。
ステップ3:操作とセンサーの配置
組み立ててテストしたら、デバイスをドアフレーム上部の中央に取り付ける必要があります。これは、壁や障害物に近すぎると、IRレーザービームが干渉し、メジャーにクロストーク現象が発生するためです。もう1つのオプションは、延長ロッドを介してデバイスを取り付けて壁から遠ざけることですが、より不便です。
床とセンサーの間の正しい長さを注意深く測定し(オフセットを設定します)、デバイスを校正します(次の手順を参照)。キャリブレーションが完了すると、別の位置に移動しない限り、デバイスを再度キャリブレーションする必要なしに使用できます。
デバイスの電源を入れ、真っ直ぐでしっかりした位置で、デバイスの下に身を置きます。デバイスが2.5秒を超えて安定した長さを検出すると、測定が行われます。その時点で、「成功」の音楽音が鳴り、小節がディスプレイに保持されたままになります。
ステップ4:オフセットキャリブレーション <図> <図> <図> <図>
前述のように、オフセット、測定デバイスと床の間の距離に正しい値(センチメートル単位)を設定する必要があります。これは、ロータリーエンコーダーノブ(押しボタンスイッチ付き)を押すことで実現できます。キャリブレーションモードをアクティブにしたら、ノブを回して正しい距離を設定します(時計回りにセンチメートルを加算し、反時計回りに減算します)。オフセットの範囲は0〜2.55mです。
完了したら、ノブをもう一度押します。 2つの異なるトーンが内部ブザーによって生成され、音響フィードバックを提供します。キャリブレーションモードのタイムアウトは1分です。このタイムアウト内にオフセットを設定しない場合、デバイスはキャリブレーションモードを終了し、保存されているオフセットを変更せずに測定モードにフォールバックします。オフセットはArduinoのEEPROMメモリに保存され、その後のシャットダウンでも保持されます。
ステップ5:コード
ST Microelectronicsは、ジェスチャ検出を含むVL53L0X用の完全なAPIライブラリをリリースしました。私のデバイスの目的のために、Arduino用のPololuのVL53L0Xライブラリを使用する方が簡単であることがわかりました。このライブラリは、Arduino用のSTのAPIをカスタマイズおよびコンパイルするのとは対照的に、Arduino互換コントローラーでVL53L0Xの使用を開始するためのより迅速で簡単な方法を提供することを目的としています。
設置高さとオフセット設定の自由度を高めるために、センサーを高精度と長距離モードに設定しました。これにより、検出速度が遅くなります。これは、このデバイスの目的にはとにかく十分です。
オフセットはArduinoのEEPROMメモリに保存され、ボードの電源がオフになってもその値は保持されます。
ループセクションでは、新しいメジャーが前のメジャーと比較され、同じメジャーで2.5秒が経過した場合(およびそれがオフレンジまたはタイムアウト値でない場合)、メジャーはオフセットから差し引かれ、ディスプレイに着実に表示されます。 「成功した」短い音楽がピエゾブザーによって再生され、ユーザーに聴覚的に通知されます。
HTAY.ino
ステップ6:回路図 <図>
ステップ7:エンクロージャー/ケースと組み立て <図>
市販の箱に長方形の窓を切ることができないことはよく知られているので、CADを使用してケースを設計し、3D印刷に送ることにしました。これは最も安価な選択肢ではありませんが、すべてのコンポーネントの配置を非常に正確かつ柔軟にする可能性があるため、依然として便利なソリューションです。
小さなレーザーチップは、クロストークや不安定な対策を避けるために、カバーガラスなしで取り付けられています。レーザーをカバーの後ろに取り付けたい場合は、STMicroelectronicsのドキュメントに報告されている複雑なキャリブレーション手順を実行する必要があります。
HTAY.stl
コード
- HTAY.ino
HTAY.ino Arduino
プレビューなし(ダウンロードのみ)。
Github
https://github.com/pololu/vl53l0x-arduinohttps://github.com/pololu/vl53l0x-arduino カスタムパーツとエンクロージャー
HTAY.stl 回路図
製造プロセス