Skip to content

超声波传感器

DYP-A02YY-V2.0 超声波传感器

准备

  • 犀牛派 A1
  • DYP-A02YY-V2.0 超声波传感器(输出方式为 RS485,也可选择 UART 输出)
  • 其他连接线缆若干

硬件连接

  • 传感器需要最低 5V 供电,但由于犀牛派 A1 的 5V pin 以及 GND pin 脚还在调试中,本实例中通过外部给传感器供电。

  • 超声波传感器的 RS485A、RS485B 接入犀牛派 A1 的 RS485A、RS485B 进行通信。

超声波传感器连接

测试

电应普超声波传感器,需要手动发送测距指令后,才会得到测距结果。每发送一次,得到一次结果。

  1. 因测试工具 minicom 无法设置输入 16 进制数据来控制传感器测距,因此可以编写脚本进行进制转换后发送数据到串口设备号上来进行控制。脚本内容如下:
shell
#!/bin/bash
# 检查参数数量
if [ "$#" -ne 2 ]; then
    echo "使用方法: $0 [串口设备] [十六进制数据]"
    exit 1
fi
# 串口设备,例如 /dev/ttyS2
SERIAL_PORT=$1

# 十六进制数据,例如 '1F2E3D4C'
HEX_DATA=$2

# 将十六进制数据转换为二进制流并发送到串口
printf "$HEX_DATA" | xxd -r -p > $SERIAL_PORT
  1. 使用脚本发送控制指令:
shell
./send_hex.sh /dev/ttyHS1 '01030100000185F6'
  • /dev/ttyHS1:犀牛派 A1 的 RS485 设备号
  • 01030100000185F6:读取处理值数据,也有其他指令,详情请查看电应普产品说明书
  1. 在 AidLux 中使用 minicom 工具接收数据。(如未安装,请通过 sudo apt update; apt install minicom 安装)。打开 minicom:
shell
sudo minicom -D /dev/ttyHS1 -b 9600 -H
  • /dev/ttyHS1:犀牛派 A1 的 RS485 设备号
  • -b 9600:设置波特率为 9600(传感器的默认波特率为 9600)
  • -H:显示 16 进制数据

超声波测试