序文
Anxinke の最新レーダー モジュールRd-04が登場しましたが、誰もがまだ混乱しています。Rd-04 の使用方法は何ですか?
おそらく誰もがこの問題をより懸念していると思われますが、このチュートリアルでは Rd-04 の使用法を詳しく説明します。
1. Rd-04 ピンの説明
Rd-04 は合計 6 ピンの 2.0 mm ピン ヘッダーにつながります。ピンは次のとおりです。
シリアルナンバー | ピン名 | 説明する |
---|---|---|
1 | SDA | IICデータケーブル |
2 | SCL | IICクロックライン |
3 | 外 | 検出結果出力、感知時ハイレベル出力、非感知時ローレベル出力 |
4 | グランド | 接地 |
5 | VIN | N 3.3V入力電源 |
6 | IIC_EN | IIC イネーブル。外部 MCU を使用して Rd-04 モードを設定する場合、低消費電力を実現するために、このピンを外部 MCU の IO ポートに接続する必要があります。 |
注:
この記事では I2C ピンを使用する必要があるため、正式な配線の前に Rd-04 のオンボード MCU を取り外す必要があります。MCU の位置は次のとおりです。
2. Rd-04とSTM32間の配線
この STM32 プロジェクトでは、Rd-04 との配線は次のようになります。
3. STM32ドライバーの移植
誰でも簡単にこの機能をより早く実現できるように、ドライバー ライブラリを開発しました。I2C ドライバーを記述するだけで済みます。
- Rd-04 I2C は IO 機能を有効にします。Rd-04 の I2C 機能は、IIC_EN ピンを High にした後に使用する必要があります。STM32 を例に挙げると、HAL_GPIO_WritePin(GPIOA,GPIO_PIN_3,GPIO_PIN_SET) を有効にし、オフにします: HAL_GPIO_WritePin(GPIOA) 、GPIO_PIN_3、GPIO_PIN_RESET)
- I2C送信開始信号機能
- I2C送信停止信号機能
- I2CマスターはACK応答待ち機能
- I2C送信バイト機能
- I2C バイト読み取り関数。この関数はスレーブに ACK を送信するかどうか独自のパラメーターを必要とします。
- 微妙な遅延機能
ドライバーの開発が完了したら、次のように元のドライバーを置き換えます。
#define AXK_RD04_I2C_ENABLE HAL_GPIO_WritePin(GPIOA,GPIO_PIN_3,GPIO_PIN_SET)
#define AXK_RD04_I2C_DISABLE HAL_GPIO_WritePin(GPIOA,GPIO_PIN_3,GPIO_PIN_RESET)
#define AXK_RD04_I2C_START I2C_start()
#define AXK_RD04_I2C_STOP I2C_stop()
#define AXK_RD04_I2C_WAITACK I2C_wait_ack()
#define AXK_RD04_I2C_SEND(byte) I2C_send_byte(byte)
#define AXK_RD04_I2C_READ(ack) I2C_read_byte(ack)
#define AXK_RD04_DELAY_us(us) delay_us(us)
OUT
Rd-04 は検出データをリアルタイムに出力することができず、IO の High レベルと Low レベルのみを出力するため、 Rd-04 の端子出力を検出することしかできません。
操作結果:
その他の API の説明とソース アドレス
void axk_rd04_default_config(void)
Rd-04 工場出荷時のデフォルト設定です。内部の設定パラメータを変更することはお勧めできません。他の機能を使用して設定を変更することをお勧めします。
void axk_rd04_display_config(void)
印刷設定結果を出力します。
pinrtf
印刷出力をサポートする必要があります
void AxkRd04SetIoValOutput(uint8_t OutputStatus)
IO VALの出力レベル、つまりターゲットが検出されたときに出力されるレベルを設定します。デフォルトの出力はHighです。
void AxkRd04SetWayOfWorking(rd04_psm_t PSM)
電源モードを設定します。デフォルトは断続電源、つまり低消費電力モードです。
void AxkRd04SetADCSamplingFrequency(rd04_adc_sf_t ADC_SF)
ADC サンプリング周波数を設定します。デフォルトは 1KHz ですが、オプションで 1KHz、2KHz、4KHz、16KHz があります。
void AxkRD04SetTransmittingPower(rd04_tpower_t Tpower)
送信電力を設定します。デフォルトは RD04_TPOWER_5 (0x45) で、オプションは RD04_TPOWER_0 ~ RD04_TPOWER_7 の 8 つあります。
void AxkRD04SetInductionThreshold(uint16_t IndTs)
検知しきい値を構成します。デフォルト: 0x15a
void AxkRD04SetNoiseUpdate(uint16_t ノイズ更新)
更新ノイズしきい値を構成します。デフォルト: 0x0155
void AxkRD04SetInductionDelayTime(uint32_t _lay_ms)
遅延時間を設定します (単位: ms)。デフォルトは100ミリ秒
void AxkRD04SetBlockadeTime(uint32_t _delay_ms)
ロック時間を設定します (単位: ミリ秒)。デフォルトは1000ミリ秒
ソースアドレス: https://github.com/Ai-Thinker-Open/STM32F102_Rd-04
要約する
公式 Web サイト: https://www.ai-thinker.com
DOCS の開発: https://docs.ai-thinker.com
公式フォーラム: http://bbs.ai-thinker.com
技術サポート: support@aithinker。コム