Ansifa 发表于 2013-1-29 00:39:53

xys 发表于 2013-1-28 19:27 static/image/common/back.gif

写程序时,先在TXD引脚端为8个40K周期电平,程序处理变换成一个PWM的信号从RXD引脚输出,一旦检测到有回波信号则输出回响信号,供我们方便使用。

从这里可以看出不是串口,只是普通的模块,可以用上面的代码直接用。trig对应TXD,echo对应RXD就行

葱拌豆腐 发表于 2013-1-31 12:58:31

晚上回家试试,买了超声波测距仪一直没试。
刚才查了一下pulseIn函数的手册,感觉有必要加个超时时间。

葱拌豆腐 发表于 2013-2-1 08:32:43

实验汇报:昨天晚上在家做了一下实验,基本效果出来了,但是有时候距离显示为负值,不知道为什么,后来增加了一个float变量用来存储pulseIn的时间长度,然后用这个变量除以58得出距离。出现负值个人猜想可能是int值溢出了,周末再继续测试一下。

Ansifa 发表于 2013-2-2 12:01:35

葱拌豆腐 发表于 2013-2-1 08:32 static/image/common/back.gif
实验汇报:昨天晚上在家做了一下实验,基本效果出来了,但是有时候距离显示为负值,不知道为什么,后来增加 ...

我做的也有时候会负值,感觉程序不会出错啊,那时直接加个if判断距离在0~2米之内就通过算了。没有再深究,期望有个更好解决方法

laofuz1024 发表于 2013-2-8 01:17:16

这个好啊,嘿嘿,

bys_1123 发表于 2013-2-8 16:09:06

黑马 发表于 2012-4-18 15:10 static/image/common/back.gif
支持,正好找了一个传感器,用手水平转了一圈扫的数据~~

右上的平面是电脑的屏幕,旁边突出来的是热水 ...

这是用的什么软件?

longtsiu 发表于 2013-2-23 21:55:26

感觉跳动还是很大。

Lockon 发表于 2013-4-9 17:33:37

刚入门的新手,谢谢楼主详解

code-AR 发表于 2013-5-21 20:01:10

学习了,学习楼主

竹空闻樱 发表于 2013-5-21 20:54:09

好贴,支持一下。:)

philhoo 发表于 2013-5-27 20:57:40

做了这个实验,让测试结果在1602液晶屏上显示。用了SR04的库。
#include "SR04.h"
#define TRIG_PIN 8
#define ECHO_PIN 9
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
SR04 sr04 = SR04(ECHO_PIN,TRIG_PIN);
long a;

void setup() {
   lcd.begin(16, 2);
   delay(1000);
}

void loop() {
   a=sr04.Distance();
lcd.clear(); //清屏
lcd.print("Now Range is"); //使屏幕显示文字
lcd.setCursor(0, 1) ; //设置光标位置为第二行第一个位置
lcd.print(a);   //显示温度
lcd.print("CM"); //显示字母
   delay(1000);
}

华子 发表于 2013-6-3 11:44:50

Ansifa 发表于 2013-1-28 15:03 static/image/common/back.gif
你的是串口输出吗?型号是啥呢,如果串口的话,接arduino的TX/RX引脚

楼主,那这么接线的话,初始化时候是不是要更改定义,具体又怎么定义呢?

robotStudio 发表于 2013-6-8 17:40:18

好帖是必须要顶起来的,但是我之前做的wifi小车用到了这个超声波,用单片机怎么也驱动不了,但是arduino就没有问题,非常奇怪。。。

jju0808 发表于 2013-6-8 22:37:25

yyy_zc 发表于 2012-6-27 22:14 static/image/common/back.gif
把echo 脚拔了,输出就是0.00 cm 了,查一下物理连接

我的是按照说明书上连接的UNO引脚0和1.也是只能输出0.00cm。但是我把delay()删除掉后就能正常输出结果了。这事为什么啊?

jju0808 发表于 2013-6-9 00:05:13

刚才的问题,已经解决。是引脚的问题,使用2和3就行。
页: 1 2 [3] 4 5 6 7 8
查看完整版本: Arduino学习笔记A2 - Arduino连接超声波传感器测距