|
[md]## 简介
使用wifiduino及超声波模块将其检测的距离数据,实时上传到手机app中,制作一个可以远程监控实时在线的距离检测仪。
## 器材准备
+ wifiduino主板 * 1
+ wifiduino拓展板 * 1
+ 超声波模块 * 1
+ 4P连接线 * 1
+ 3.7V可充电电池 * 1
## 程序下载
打开例程 distance.ino 修改程序中的 auth[]值和要连接的wifi的ssid及密码
注意程序中的超声波传感器连接的引脚为D4 和D5
const int TrigPin = D5;
const int EchoPin = D4;
下载程序到wifiduino板中。下载结束后,IDE提示栏中显示“上传成功”
## 完整程序[/md]
- #define BLINKER_WIFI
- #include <Blinker.h>
- char auth[] = "d8bdba0f8f8d";
- char ssid[] = "mostfun";
- char pswd[] = "1803808xxxx";
- #define TEXTE_1 "TextKey" //设置文本组件的键名为“TextKey”
- BlinkerText Text1(TEXTE_1); //新建一个文本对象
- const int TrigPin = D5;
- const int EchoPin = D4;
- float cm;
- float distance_read = 0;
- float distance(){
- //发一个10ms的高脉冲去触发TrigPin
- digitalWrite(TrigPin, LOW);
- delayMicroseconds(2);
- digitalWrite(TrigPin, HIGH);
- delayMicroseconds(10);
- digitalWrite(TrigPin, LOW);
- cm = pulseIn(EchoPin, HIGH) / 58.0; //算成厘米
- cm = (int(cm * 100.0)) / 100.0; //保留两位小数
- return cm;
- }
- void heartbeat() //设置心跳包,59秒发送一次测得的数据,避免服务器的数据资源浪费。
- {
- Text1.print(distance_read);
- }
- void setup()
- {
- Serial.begin(115200);
- BLINKER_DEBUG.stream(Serial);
- BLINKER_DEBUG.debugAll();
- pinMode(LED_BUILTIN, OUTPUT);
- digitalWrite(LED_BUILTIN, LOW);
- Blinker.begin(auth, ssid, pswd);
- Blinker.attachHeartbeat(heartbeat);
- pinMode(TrigPin, OUTPUT);
- pinMode(EchoPin, INPUT);
- }
- void loop()
- {
- Blinker.run();
- distance_read = distance();
- }
复制代码 [md]
## blinker制定软件界面
点击右上方解锁按键,进入编辑模式,添加一个为文本组件,作为超声波传回数据的显示接口。
将键名修改为程序里定义的“TextKey”,文本默认不显示额外信息。完成编辑,点击右上角的勾号。 然后,我们还可以添加两个帮助显示的文本,达到好的显示效果 。
点击右上角解锁,完成添加组件。
## 连接硬件模块
将扩展板堆叠在wifiduino主板上,超声波传感器通过4P连接线连接在扩展板上的4P接口上。
连接完成后,插上电池,并将开关打开供电 , 使wifiduino能够连接上网。
## 观察结果
检查当正常开启超声波检测后,观察手机app中显示的测距数据,这样就可以远程的实时观察某个距离数据了。
[/md]
|
|