URM37_V3_2_PWM.pde:
/*
Name: Arduino UNO 单片机 URM37 V3.2 超声波测距模块演示代码
Mode: PWM 脉冲 脉宽输出
By: Nuclear'Atk
Url: https://lcx.cc/post/1691/
Time: 2011年6月17日, 19:46:29
*/
int inputPin = 10; //定义超声波信号接收接口
int outputPin = 7; //定义超声波信号发送接口
void setup()
{
Serial.begin(9600);
pinMode(inputPin, INPUT);
pinMode(outputPin, OUTPUT);
}
void loop()
{
digitalWrite(outputPin, LOW); //使超声波信号发送接口低电平2μs
delayMicroseconds(2);
digitalWrite(outputPin, HIGH); //使超声波信号发送接口高电平10μs
delayMicroseconds(10);
float distance = pulseIn(inputPin,LOW); //读低脉冲时间
distance = distance/50; //将脉冲时间转化为距离(单位:厘米,超声波模块PWM输出规定50us为1cm。详情请参阅URM37V3.2超声波传感器的使用手册。)
Serial.print("Distance: ");Serial.print(distance);Serial.println(" cm"); //输出距离值
delay(100); //100ms
}
|
URM37_V3_2_TTL.pde:
/*
Name: Arduino UNO 单片机 URM37 V3.2 超声波测距模块演示代码
Mode: TTL 电平 串口
By: Nuclear'Atk
Url: https://lcx.cc/post/1691/
Time: 2011年6月17日, 19:46:29
*/
int distance = 0; //距离变量
boolean flag = true; //循环判断
uint8_t DMcmd[4] = {0x22, 0x00, 0x00, 0x22}; //距离命令
void setup() {
Serial.begin(9600);
}
void loop() {
flag = true;
for(int i=0;i
{
Serial.print(DMcmd[i],BYTE); //发送超声波测距命令
}
delay(100);
while(flag)
{
if(Serial.available() > 0) //查询串口有无数据
{
int header=Serial.read(); //0x22开始接收距离数据
int highbyte=Serial.read(); //距离数据高8位
int lowbyte=Serial.read(); //距离数据低8位
int sum=Serial.read(); //sum校验和
if(highbyte == 255) distance = 65525; //数据无效
distance = highbyte * 255 + lowbyte; //计算结果
if (distance
Serial.flush(); //清空缓冲器
Serial.print("Distance: "); Serial.print(distance); Serial.println(" cm"); //输出距离值
flag = false;
}
delay(100);
}
}
|
文章来源于lcx.cc:Arduino UNO 单片机 URM37 V3.2 超声波测距模块演示代码
相关推荐: 百度最牛关键词/权重【www】
哇哈哈哈,百度继续大亮。我这两天算开了眼界了。这个也是不小心搜出来的。这破站,网址都没有。 竟然权重仅次于中国国家政府网站?? 而且还是个色站?? 这做Seo的是天才,还是百度是蠢材? 不信?去看:http://www.…
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
点赞
https://cn-sec.com/archives/324183.html
复制链接
复制链接
-
左青龙
- 微信扫一扫
-
-
右白虎
- 微信扫一扫
-
评论