arduino创新训练实验报告Word文档下载推荐.docx
《arduino创新训练实验报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《arduino创新训练实验报告Word文档下载推荐.docx(8页珍藏版)》请在冰豆网上搜索。
蒋帅朱亮
指导教师:
周骅
2017年7月12H
贵州人学人数据与信息工程学院实习报告
基于ArduinoUNO的倒车雷达系统设计与实现
—%设计目标
利用ArduinoUNO设计倒车雷达系统的功能:
1、利用超声波模块HC-SR04实现避障功能,并可以通过Arduino的串口监视器读取距离的参数;
2、利用蜂鸣器模块实现不同频率的警报声音;
3、利用贴片式RBGLED实现不同颜色的警报灯光。
二、设计思路
超声波模块(如图一)的原理是使超声波发射器向某一方向发射超声波,在发射的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。
声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就t
・s=340m/sx-
可以计算出发射点距障碍物的距离S,即:
2,作用为测距。
将超声波模块的Echo引脚设置为输入模式,Trig引脚设置为10脚模式,通过Trig引脚发送脉冲触发HC-SR04测距,并输岀测得的距离值。
设置不同的距离值范围,使之输出不同的函数,不同的函数将会输出不同的电平输入至LED(如图二)和蜂鸣器(如图三),然后使LED与蜂鸣器输出不同的结果,即不同颜色的灯光和不同频率的蜂鸣声。
图一超声波HGSR04模块
图三无源蜂鸣器
三、设计内容
本次实验使用的Arduino主板的型号为UNO(如图四),编程程序为ArduinoIDE
(如图五1
®
over|Arduino1.0.5-OX
FileEditSketchToolsHelp
〃皂丁也的三个紐慢口・定更也聊J胡三个*
ix:
lebioJ-1〉.//匕
=12:
//C
>
t1心ico-i].//n
xtb»
»
ppin•8.//fBBSSR毎in
ixti■0;
s.ria.i.^uisex),"
WKa%将PiJH民口拄士壬k田思□笠稅2i
pirft“心小亡入iwur):
//•jJSfcehrfixWfiXttS
环rfi,冬怙心丄owpui);
"
翊5&
K脚才式,ounrr轴出
图四AidumoUNO
图五AidumoIDE界面
代码如下(附带注釋):
constintTrigPin=3;
constintEchoPin=4:
//定义变色灯LED的三个输出接口
intledpinl=5:
//R引脚
intledpinZ=6:
〃G引脚
intIedpin3=7;
〃B引脚
intbeeppin=8:
//蜂呜器的pin
inti=0:
voidsetup()
{
SGrial.begin(9600);
〃测虽结果将通过此串口输出至PC上的串口监视器
pinMode(EchoPin,INPUT):
〃设晋EchoPin为轸入模式
pnMode(TrigPin,OUTPUT):
〃设蜀超声波数字IO脚模式.OUTPUT为输出
pinMode{lGdpinl.OUTPUT):
pinMode{lGdpin2.OUTPUT):
pinMode{lGdpin3.OUTPUT):
pinMode<
:
beGppin.OUTPUT):
〃设逻蜂呜器引脚输出模式
}
voidloopf)
digitalWritearigPin.LOW):
〃通过TrigPin发送脉冲.触发HC-SR04测距.使发出发出超声;
皮信号接口低电平2psdGlayMicrosGConds
(2);
digitalWriteJrigPin.HIGH):
〃使发出发出超声波信号接口高电平lOps.这里是至少lOys
dGlayMicrosGConds(lO):
〃保持发出超声;
皮信号接口低电平
intdistance=pulseln(EchoPin.HIGH):
//读出胁冲时间
distanc©
=distancG/58:
〃将脉冲时间转化为距离{单位:
厘米)
SGrial.println(distance);
/举出距离值
if(distance<
20)〃当距离<
20cm
(
SGtColor(255.0.0):
〃三色LED的设冒颜色
buzzerlO:
Glseif(distancG<
=120)〃当距离<
120cm
SGtColoriO.0.255):
buzzer2():
GlSG
SGtColoriO.255,0):
buzzor30:
voidbuzzerlO
tonG(bGGppin.900):
d©
lay(300):
〃响声间隔300ms听上去更急促
noToneibGGppin):
voidbuzz©
r20
tonGibGGppin.600):
lay(500):
〃响声间隔500ms听上去晋通
voidbuzzer3()//i^里我用了除余的方法.目的是如果处在安全距离.在不用delay的情况下蜂呜器响声不要那么频繁
if(i%100==1){
tonG|bGeppin.5OO);
gIsg{
i++:
voids©
tColor(intred.intgreen,intblue)〃三色LED的设号颜色函数
analogWritGflGdpin3.red):
analogWritGflGdpin2.green):
analogWritGflGdpinl.blue);
设计结果
将超声波模块,LED模块和蜂鸣器模块连接至ArduinoUNO上(如图六\
图六连接完毕的Ardiuno主板与模块
将代码上传至Arduino电路板中,即可通过遮挡超声波发射器来模拟倒车的情景来测试作品的雷达功能,下面将会用一系列图片来展示测试结果。
图七超声波发射器遮挡距离人于120cm,蜂鸣器无响声,LED呈粉色
图八超声波发射器遮挡距离人于120cm,蜂鸣器无响声,LED呈粉色
图九超声波发射器遮挡距离人于20cm小于120cm,蜂鸣器响声间隔
500ms,LED呈蓝色
图十超声波发射器遮挡距离人于20cm小于120cm,蜂鸣器响声间隔
图十一超声波发射器遮挡距离小于20cm,蜂鸣器响声间隔300ms,LED呈红色
最新
参考
成…
文件
仅供
已改
图十二超声波发射器遮挡距离小于20cm,蜂鸣器响声间隔300ms,LED
呈红色
word文本方便更改