您的位置 首页 被动

单片机+超声波实时测距

本文讲的是通过超声波测试距离,并把所测到的数据实时显示在LCD1602上的,当所测到的距离小于10CM时,LED灯将会点亮,这个程序的应用性比较

本文讲的是经过超声波测验间隔,并把所测到的数据实时显现在LCD1602上的,当所测到的间隔小于10CM时,LED灯将会点亮,这个程序的使用性比较强,可用于测距,测速,清洗,焊接,碎石、灭菌消毒等。在医学、军事、工业、农业上有许多的使用。在躲避障碍物时能够感应到,日常比较觉的使用有:核算人流量。人到水龙头前主动出水,智能小车避障,机器人体系,灯的感应等。最近刚想做一部智能小车,我想到时分使用它就更好不过了,^-^ 当然,有时分也能够用红外线等其它感应器替代。下面介绍的是超声波关于灯的感应试验。

我写的代码:
下面是代码:
#include
LCD4Bit_mod lcd = LCD4Bit_mod(2);
int inputPin=15;
int outputPin=16;
int ledPin = 17;
void setup() {
pinMode(inputPin, INPUT);
pinMode(outputPin, OUTPUT);
pinMode(ledPin,OUTPUT);
lcd.init();
lcd.clear();
lcd.cursorTo(1, 0);
lcd.printIn(“www.geeetech.com”);
}
void display(int number,unsigned char address)
{
unsigned char a,b,c,d;
if(number <100)
digitalWrite(ledPin,LOW);
if(number >=100 )
digitalWrite(ledPin,HIGH);
a=(number/1000);
b=(number/100)%10;
c=(number/10)%10;
d=number%10;
lcd.commandWrite(0x80+address);
lcd.print(a+48);
lcd.print(b+48);
lcd.print(c+48);
lcd.print(46);
lcd.print(d+48);
lcd.print(99);
lcd.print(109);
}
void loop() {
digitalWrite(outputPin, LOW);
delayMicroseconds(2);
digitalWrite(outputPin, HIGH);
delayMicroseconds(10);
digitalWrite(outputPin, LOW);
float distance = pulseIn(inputPin, HIGH);
distance= distance/5.8;
lcd.cursorTo(2, 0);
lcd.printIn(“Distance:”);
display(distance,0x49);
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/beidong/318132.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部