超声波模块程序详解

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

intTrigpin=7;//定义模块触发引脚intEchopin=5;//定义模块接收引脚floatDistance;//定义距离变量voidsetup(){pinMode(Echopin,INPUT);pinMode(Trigpin,OUTPUT);Serial.begin(9600);//启动串口功能}voidloop(){Distance=Measurement();//调用测量函数,将采得的值给变量DistanceSerial.print(Distance);//在端口输出距离Serial.println(cm);//输出单位,并换行delay(2000);}floatMeasurement(){floatdistance;//定义一个局部变量digitalWrite(Trigpin,LOW);//初始化触发引脚delayMicroseconds(2);digitalWrite(Trigpin,HIGH);//给触发引脚一个信号,使模块发出声波delayMicroseconds(10);digitalWrite(Trigpin,LOW);//结束声波信号distance=(pulseIn(Echopin,HIGH)*17)/1000;//计算距离returndistance;//将算得的距离返回给变量distance}伺服舵机+超声波模块#includeServo.hintTrigpin=7;//定义模块触发引脚intEchopin=5;//定义模块接收引脚floatDistance;//定义距离变量Servomyservo3;voidsetup(){myservo3.attach(3);pinMode(Echopin,INPUT);pinMode(Trigpin,OUTPUT);Serial.begin(9600);//启动串口功能}voidloop(){myservo3.write(0);delay(2000);Distance=Measurement();//调用测量函数,将采得的值给变量DistanceSerial.print(Distance);//在端口输出距离Serial.println(cm);//输出单位,并换行myservo3.write(90);delay(2000);Distance=Measurement();//调用测量函数,将采得的值给变量DistanceSerial.print(Distance);//在端口输出距离Serial.println(cm);//输出单位,并换行myservo3.write(178);delay(2000);Distance=Measurement();//调用测量函数,将采得的值给变量DistanceSerial.print(Distance);//在端口输出距离Serial.println(cm);//输出单位,并换行}floatMeasurement(){floatdistance;//定义一个局部变量digitalWrite(Trigpin,LOW);//初始化触发引脚delayMicroseconds(2);digitalWrite(Trigpin,HIGH);//给触发引脚一个信号,使模块发出声波delayMicroseconds(10);digitalWrite(Trigpin,LOW);//结束声波信号distance=(pulseIn(Echopin,HIGH)*17)/1000;//计算距离returndistance;//将算得的距离返回给变量distance}

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功