問題タブ [hm-10]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
arduino - HM-19 BLE Moduleと通信して超音波センサーでスキャンする方法
私は学校の上級プロジェクトに取り組んでおり、HM-19 Bluetooth 5.0 モジュールを使用して別の Bluetooth 5.0 モジュールに接続し、マスタースレーブ接続を確立する必要があります。
それは問題なく実行できますが、超音波センサーがスキャンを実行するために必要なコードを含めると、HM-19 へのコマンドは何も返さず、接続の検索などの基本的な機能を実行できません。超音波センサー コードを使用した場合と使用しない場合でテストしましたが、コードのセンサー部分を使用すると問題が発生します。
明確にするために、私がやろうとしているのは、Bluetooth 5.0チップを別のチップに接続し、通常のコマンドを実行しながら、手を前に置いたときにシリアルモニターに距離を入力することだけです。これは単なるテストです。それが完了したら、本当にやりたいことに移ります。
プロジェクトの出発点にすぎません。ボイドループにセンサーとBluetoothチップの関数呼び出しがあります。そこにあるのはそれだけです。
この問題を解決する方法を知りたいだけです。超音波センサーでスキャンして Bluetooth モジュールにコマンドを送信するにはどうすればよいですか? どんな助けでも大歓迎です。
[センサーがコメントされたときの結果は次のとおりです][1] および [チップが言うことを返すコードの部分に到達できない無限ループにつながる失敗した結果は次のとおりです][2]。最後に、ほとんどのリンクには HM-10 用のものが含まれていますが、コマンドは基本的に HM-19 と同じです。スタックオーバーフローにより、文字数が増えるまでこの投稿を編集できないため、さらに追加しています。これを読んでいるあなたが良い昼/夜の人を持っていることを願っています.
これが私のコードです:
c - HM-10 と Arduino Nano との BLE データの不一致
モバイルアプリ経由で接続された 80 の LED ストリップを制御するプロジェクトがあります。使用したコンポーネントは次のとおりです。
- Arduinoナノボード
- HM-10 ブルートゥースモジュール
- WS2812b LED ストリップ
アプリで、ユーザーは色 (最大 5 つ)、アニメーション (オプション)、アニメーションの速度、明るさを選択します。選択した構成は、特定のスロットルとデバウンスで BLE モジュールに送信されます。色 (アプリのカラー ホイールで選択) と明るさは問題なく正常に送信されます。
私たちが遭遇する問題は、特定のアニメーションがアクティブなときに、ユーザーがアプリを介してアニメーションの速度を変更すると、arduino の部分がロックされ、それ以上のコマンドを受け付けなくなることです。
アニメーションで構成を有効にするには、次のようにアプリから arduino にデータを送信します。
<l255180200,240135068:089;04200>
形式は次のとおりです。 < [モード] [色 (',')] : [明るさ] ; [animationCode(2桁)] [animationSpeed] >
最初は、連続したデータとの不一致があったため、データ取得のために次のように実装しました。
したがって、カスタム関数はモード == 'l' のときに呼び出されます。カスタム関数では、次のように実行します。
この問題は、次のようなパルス アニメーションで発生します。
以下を使用して、問題なくアニメーションを初期化します。
<l255180200,240135068:089;04200>
アプリからアニメーション速度を調整するとすぐに、1 秒あたり約 2 つの新しい構成を送信します。これは上記と同じですが、速度が異なるだけです (「>」の前の最後の 3 文字)。arduino の部分がランダムにデータを誤って受信し、<l2551800,240135068:089;04200> のように 2 ~ 3 文字が失われます。
文字の損失は通常、文字列のさまざまな部分で発生しますが、連続する文字が読み違えるたびに発生します。また、後ろ向きのクエスチョン マークが表示されることもあります。どこで実装が間違っているのかわからないため、この問題を解決するための助けをいただければ幸いです。
ありがとう!