- 物联网简介
- 物联网特点
- 物联网的优点和缺点
- 物联网的嵌入式设备(系统)
- 物联网生态系统
- 物联网决策框架
- 物联网架构
- 超声波传感器HC-SR04和Arduino设备的Sonar系统项目
- 压力传感器BMP180和Arduino设备进行温度和压力测量
- 压力传感器BMP180和Arduino设备进行温度,压力和高度测量
- 架构和领域
- 物联网设备
- 物联网平台
- 通讯
- 物联网+Arduino
超声波传感器HC-SR04和Arduino进行距离计算
在本教程中,将使用Ultra Sonic HC-SR04和Arduino(Arduino UNO)构建物联网项目,以计算Ultra Sonic HC-SR04设备与物体之间的距离。在这个项目中,我们将使用Processing应用程序在Laptop(监视器)屏幕上显示Ultra Sonic设备和对象之间的距离。
硬件要求
- Arduino的UNO主板
- Arduino UNO的USB电缆连接器
- Ultra Sonic HC-SR04
- 跳线电线(公母)
软件要求
- Arduino软件
- Processing软件
Arduino-Bluetooth模块的工作原理
Ultra Sonic HC-SR04以40,000Hz的频率发射超声波,在空中传播。如果路径中有物体或障碍物,则它会碰撞并反弹回Ultra Sonic模块。
公式距离 =速度 * 时间用于计算距离。
假设物体放置在离传感器10厘米的距离处,空气中的声速为340米/秒或0.034
厘米/秒。这意味着声波需要在294μs内传播。但是Echo引脚加倍了距离(向前和反弹距离)。因此,要获得以cm为单位的距离,将接收到的行程时间值与echo引脚相乘0.034
并将除以2
。
Ultra Sonic HC-SR04与物体之间的距离是:
对于Arduino设备的编程,它需要Arduino软件IDE。下载和安装Arduino软件IDE的完整过程在使用WiFi节点MCU和中继模块的链路控制家庭灯光下给出。
打开Arduino IDE并粘贴以下代码。
#include <Mouse.h> const int trigpin= 8; const int echopin= 7; long duration; int distance; void setup(){ pinMode(trigpin,OUTPUT); pinMode(echopin,INPUT); Serial.begin(9600); } void loop(){ digitalWrite(trigpin,HIGH); delayMicroseconds(10); digitalWrite(trigpin,LOW); duration=pulseIn(echopin,HIGH); distance = duration*0.034/2; Serial.println(distance); }
保存程序并进行编译。
通过Arduino UNO USB线将Arduino设备连接到笔记本电脑(或显示器)。在Arduino UNO上传程序时,删除Arduino UNO设备(如:超声波模块)的所有其他连接。
上传Arduino UNO设备中的代码。在Arduino UNO设备上传代码之前,请确保选择了Arduino串口,否则会生成错误消息未选择串口。
要选择串行端口,请打开“设备管理器”->“端口”->“Arduino Uno”,然后上传代码。
在Arduino设备上传程序 -
数字电路图
Ultrasonic Sensor HC-SR04 Arduino UNO VCC --------------------------------> 5v Trig --------------------------------> Pin 8 Echo --------------------------------> Pin 7 GND --------------------------------> GND
现在从 https://processing.org/download/ 下载处理应用程序。
按照说明安装Processing应用程序。
将以下代码粘贴到Processing IDE中并运行它。Processing IDE显示Ultra Sonic模块和对象之间的距离。
import processing.serial.*; Serial myPort; String data="" ; PFont myFont; void setup(){ size(1366,900); // size of processing window background(0);// setting background color to black myPort = new Serial(this, "COM3", 9600); myPort.bufferUntil("\n"); } void draw(){ background(0); textAlign(CENTER); fill(255); text(data,820,400); textSize(100); fill(#4B5DCE); text(" Distance : cm",450,400); noFill(); stroke(#4B5DCE); } void serialEvent(Serial myPort){ data=myPort.readStringUntil("\n"); }
最开始,显示将0
表示无活动。
现在,连接您的Ultrasonic HC-SR04模块和Arduino设备。使用Arduino USB电缆或220v AC适配器为Arduino设备输入电源。
将物体放在Ultrasonic HC-SR04模块前面,并在Processing IDE显示屏中显示该物体的距离。
下一篇:没有了
扫描二维码
程序员编程王