先介绍下超声波传感器是怎么用的????然后再用arduino上用超声波传感器
只用了四个脚,其他的都没有用上。
下面就是实践了:
Grove - Ultrasonic Ranger 距离探测传感器
[English]
Contents[hide] |
产品简介
Grove - Ultrasonic Sensor是一个非接触式的距离探测模块。他的工作频率在42KHz,适合用于中距离或近距离的探测。
Model: SEN10737P
规格参数
工作电压: 5.0VDC
工作电流: 15mA
超声频率: 42kHz
测量范围: 3-400cm
误差: 1cm
输出制式: PWM
应用示例
这里我们演示如何使用Grove - Ultrasonic Ranger来获得距离信息,并打印到Grove - Serial LCD上。
如上图所示,将Serial LCD连接到D4/D5接口,Ultrasonic Ranger连接到D7口。然后你需要从github上下载我们提供的Ultrasonic Ranger库文件和用到的1Serial LCD库文件, 对于非Arduino自带的库文件,你需要将下载的库文件安装到Arduino 的Library中,具体安装步骤请参考wiki首页的"如何安装库文件"课题。 安装完成后,通过路径:File->Examples->UltrasonicRanger->examples->UltraDisOnSeeedSerialLcd打开代码并上传。
/***************************************************************************/ // Function: Measure the distance to obstacles in front and display the // result on seeedstudio serialLcd. Make sure you installed the // serialLCD, SofewareSerial and Ultrasonic library. // Hardware: Grove - Ultrasonic Ranger, Grove - Serial LCD // Arduino IDE: Arduino-1.0 // Author: LG // Date: Jan 17,2013 // Version: v1.0 modified by FrankieChu // by www.seeedstudio.com /*****************************************************************************/ #include <SoftwareSerial.h> #include <SerialLCD.h> #include "Ultrasonic.h" SerialLCD slcd(4,15); Ultrasonic ultrasonic(7); void setup() { slcd.begin(); } void loop() { long RangeInCentimeters; RangeInCentimeters = ultrasonic.MeasureInCentimeters(); delay(150); slcd.clear(); slcd.setCursor(0,0); slcd.print("The distance:"); slcd.setCursor(0,1) ; slcd.print(RangeInCentimeters,DEC); slcd.setCursor(5,1) ; slcd.print("cm"); }
在参考资料部分有这个demo的视频教程,供你参考。