Toggle navigation
科创
{{ getSearchSuggestionLabel(suggestion) }}
{{ part.text }}
查看更多
登录
 
注册
电波
论坛
专栏
应用
登录
注册
{{ getSearchSuggestionLabel(suggestion) }}
{{ part.text }}
查看更多
论坛
>
电子信息
>
电子技术
>
嵌入式
文号
t60373
阅读
5931
回复
0
收藏
1
所有教程由网友发布,仅供参考,请谨慎采纳。科创不对教程的科学性、准确性、可靠性负责。
转帖:Arduino教程(提高篇)——SR04超声波类库的使用
kc2038
2013/09/06
电子技术
IP:广西
Arduino教程(提高篇)——SR04超声波类库的使用
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
SR04
是最常见的超声波传感器之一,价格便宜,好用,是
arduino
开发的必备良品
~
其工作原理如下
·
·
采用
IO
触发测距,给至少
10us
的高电平信号;
·
模块自动发送
8
个
40KHz
的方波,自动检测是否有信号返回;
·
有信号返回,通过
IO
输出一高电平,高电平持续的时间就是超声波从发射到返回的时间.距离
=(
高电平时间
*
声速
(340m/s))/2;
下面使用的是
arduino
官方推荐的
SR04
超声波传感器类库
SR04超声波传感器类库.rar
2.45KB
RAR
82次下载
(2.45 KB
)
·
·
将附件下载后解压到
arduinoIDE
下的
libraries
文件夹即可,如下图
打开
ArduinoIDE
,选择
SR04
例程
·
打开后即可见到如下程序
#include "SR04.h"
#define TRIG_PIN 2
#define ECHO_PIN 3
SR04 sr04 = SR04(ECHO_PIN,TRIG_PIN);
long a;
void setup() {
Serial.begin(9600);
Serial.println("Example written by Coloz From XXXXXXXXXX");
delay(1000);}
void loop() {
a=sr04.Distance();
Serial.print(a);
Serial.println("cm");
delay(1000);}
如下连接你的超声波传感器
#define TRIG_PIN 2
#define ECHO_PIN 3
TRIG
接到
arduino
的第二脚
ECHO
接到
arduino
的第三脚
VCC
、
GND
接上
·
打开串口调试,即可看到效果了
·
最后提供一个不用库直接驱动
SR04
的程序(上面库,就是把这个程序封装了一次)
const int TrigPin = 2;
const int EchoPin = 3;
float cm;
void setup()
{
Serial.begin(9600);
pinMode(TrigPin, OUTPUT);
pinMode(EchoPin, INPUT);
}
void loop()
{
//
发一个
10ms
的高脉冲去触发
TrigPin
digitalWrite(TrigPin, LOW);
delayMicroseconds(2);
digitalWrite(TrigPin, HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin, LOW);
cm = pulseIn(EchoPin, HIGH) / 58.0; //
算成厘米
cm = (int(cm * 100.0)) / 100.0; //
保留两位小数
Serial.print(cm);
Serial.print("cm");
Serial.println();
delay(1000);
}
来自:
电子信息
/
电子技术
/
嵌入式
0
0
全部
只看作者
全部
只看作者
在列表中查看
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
编辑
删除
{{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
保存
取消
我也是有底线的
保存中...
保存