|
本帖最后由 money0010 于 2014-1-25 12:24 编辑
[mw_shl_code=cpp,true]#include "SR04.h"
#define TRIG_PIN 3 //定义数字接口
#define ECHO_PIN 4 //定义数字接口
SR04 sr04 = SR04(ECHO_PIN,TRIG_PIN);
int a; //用来显示超声波的距离值
int b; //延时变量,值越小,蜂鸣器叫的越急促
int beeppin = 8; //蜂鸣器的pin,数字接口8
void setup()
{
Serial.begin(9600);
}
void loop()
{
a=sr04.Distance(); //超声波得出来的数据赋值给a
Serial.print(a); //显示数据,这句可以不要,只是为了方便在串口监视器上显示数据而已
Serial.println("cm"); //在数据后显示单位cm , 这句可以不要,只是为了方便在串口监视器上显示数据而已
b=map(a,5,300,30,2500); //运用map函数,解释起来很麻烦,但是懂了就很简单
if(a<5)
b=20; //如果距离小于5厘米 这句可以不要
if(a>300)
b=3000; //如果距离大于3米 这句可以不要
tone(beeppin,2000); //定义蜂鸣器声音的大小。50~2000. 2000的时候个人感觉声音最大
delay(50); //蜂鸣器持续声音的时间
noTone(beeppin); //关闭蜂鸣器
delay(b); // 关闭时间
} [/mw_shl_code] 你看看能用不
|
|