多功能超声波测距仪例程

简介

超声波是频率高于20000赫兹的声波的统称,其具有方向性较好、传播速度快以及穿透性强等特点,被广泛用于测距、测速以及工业清洗等多种方向。超声波测距仪是基于超声波的反射原理,通过超声波的发射头发射固定频率的超声波信号,当声波遇到障碍物返回时,通过接收头接收,计算超声波发射到接到反馈的时间,根据声波的速度,即可测量出发射点到障碍物的距离。超声波用于测距的方案,目前已经被普及到小型手持设备中,由于其成本低廉、测量距离远以及稳定性好等特点,因此被用于多种测距场景。

本例程提供了一种带有实时环境状态监测的多功能超声波测距仪,例程中主要使用套件中的TiKit-T600-ESP8266A 主开发板以及以下模块:

  1. 屏幕显示部分:TiOLED_UG2864 OLED显示模块;
  2. 测距部分:TiHCSR04超声波测距模块;
  3. 温湿度监测部分:TIDHT温湿度监测模块;
  4. 声音提示部分:TIBuzzer蜂鸣器模块;
  5. 按钮部分:TiButton按键模块。

通过使用相应的驱动包以及相关总线类,加以逻辑设计,超声波测距仪主要实现功能:

  1. 温湿度实时监测、显示;

  2. 实时测距并显示;

  3. 按键锁定测距并保留测量值方便阅读;

  4. 按键声音提示。

本例程可用于手持超声波测距仪的测距,开发者可根据实际需求自行扩展,例如: 1. 接入网络实时记录并上传测量记录; 2. 更换精度更好、测量距离更远的超声波传感器,可用于多种场景下的远距离测量; 3. 接入网络实时记录并上传测量记录,增加转向电机模块,可实现远距离定向测距,可用于高危特种作业环境的距离测量; 4. 可载入智能小车,作为避障源动态监测各方向离障碍物的距离。

相关源码请参考GasMonitoringSample.java

加入驱动库配置

在工程属性中找到“Java Build Path" 中Libraries中选择"Add Library"

javabuildpath

选择"TiJOS Driver Library Classpath Container"

1528246646906

点击"Next"选中"TiJOS Driver Library" 点击"Finish" 加入钛极OS标准驱动包。

1528246811450

标准驱动包的相关源码可在钛极驱动仓库中找到, 在实际开发过程中如果需要其它驱动, 可从钛极驱动仓库找到相关源码加入即可。

适用TiKit开发板

1.TiKit-T600-ESP8266A

TiKit-T600-ESP8266A 连接说明 - RangefinderSample

电气连接

  1. 屏幕显示部分:TiOLED_UG2864
  2. 3.3V<------>VCC
  3. GND<------>GND
  4. SDA<------>SDA
  5. SCL<------>SCL
  6. 测距部分:TiHCSR04
  7. GND<------>GND
  8. PIN3<------>Trig
  9. PIN4<------>Echo
  10. 3.3v <------>VCC
  11. 温湿度监测部分:TiDHT:
  12. GND<------>地(-)
  13. PIN5 <------>信号线(OUT)
  14. 3.3v <------>电源(+)
  15. 声音提示部分:TIBuzzer蜂鸣器模块:
  16. GND<------>GND
  17. PIN6<------>I/O
  18. 3.3v <------>VCC
  19. 按钮部分:TiButton按键模块:
  20. GND<------>GND
  21. PIN7<------>B1(S1)

示意图

TiButton 四按键功能例程

注意事项

  1. 为了避免图中线条太多对用户阅读造成干扰,因此在上述示意图中,各部分与TiKit只连接了信号线,未将VCC和GND与各部分相连。用户在实际测试时,各部分的VCC(-)和GND(-)都需要依照电气连接部分的对照表一一对应连接。
  2. 使用本例程时,由于各部分均与主板连接,因此需要格外注意模块的焊接点互相碰到,否则容易造成短路,烧毁器件。建议用户在使用时,将各部分的连接线整理好,将模块尽量隔离。