智能家居应用教程5——远程测距仪-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1268|回复: 0

智能家居应用教程5——远程测距仪

[复制链接]
发表于 2022-1-21 13:55 | 显示全部楼层 |阅读模式
[md]## 简介
使用wifiduino及超声波模块将其检测的距离数据,实时上传到手机app中,制作一个可以远程监控实时在线的距离检测仪。
## 器材准备
+ wifiduino主板 * 1

+ wifiduino拓展板 * 1

+ 超声波模块 * 1

+ 4P连接线 * 1

+ 3.7V可充电电池 * 1

## 程序下载

打开例程 distance.ino  修改程序中的 auth[]值和要连接的wifi的ssid及密码

01.jpg

注意程序中的超声波传感器连接的引脚为D4 和D5
const int TrigPin = D5;
const int EchoPin = D4;
下载程序到wifiduino板中。下载结束后,IDE提示栏中显示“上传成功”

02.jpg

## 完整程序[/md]
  1. #define BLINKER_WIFI
  2. #include <Blinker.h>

  3. char auth[] = "d8bdba0f8f8d";
  4. char ssid[] = "mostfun";
  5. char pswd[] = "1803808xxxx";

  6. #define TEXTE_1 "TextKey"   //设置文本组件的键名为“TextKey”

  7. BlinkerText Text1(TEXTE_1);    //新建一个文本对象

  8. const int TrigPin = D5;
  9. const int EchoPin = D4;

  10. float cm;  
  11. float distance_read = 0;

  12. float distance(){
  13.     //发一个10ms的高脉冲去触发TrigPin
  14.   digitalWrite(TrigPin, LOW);
  15.   delayMicroseconds(2);
  16.   digitalWrite(TrigPin, HIGH);
  17.   delayMicroseconds(10);
  18.   digitalWrite(TrigPin, LOW);
  19.   cm = pulseIn(EchoPin, HIGH) / 58.0; //算成厘米
  20.   cm = (int(cm * 100.0)) / 100.0; //保留两位小数
  21.   return cm;
  22. }
  23. void heartbeat()    //设置心跳包,59秒发送一次测得的数据,避免服务器的数据资源浪费。
  24. {
  25.   Text1.print(distance_read);  
  26. }

  27. void setup()
  28. {
  29.     Serial.begin(115200);
  30.     BLINKER_DEBUG.stream(Serial);
  31.     BLINKER_DEBUG.debugAll();
  32.     pinMode(LED_BUILTIN, OUTPUT);
  33.     digitalWrite(LED_BUILTIN, LOW);
  34.     Blinker.begin(auth, ssid, pswd);
  35.     Blinker.attachHeartbeat(heartbeat);
  36.     pinMode(TrigPin, OUTPUT);
  37.     pinMode(EchoPin, INPUT);
  38. }
  39. void loop()
  40. {
  41.    Blinker.run();
  42.   distance_read = distance();
  43. }
复制代码
[md]
## blinker制定软件界面

点击右上方解锁按键,进入编辑模式,添加一个为文本组件,作为超声波传回数据的显示接口。
03.jpg
将键名修改为程序里定义的“TextKey”,文本默认不显示额外信息。完成编辑,点击右上角的勾号。 然后,我们还可以添加两个帮助显示的文本,达到好的显示效果 。
04.jpg
点击右上角解锁,完成添加组件。

## 连接硬件模块

将扩展板堆叠在wifiduino主板上,超声波传感器通过4P连接线连接在扩展板上的4P接口上。
连接完成后,插上电池,并将开关打开供电 , 使wifiduino能够连接上网。

05.jpg

## 观察结果

检查当正常开启超声波检测后,观察手机app中显示的测距数据,这样就可以远程的实时观察某个距离数据了。
06.jpg
[/md]

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-27 14:46 , Processed in 0.075800 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表