超声波传感器

超声波测距模块工作原理:

(1)采用IO TRIG触发测距,给至少10 μs的高电平信号;

(2)模块自动发送8个40 kHz的方波,自动检测是否有信号返回;

(3)有信号返回,通过IO ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340 m/s))/2;

(4)本模块使用方法简单,一个控制口发一个10 μs以上的高电平,就可以在接收口等待高电平输出。一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离。

超声波传感器

实物连接图

实物连接图

若与下方的LCD连接图组合,就可以实现在液晶屏上显示距离值的功能。

LCD连接图

程序

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //定义LCD脚位
const int TrigPin = 8;
const int EchoPin = 9;
float cm;
 
void setup()
{
  Serial.begin(9600);
  pinMode(TrigPin, OUTPUT);
  pinMode(EchoPin, INPUT);
  lcd.begin(16, 2); //设置LCD显示的数目。16 X 2:16格2行。
}
void loop()
{
  digitalWrite(TrigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(TrigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(TrigPin, LOW);
 
  cm = pulseIn(EchoPin, HIGH) / 58.0; //将回波时间换算成cm
  cm = (int(cm * 100.0)) / 100.0; //保留两位小数
  Serial.print("Distance:");
  Serial.print(cm);
  Serial.print("cm");
  Serial.println();
  delay(1000);
  lcd.setCursor(0, 1); //将闪烁的光标设置到column 0, line 1
  lcd.print("Dis:"); 
  lcd.setCursor(5, 1);
  lcd.print(cm); 
  lcd.setCursor(11, 1);
  lcd.print("cm");
}
文件下载(已下载 2 次)

发布时间:2019/9/9 22:44:08  阅读次数:1706

2006 - 2024,推荐分辨率1024*768以上,推荐浏览器Chrome、Edge等现代浏览器,截止2021年12月5日的访问次数:1872万9823 站长邮箱

沪ICP备18037240号-1

沪公网安备 31011002002865号