HC-12 –シリアル組み込み通信モジュールの使用
情報をリモートで送受信するための通信モジュールが必要ですか? HC-12を試しましたか?これは、簡単に構成して使用できる優れたシリアルデータモジュールです。
今日の記事では、HC-12、そのプロパティ、設定、およびその使用方法について説明します。
HC-12とは何ですか?
HC-12は、シリアルデータの送受信に使用できる100mWのワイヤレスマルチチャネル組み込み通信モジュールです。 100チャンネルあり、最大1000メートルを送信できます。
HC-12の技術的特性
- HC-12の動作周波数は433.4〜473.0MHzです。
- 次に、電源電圧は3.2V〜5.5VDCです
- 第3に、シリアルボーレートは1.2kpbsから115.2kpbsです。
- 第4に、送信電力は-1dBmから20dBmで、
- 受信感度-117dBm〜-100dBm
- 最後に、動作温度は-40℃から+85℃の範囲です。
HC-12モジュールをArduinoと通信する方法

図1:実践的なArduinoプロジェクトの実践
設定方法は次のとおりです。
電力を安定させるために、外部電源とデカップリングコンデンサを使用することをお勧めします。
- まず、送信機と受信機を2つの異なるArduinoボードに接続します。
- Arduinoボードを2台の別々のコンピューターに接続することを選択できます。または、両方のボードを同じコンピューターに接続し、Arduinoコードを別々にアップロードします。
- 次に、シリアルモニターに入力した内容がHC-12シリアルモジュールからデータを送信するようにボードを構成します。
- また、同じコードを使用してATコマンドを送信し、モジュールパラメータを設定することもできます。 「セット」ピンを接地して、低ロジックレベルに設定するだけです。
HC-12無線モジュールの設定

図2:DC電源
ボーレートの設定
HC-12無線モジュールは、ボーレートまたは通信チャネルを介した情報転送のレートを自動的に設定します。
ここでは、HC-12無線モジュールとの通信を有効にするために設定できるボーレートを確認します。

高い受信感度は、より低いデータレートを支払うため、メリットがあります。 6 dBmを下げると、感度が前の値の半分に下がります。
したがって、次の設定に従って、受信モジュールと送信モジュールのボーレートが同じであることを確認してください。
- AT + Bx、x =1200、2400、4800、9600など
無線モードの設定
HC-12無線モジュールには、FU1、FU2、FU3、およびFU4の4つのモードがあります。 FU3がデフォルトモードです。
まず、無線モードを設定する方法は次のとおりです。
- X =1、2、3、または4のAT+FUx。
さらに、4つの無線モードの機能を見てみましょう。
FU1
FU1のアイドル電流は3.6mA、伝送遅延は15〜25ms、フルパワー動作範囲は100メートルです。
FU2
アイドル電流は80uA、伝送遅延は500ms、フルパワー動作範囲は100メートルです。
FU3
FU3のアイドル電流は16mAで、伝送遅延は4〜80msです。また、9600ボーと2400ボーでそれぞれ600〜1000メートルのフルパワー動作範囲を備えています。
FU4
FU4モードのアイドル電流定格は16mA、伝送遅延は1000msです。さらに、フルパワーで1800メートルの動作範囲と1200ボーを備えています。
送信電力の設定
HC-12無線モジュールには、1から8までの番号が付けられた8つの電力レベルがあります。

レベル8はデフォルトの送信電力レベルであり、残りを設定する方法は次のとおりです。
- AT + Px、x =1、2、3、4、5、6、7、8。
チャネルの設定
HC-12モジュールには、400kHzの周波数シフトで分離された100チャネルがあります。たとえば、チャネル1は433.4 MHzを使用し、チャネル100は473.0MHzを使用します。
チャンネルを設定する方法は次のとおりです。
- AT + Cx、x =001、002、003、…100。
データ形式の設定
シリアルデータ転送では、バイトごとに送信されるビットを設定できます。 8以外はエキゾチックで、その後にパリティビットまたは非パリティビットが続きます。パリティビットを送信する場合は、奇数または偶数のパリティをチェックするオプションがあります。結論として、モジュールは1、1.5、または2ストップビットを送信します。
データ形式を設定する方法は次のとおりです。
- AT + Uxyz、 ここで:
- Xはビット数で、8です。
- Yは、E(偶数パリティチェック)、O(奇数パリティチェック)、およびN(パリティチェックなし)です。
- Zはストップビットの数です。たとえば、1ストップビットなどです。
たとえば、デフォルトのデータ形式は8N1です。
その他の設定
- AT+デフォルト すべての設定をリセットします。
- AT+アップデート 新しいファームウェアのアップロードを許可します。
- AT+スリープ モジュールをスリープモードにするには23uAが必要です。
HC-12モジュールのクエリ
以下に示すように、HC-12モジュールにクエリを実行することもできます。
- AT + V ファームウェアのバージョンを示しています。
- AT + Rx ここで
x =Xは、すべてのパラメーターが照会されたことを意味します。
X =B、C、F、またはP(ボーレート、チャネル、モード、または送信電力)。
スリープモードの使用
スリープモードは、定期的にデータを送信し、それ以外の時間は休止状態を維持するHC-12モジュールに適しています。たとえば、気象観測所のデータを送信するモジュール。
範囲テスト
範囲テストでは、2つのArduinoNanoボードで操作できます。この場合、ボードの1つにレシーバーを接続します。次に、LEDをレシーバーArduinoNanoのピン6に接続します。
設定後、送信機からメッセージを送信し、信号の受信に失敗するまで受信機をさらに動かしてください。それがその範囲です。
範囲の改善
より大きなコンデンサを電源に接続してハードウェアをアップグレードすることにより、データ範囲を改善できます。また、より良いアンテナを使用することができます。
結論
HC-12モジュールは、プロジェクトで使用できる優れた通信モジュールです。そして、これまで見てきたように、1.8 kmに達するものもあり、拡張範囲の通信機能を備えています。
最後に、説明が必要なコメント、提案、または灰色の領域については、お問い合わせください。
産業技術