nRF52にE-PAPERを備えたミニ温度計と湿度計-またはメーカーがまだリリースしていないもの

すべてのHabr読者へのご挨拶!私の新しいオープンソースプロジェクトをあなたと共有したいと思います。記事のタイトルから、電子インクで表示される温度と湿度のセンサーについて話していることは明らかです。すでに長い間、私はそのようなディスプレイを備えた温度センサーのプロジェクトをarduinoモジュールの形で作成しようとしました。それ以来、e-inkディスプレイのトピックに興味を持っています。



このプロジェクトの目標は、従来のワイヤレス温度センサーに匹敵するサイズの小型センサーを開発すると同時に、デバイス自体にデータ出力を取得することでした。そして、これらすべての条件下で、デバイスは小さなバッテリーで長時間動作します。これから何が起こったのか、評価してください、そしてコメントを軽蔑しないでください。







センサーはnRF52チップで動作します。このプロジェクトでは、MINEWのモジュールが選択されました。モジュールは小さく、18ピン(うち13ピンはgpio)、2つのアンテナオプション(プリントとセラミック)、およびいくつかのチップオプション(nRF52810とnRF52832)がモジュールに取り付けられており、会社の経営陣との短い会話の後、問題なくこれらのモジュールにnRF52811チップを取り付けました..。ちなみに、私は最初の811を手に入れました。さらに、ロシアのサプライヤーからチップだけを購入するよりも1.5倍安い価格でしたが、それは別の話です。このモジュールには、DC-DC回路のバリエーションと時計クォーツがあります。モジュールの寸法は12mmx15mmです。金属スクリーンがあります。





e-inkディスプレイのラインから、画面サイズが1.02インチのかなり新しいモデルが当然選択されました。 1インチのe-inkのコストは500ルーブルで、私には許容できるようでした。このディスプレイ用のボードの開発に伴う小さな問題は、そのコネクタ、ピッチ0.5mmの30ピンFPCが原因でした。 FPCコネクタの幅はディスプレイ自体の幅よりもはるかに大きいため、設計に不便が生じました。しかし、ディスプレイストラップの方が簡単で、他のモデルよりも簡単です(データシートGDEW0102T4)。





さまざまなデジタル温度および湿度センサーから、sht20センサーを使用することにしました。十分な数のセンサーがあり、シンプルで、手頃な価格で、便利なサイズでした。また、利点の1つは、必要に応じて、sht20の代わりにsht21、si7020、si7021、htu20d、htu21d、およびhdc1080を簡単にインストールできるという事実と呼ぶことができますが、後者のオプションはあまり良くありません;)。



センサー用に2つのボードが設計されました。1つは画面とそのストラップ用、もう1つは無線モジュール、温度と湿度のセンサー、およびバッテリー用です。ボードサイズの主要なパラメータは、画面とバッテリーのサイズでした。スクリーン付きのボードには、ボードをケースに固定するためのネジ用の穴(1.4 x 3)があり、2番目のボードには、ネジを簡単に取り付けるための切り欠きがありました。これはDIYデバイスなので、「おいしい」CR2450バッテリーを置く余裕がありました。ある日、デバイスが厚いと思われる場合は、いつでもCR2430バッテリー用のホルダーをはんだ付けできます。その結果、36mm×26mmの2枚のボードができました。





ケースはSolidWorksで設計され、ボードのモデルはDXF形式でDipTraceからエクスポートされ、SolidWorksですでに3Dモデルに変換されています。ケースは2つのパーツとボタンで構成されています。ケースの半分は、片側がネジ(1.4 x 4)で、反対側が突き出​​た「フック」で同じように互いに固定されています。温度および湿度センサー用の空気循環用の2つの穴があります。





このプロジェクトでは、もちろんFDMプリンターでボディを印刷しましたが、SLAプリンターよりも印刷品質は劣りますが、強度的には液体樹脂製の製品はフィラメント製の製品よりもはるかに劣り、ボディの特性上、強度が重要でした。だから私は精神的に磨きと磨きの準備をしました。原則として、それはかなりうまくいった。





これはおおよそハードウェア開発が行われた方法です。私はすべての段階といくつかのニュアンスを説明しようとしましたが、時間がかかるように思われる場合はそうではなく、ソフトウェアは実際には手間がかかりました。以前と同じように、私はMySensorsの下でプロジェクトを行っていますが、以前と同じ熱意を持っていないことは認めます。ある瞬間、私は自分自身を抑制し始めました、いくつかのものは欠けています、いくつかは単に不可能です。現時点では、Open Threadを自分の代わりとして考えていますが、少なくともそれは非常に魅力的なようです。



デバイス図








その結果、機能に関するすべての要件を実装することができました。デバイスはUDコントローラーと連携できます。また、デバイスはMySensorネットワーク内の任意のデバイスと直接連携できます。直接交換のためのデバイスのバインドは、UDコントローラーを介したデバイスの構成、外部コマンドの使用、またはボタンを押してバインドモードをアクティブにするだけのUDコントローラーの参加なしの両方で実行できます。温度センサーとセンサーがバインドされている別のデバイスは、通常、MySensorsゲートウェイまたはUDコントローラーが機能していなくても交換をサポートできるため、障害耐性が確実に向上します。別の問題は、おそらくディスプレイが非常に新しいため、ディスプレイeinkドライバーにありました。製造元のWebサイトおよびWaveShareWebサイト(独自のブランドでeink Good Display画面を提供)では、ライブラリの実装は非常に未加工です。私は何かをやり直し、何かを追加しなければなりませんでした。



センサーは、いくつかの言語、デバイス構成モードの外部コマンドによる色反転、デバイス構成モードの外部コマンドによって変更可能ないくつかのフォントオプションをサポートしています。センサーは、温度と湿度の測定値、バッテリー電力、信号強度を表示します。温度と湿度を測定する間隔、バッテリーレベルを測定する間隔は、外部コマンドによって設定することもできます。温度と湿度は分単位、バッテリーレベルは時間単位。センサーは次のデータをUDに送信します:温度、湿度、充電レベル(%)、電圧、信号レベル、再起動の理由。





あなたはそれが小さなビデオでどのように見えるかを見ることができます:





興味深い瞬間のタイムスタンプ:

3.10-構成(フォントの変更、色の反転)

5.10-消費量の計測、WTDの作業



誰かが私の開発に興味を持っている場合は、記事を読んだ後、チャンネルにアクセスしてサブスクライブすることをお勧めします。まず、新しい開発に関する情報を公開します。 ..。



スリープモードでは、センサーは2μAを消費し、WTDは5秒ごとにリセットされ、リセット時の消費量は4〜5μAです。スクリーンと2〜3mAの温度および湿度センサーを使用する動作モードでは、5〜8mAの伝送モードでは、センサー自体が信号レベルデータに基づいて伝送電力を調整するため、このような3mAの範囲になります。



センサーのスポイラー写真の下
























これについては、お辞儀をしたいのですが、DIYに関連するすべてに興味がある場合、DIY開発者であるか、または単に始めたい場合、DIYデバイスの使用に興味がある場合は、テレグラムチャットに興味のあるすべての人を招待します-DIYDEV



デバイスを作成したい人は誰でも、家の自動化を構築し始めます、私は知ることを提案します習得が容易なMysensorsプロトコル-テレグラムチャットMySensors



そして、ホームオートメーションのための十分に成熟したソリューションを探している人のために、オープンスレッドテレグラムチャットにあなたを招待しますこのプロジェクトの



私のGitHub、概略図、ガーバーファイル、ケースの3Dモデル、bom、ソフトウェア



いつものようにみんな親切です!



All Articles