"
上诗一首:
早蝉【唐】白居易--
六月初七日,江头蝉始鸣。
石楠深叶里,薄暮两三声。
首先,我们先来做一个小实验,来初步了解一下超声波模块。
实验材料:
Arduino开发板 x1
USB数据线 x1
杜邦线 若干
超声波模块 x1
硬件连接图:
实物连接图:
程序代码:
int Echo = A5; // Echo回声脚(P2.0)
int Trig =A4; // Trig 触发脚(P2.1)
void setup()
{
Serial.begin(9600); // 初始化串口
//初始化电机驱动IO为输出方式
//初始化超声波引脚
pinMode(Echo, INPUT); // 定义超声波输入脚
pinMode(Trig, OUTPUT); // 定义超声波输出脚
}
void Distance_test() // 量出前方距离
{
digitalWrite(Trig, LOW); // 给触发脚低电平2μs
delayMicroseconds(2);
digitalWrite(Trig, HIGH); // 给触发脚高电平10μs,这里至少是10μs
delayMicroseconds(10);
digitalWrite(Trig, LOW); // 持续给触发脚低电
float Fdistance = pulseIn(Echo, HIGH); // 读取高电平时间(单位:微秒)
Fdistance= //代码效果参考:https://v.youku.com/v_show/id_XNjQwMDM0NjM2OA==.html
Fdistance/58; //为什么除以58等于厘米, Y米=(X秒*344)/2// X秒=( 2Y米)/344 ==》X秒=0.0058Y米 ==》厘米=微秒/58
Serial.print(""Distance:""); //输出距离(单位:厘米)
Serial.println(Fdistance); //显示距离
Distance = Fdistance;
}
void loop()
{
Distance_test();
delay(250);
}
实验效果是这样的:
注意这里输出单位是: CM
下面来说说原理:
总结:
实验中使用到的函数调用:
串口监视器:
Serial.begin(9600); // 初始化串口, 设置比特率
Serial.print(""Distance:""); //输出距离(单位:厘米) 不带“\n”输出
Serial.println(Fdistance); //输出显示距离 带“\n”输出
LCD显示屏:
#include //申明1602液晶的函数库
//申明1602液晶的引脚所连接的Arduino数字端口,8线或4线数据模式,任选其一
//LiquidCrystal lcd(12,11,10,9,8,7,6,5,4,3,2); //8数据口模式连线声明
LiquidCrystal lcd(3,4,7,8,11,12,13); //4数据口模式连线声明
lcd.home(); //把光标移回左上角,即从头开始输出
lcd.print("" Distance: ""); //显示
lcd.setCursor(6,2); //把光标定位在//代码效果参考:https://v.youku.com/v_show/id_XNjQwNjgwMDkxMg==.html
第2行,第6列lcd.clear(); //清屏
"