📜  使用超声波传感器Arduino距离计算的物联网项目

📅  最后修改于: 2021-01-04 01:00:00             🧑  作者: Mango

使用超声波传感器HC-SR04和Arduino的IoT项目,使用Processing App进行距离计算

让我们使用Ultra Sonic HC-SR04和Arduino(Arduino UNO)构建一个IoT项目,以计算Ultra Sonic HC-SR04设备与对象之间的距离。在此项目中,我们将使用“处理”应用程序在笔记本电脑的“显示器”屏幕上显示超声波设备与对象之间的距离。

硬件要求

  • Arduino UNO板
  • Arduino UNO的USB电缆连接器
  • 超声波HC-SR04
  • 跳线公对母

软件需求

  • Arduino软件
  • 处理软件

Arduino蓝牙模块的工作原理

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模块进行链接控制家庭照明时给出。

打开Arduino IDE并粘贴以下代码。

#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屏幕中显示该对象的距离。