文档介绍:®城州次序
贵州大学大数据与信息工程学院
创新训练与设计性实验报告
学院:大数据与信息工程学院
专业:电子信息科学与技术
班级:电科151
学号:学00890129150890141
学生姓名:蒋帅朱亮
指导教师:周骅
L://I
in'te*Ffl==.*5;桩;芝的>in
S«rid.'bttiT><ieW):pirCv^E-51TTT).
OTTF旺L।:l<.rE,-:,.
图四ArduinoUNO
♦画ImUm兴COU3
图五ArduinoIDE界面
贵州大学大数据与信息工程学院实****报告
代码如下(附带注释)
constintTrigPin=3;
constintEchoPin=4;//定义变色灯LED的三个输出接口
intledpin1=5;//R引脚
intledpin2=6;//G弓I脚
intledpin3=7;//B弓|脚
intbeeppin=8;//蜂鸣器的pin
inti=0;
voidsetup()
(9600);
//测量结果将通过此串口输出至PC上的串口监视器
pinMode(EchoPin,INPUT);
pinMode(TrigPin,OUTPUT);
pinMode(ledpin1,OUTPUT);
pinMode(ledpin2,OUTPUT);
pinMode(ledpin3,OUTPUT);
pinMode(beeppin,OUTPUT);
//设置EchoPin为输入模式
〃设置超声波数字IO脚模式,OUTPUT为输出
〃设置蜂鸣器引脚输出模式
}
voidloop()
{
digitalWrite(TrigPin,LOW);//通过TrigPin发送脉冲,触发HC-SR04测距,使发出发出超声波信号接口低电平211s
delayMicroseconds(2);
digitalWrite(TrigPin,HIGH);//使发出发出超声波信号接口高电平10这里是至少10©
delayMicroseconds(10);
digitalWrite(TrigPin,LOW);//保持发出超声波信号接口低电平
intdistance=pulseIn(EchoPin,HIGH);//读出脉冲时间
distance=distance/58;//将脉冲时间转化为距离(单位:厘米)
(distance);//输出距离值
if(distance<20)
//当距离<20cm
setColor(255, 0, 0);//
三色LED的设置颜色
buzzed。;
else if (distance<=120)
//当距离<120cm
setColor(0, 0, 255);
buzzer2();
else
贵州大学大数据与信息工程学院实****报告
{
setColor(0,255,0);
buzzer3();
}
}
//*****************************************************************
voidbuzzer1()
{
tone(beeppin,900);
delay(300);//响声间隔300ms听上去更急促
noTone(beeppin);
}
voidbuzzer2()
{
tone(beeppin,600);
delay(500);//响声间隔500ms听上去普通
noTone(beeppin);
voidbuzzer3()//这里我用了除余的方法,目的是如果处在安全距离,在不用delay的情况下蜂鸣器响声不要那么频繁
{
if(i%100==i){
tone(beeppin,500);
}
else{
noTone(beeppin);
}
i++;
}
voidsetColor(intred,intgreen,intblue)//三色LED的设置颜色函数
{
analogWrite(ledpin3,red);
analogWrite(ledpin2,green);
analogWrite(ledpin1,blue);
}
贵州大学大数据与信息工程学院实****报告
四、设计结果
将超声波模块,LED模块和蜂鸣器*II块连接至ArduinoUNO■上(如图六)
图六连接完毕的Arduino主板与模块
将代码上传至Arduin