📅  最后修改于: 2021-01-04 01:00:00             🧑  作者: Mango
让我们使用Ultra Sonic HC-SR04和Arduino(Arduino UNO)构建一个IoT项目,以计算Ultra Sonic HC-SR04设备与对象之间的距离。在此项目中,我们将使用“处理”应用程序在笔记本电脑的“显示器”屏幕上显示超声波设备与对象之间的距离。
Ultralonic HC-SR04发出40,000Hz的超声波,并在空中传播。如果路径中有物体或障碍物,则它会碰撞并反弹回Ultra Sonic模块。
距离=速度*时间的公式用于计算距离。
假设将一个物体放在距离传感器10厘米的位置,空气中的声速为340 m / s或0.034 cm / µs。这意味着声波需要在294 µs内传播。但是Echo针的距离增加了一倍(前进和后退弹跳距离)。因此,要获得以厘米为单位的距离,请将收到的行进时间值与echo引脚相乘0.034,然后除以2。
Ultra Sonic HC-SR04与物体之间的距离是:
为了对Arduino设备进行编程,需要Arduino软件IDE。下载和安装Arduino软件IDE的完整过程在使用WiFi Node MCU和Relay模块进行链接控制家庭照明时给出。
#include
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设备中上传程序
超声波传感器HC-SR04 Arduino UNO
VCC ——————————–> 5v
触发——————————–>引脚8
回声——————————–> Pin 7
GND ——————————–> GND
现在从https://processing.org/download/下载处理。
按照说明安装“处理”应用。
将以下代码粘贴到Processing IDE中并运行它。 Processing IDE显示UltraSonic模块与对象之间的距离。
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屏幕中显示该对象的距离。