当前位置:文档之家› 基于arduino的技能导盲棍的设计与实现文档

基于arduino的技能导盲棍的设计与实现文档

基于arduino的技能导盲棍的设计与实现文档
基于arduino的技能导盲棍的设计与实现文档

基于Arduino 的智能导盲棍设计与实

现》

报告

题目:基于Arduino 的智能导盲棍设计与实现姓名:某某某

专业:XXXXX

指导教师:

成绩:

计算机与信息工程学院

20 年月

目录

1. ........................................................................... 引言

1.1 项目背景.............................

1.2 创意描述.............................

1.3 项目分工.....................

2. ..................................................................................... 相关技术介绍..................................................

2.1 Arduino 介绍............................

2.2 相关套件介绍...........................

2.3 相关项目对比. .................................................

3. ..................................................................................... 功能及总体设计...............................................

3.1功能介绍. .......................................................

3.2总体设计. .......................................................

4. ...............................................................................项目实现

4.1 超声波测距模块. .................................................

4.2 蓝牙连接模块. .................................................

4.3 语音提示模块. .................................................

4.4照明模块. .......................................................

4.5 电量提示模块. ...................................................

5. ...............................................................................产品展示

6. ...............................................................................总结与展望

参考文献. ...............................................................

附录一元器件清单. .......................................................

实训日志. ..............................................

教师评语. ..............................................

2

2

2 错误! 未定义书签。

2

2

3

3

4

4

4

8

8

9

10

11

11

12

13

14

15 错误! 未定义书签。错误! 未定义书签。

1. 引言

1.1 项目背景

盲杖可以在盲人外出时起到避障的作用,方便盲人出行,但是,盲人使用盲杖行走时,无法感知前方一定距离内是否有障碍物,也无法感知左右方是否有障碍物,更无法提示过路行人注意规避。同时在昏暗的环境中,盲人无法自主的有效规避其他行人车辆,并且他人也无法明确的察觉盲人,所以我们需要给其他人一定的提示,以此来规避盲人。因此,制作一款智能导盲棍,补足上述缺点是非常有必要的。

本项目的智能导盲棍,设计旨在让盲人正确接收到障碍物的具体信息,并提示盲人避障,让盲人的出行更加便利[1] 。

1.2 创意描述

本项目的创新点包括一下两项:

(1)测距:智能导盲杖与普通导盲杖最大的区别就在于测距功能,为充当盲人的眼,为盲人看清各方向是否存在有障碍物。

(2)语音提示:智能导盲棍能让盲人迅速接收障碍物距离,方便盲人出行,让盲人能够在目不能视的情况下较好地感知外界环境。

(3)照明:智能导盲棍上配备灯泡起到提示路过行人规避的作用,使盲人的出行得到更加安全的保障。

(4)电量提示:由于盲人无法观察导盲杖是否处于正常工作状态,为避免电量不足导致导盲杖无法正常工作,添加的电量提示功能,帮助盲人有效得知

当前导盲杖状态。

2. 相关技术介绍

2.1 Arduino 介绍

Massimo Banzi之前是意大利Ivrea 一家高科技设计学校的老师。他的学生们经常抱怨找不到便宜好用的微控制器。2005年冬天,Massimo Banzi跟David Cuartielles 讨论了这个问题。David Cuartielles 是一个西班牙籍晶片工程师,当时在这所学校做访问学者。两人决定设计自己的电路板,并引入了Banzi 的学生David Mellis 为电路板设计编程语言。两天以后,David Mellis 就写出了程式码。又过了三天,电路板就完工了。Massimo Banzi 喜欢去一家名叫di Re Arduino 的酒吧,该酒吧是以1000 年前意大利国王Arduin 的名字命名的。为了纪念这个地方,他将这块电路板命名为

Arduino 。

随后Banzi、Cuartielles 和Mellis 把设计图放到了网上。版权法可以监管开源软件,却很难用在硬件上,为了保持设计的开放源码理念,他们决定采用Creative Commons (CC)的授权方式公开硬件设计图。在这样的授权下.任何人都可以生产电路板的复制

品,甚至还能重新设计和销售原设计的复制品。人们不需要支付任何费用,甚至不用取得Arduino 团队的许可。然而,如果重新发布了引用设计,就必须声明原始Arduino 团队的贡献。如果修改了电路板,则最新设计必须使用相同或类似的Creative Commons(CC)的授权方式,以保证新版本的Arduino 电路板也会一样是自由和开放的。唯一被保留的只有Arduino 这个名字,它被注册成了商标,在没有官方授权的情况下不能使用它。

Arduino 发展至今,有了多种型号及众多衍生控制器推出[2] 。

2.2 相关套件介绍

Arduino Uno: “Un在o”意大利语中是“一”的意思,并被用于标记1.0 版Arduino 软件(IDE)。Uno开发板和1.0版Arduino软件(IDE)为Arduino 系列的参考版本,现在已经演变为更新版本。Arduino Uno 开发板属于USB 系列Arduino 开发板中的第一个型号,并作为Arduino 平台的参考模型存在;更多有关当前、过去或过时开发板的列表,请参阅[[Main/Boards|开发板的Arduino 指数]][3] 。

超声波传感器:超声波传感器是将超声波信号转换成其他能量信号(通常是电信号)的传感器。超声波是振动频率高于20KHz 的机械波。它具有频率高、波长短、绕射现象小,特别是方向性好、能够成为射线而定向传播等特点。超声波对液体、固体的穿透本领很大,尤其是在阳光不透明的固体中。超声波碰到杂质或分界面会产生显著反射形成反射成回波,碰到活动物体能产生多普勒效应。超声波传感器广泛应用在工业、国防、生物医学等方面[4] 。

蓝牙模块:蓝牙模块,是一种集成蓝牙功能的PCBA 板,用于短距离无线通讯,按功能分为蓝牙数据模块和蓝牙语音模块。蓝牙模块是指集成蓝牙功能的芯片基本电路集合,用于无线网络通讯,大致可分为三大类型:数据传输模块远程控制模块等。一般模块具有半成品的属性,是在芯片的基础上进行过加工,以使后续应用更为简单[5] 。

2.3 相关项目对比

一般的导盲棍项目只有测距功能与语音提示功能,而我们的导盲棍设计多出

了电量耗尽提示功能与照明功能,更加的方便了盲人的使用。

3. 功能及总体设计

基于以上创意,需要在导盲棍上添加一些模块,在避障的同时进行语音提示,在特定的情况下可以亮灯、鸣笛提示过路行人的功能。

3.1 功能介绍

该产品实现的功能有:

(1)测距功能:使用前、左、右三个超声波测距模块测量障碍物的距离。

(2)电量耗尽提示功能:接通电源后,点击按钮,蜂鸣器会发出提示音,

若是没有就表示电量耗尽。

(3)语音提示功能:使用蓝牙模块将信息传输到手机,然后通过手机app 提示

盲人前方多远有障碍,与左右方向是否有障碍。

(4)照明功能:在夜间以及其他一系列的昏暗的环境中会点亮导盲杖上

的灯。

3.2 总体设计根据上述功能,将项目对应的四个部分分别进行设计:测距部分、电量提示部分、语音提示部分和照明部分。

3.2.1 整体框架图

项目整体框架图如图3-1 所示。uno板通过信号控制超声波传感器检测障碍物距离,并返回给uno 板,然后经过判断之后将数据通过蓝牙模块传输给手机

app。uno 板读取来自光敏电阻的阻值,在uno 板上经过阻值大小的判断,然后来控制小灯泡的开关。uno 板通过读取按钮是否被点击来控制蜂鸣器发声。

图3-1 整体框架图

3.2.2 系统流程图

系统流程图如图3-2 和图3-3 所示。

在uno 板上系统首先通过判断按钮状态的开关来决定来决定接下来的过程,如果开启,则蜂鸣器发声,开始读取光敏电阻的阻值,并进行判断然后决定灯泡的开关,同时判断蓝牙是否在连接来决定是否测距并且发送信息到手机。

图3-2 arduino uno 开发板流程图

在手机端上系统首先进行连接蓝牙,然后开始一个循环,如果接收到信息则根据信息判断,在手机上发出不同的提示音,然后判断是否结束循环,来决定是否继续接收信息。

3.2.3 总电路图

系统总电路图如图3-4 所示,通过面包板将超声波传感器、蓝牙模块、光敏电

阻、小灯泡、按钮和蜂鸣器接到了uno 板上相对应的串口。在下章项目实现将会分为不同模块具体介绍。

图3-4 uno 板总电路图

4. 项目实现

该项目主要有五个模块:超声波测距模块、蓝牙连接模块、语音提示模块、 照明模块、电量提示模块。

4.1 超声波测距模块

功能介绍: Arduino uno 开发板给该超声波传感器发送触发信号,这个传感 器便能自动发送并检测超声波信号, 开发板接收超声波传感器的回响信号便能测 得障碍物的距离。

元器件清单:该模块所需的元器件及其数量如表 4-1 所示。

表 4-1 超声波测距模块元器件清单

元器件名称

数量 超声波传感器 3

Arduino uno 开发板 1

电路图:该模块电路图如图 4-1所示。通过面包板将 3个传感器的 VCC 口 和 GND 口分别接在了一起, 然后接到了 uno 板的 5V 串口和 GND 串口。将三个 传感器的输入输出口分别接在了数字针脚的 2、3、4、5、6、7 串口。

相关代码:

digitalWrite(TrigBefore, LOW); // 通过超声波传感器对前面测距

delayMicroseconds(2);

digitalWrite(TrigBefore,HIGH);

delayMicroseconds(10); //产生一个 10 微秒的高脉冲去触发 TrigBefore

digitalWrite(TrigBefore, LOW); tempBefore = float(pulseIn(EchoBefore, HIGH)); cmBefore = (tempBefore * 17 )/1000; digitalWrite(TrigRight, LOW); delayMicroseconds(2);

digitalWrite(TrigRight,HIGH); delayMicroseconds(10);

digitalWrite(TrigRight, LOW); tempRight = float(pulseIn(EchoRight, HIGH)); cmRight = (tempRight * 17 )/1000;

digitalWrite(TrigLeft, LOW); //通过超声波传感器对左边测

delayMicroseconds(2); digitalWrite(TrigLeft,HIGH);

//获取超声波发送到返回的时间 //将时间计算为距离

//通过超声波传感器对右边测距 图 4-1 超声波传感器电路图

delayMicroseconds(10);

digitalWrite(TrigLeft, LOW);

tempLeft = float(pulseIn(EchoLeft, HIGH));

cmLeft = (tempLeft * 17 )/1000;

4.2 蓝牙连接模块

功能介绍:通过蓝牙模块,Arduino uno 板能够与其他设备进行蓝牙连接,本产品通过蓝牙模块与手机相连,将数据信息传输到手机app 上。手机端则通过app 进行有效的连接与交互。

元器件清单:该模块所需的元器件及其数量如表4-2 所示。

电路图:该模块电路图如图4-2 所示。将VCC 与GND 接到面包板与uno 板5V 与GND 相连的接口中,然后通过面包板将TX 和RX 口分别接入8 和9 号串口。

图4-2 蓝牙模块电路图

相关代码:

1)Arduino uno 板代码

#include

int bluetoothTx = 9;

int bluetoothRx = 8;

SoftwareSerial bluetooth(bluetoothTx, bluetoothRx); //定义蓝牙的方法

2)手机app程序:如图4-3 所示。在程序里定义了一个列表选择框,当选择框被点击时,会出现已连接也可以配对的蓝牙目标。当选择完成后,app 便会连接目标,并发送文本以测试与提示连接成功,并开启计时器。

图 4- 3 手机端蓝牙连接程序

4.3 语音提示模块

功能介绍:将超声波测量的距离传输进行判断,对前面的传感器的距离 进行 0-

20cm 、20-40cm 以及 40-60cm 之间进行判断,并通过蓝牙传输相应的信 息,如果超过 60cm 则不传输数据。对左边及右边则进行是否在 30cm 里中存在 障碍物,如果有则通过蓝牙传输相应的信息。

相关代码:

1) Arduino uno 板代码

if(cmBefore<=20&&cmBefore>1){

// 对前面距离进行判断

bluetooth.write("14");

} else if(cmBefore<=40&&cmBefore>20){

bluetooth.write("15");

}

else if(cmBefore<=60&&cmBefore>40){

bluetooth.write("16");

}

if(cmRight<=30&&cmRight>1){ bluetooth.write("2");

}

if(cmLeft<=30&&cmLeft>1){

bluetooth.write("3");

}

2)手机 app 程序:如图 4-4 所示。在程序初始定义一个全局变量来接 收来自蓝

牙的信息, 当蓝牙连接上后计时器便开始持续即使与接收来自 uno 板的 信息,并对接收而来的信息进行判断并播报相应的提示。

图 4-4 手机端语音提示程序

//对右边距离进行判断

//对左边距离进行判断

4.4 照明模块

功能介绍:光敏电阻在不同光线环境下的阻值会变化,Arduino uno 开发板会获取到这个电阻值,通过对其的判断,控制小灯泡的开关。在较为昏暗的环境中会电量灯泡,提示来往的车辆行人注意避让。在明亮的地方,人的可视距离较高,便可以关掉灯泡。

元器件清单:该模块所需的元器件及其数量如表4-3 所示表4-3 照明模块元器件清单元器件名称数量

光敏电阻1

小灯泡6

Arduino uno 开发板1

电路图:该模块电路图如图4-5 所示。将光敏电阻与普通电阻串联接到5V 与GND ,来保持光敏电阻的稳定性,再将光敏电阻VCC 头接在模拟针脚A5 串口,来读取数据。将小灯泡的正极接到数字针脚13 口负极接GND 来控制小灯泡的亮暗。

图4-5 照明模块电路图

相关代码:

Intensity = analogRead(A5); //读取光敏电阻的电阻值

if (Intensity>980) { //判断电阻值是否过大

digitalWrite(led, HIGH);

}

else {

digitalWrite(led, LOW);

}

4.5 电量提示模块

功能介绍:每次使用时通过对按钮的点击,蜂鸣器会发出声音来提示盲人导盲棍可以工作,如果没有发出声音,则表示电源已经没有电,需要进行更换电源。

元器件清单:该模块所需的元器件及其数量如表4-4 所示

元器件名称数量

按钮1

蜂鸣器

1

Arduino uno 开发板1

电路图:该模块电路图如图4-6所示。将按钮与普通电阻串联接到5V 与

GND,来保持按钮的稳定性,再将按钮VCC 头接在数字针脚12 串口,来读

取数据。将蜂鸣器的正极接到模拟针脚A0 口负极接GND 来控制蜂鸣器发

相关代码:

button1 = digitalRead (button);

if (button1 == 1 && button2 == 0)

{ tone(mouse,340);

delay(200);

noTone(mouse);

delay(200);

}

button2 = button1 ;

5. 产品展示

整体实物图如图5-1和图5-2所示。从上到下分别是3个超声波传感器,连接传感器与uno板的1号面包板,接在1号面包板上的蓝牙模块。接着便是uno

//读取当前按钮状态

//判断按钮是否被点击

//蜂鸣器发声

//将当前状态转为过去状态

图4-6 电量提示模块电路图

板,与在棍子另一边的电源。下方是2 号面包板上面依次接了光敏电阻、小灯泡、按钮和蜂鸣器。

图5-1 整体实物图

6. 总结与展望

在本次项目中,我们小组完成了智能导盲杖的制作。导盲杖能完成一系列的工作,给盲人带来方便,能通过传感器与蓝牙模块让盲人得知障碍物的情况,并通过照明系统能够提示路人注意规避,也可以通过电量提示来获知导盲杖是否正常工作。在本次项目中还存在一些问题,一开始对器件的了解不够深刻导致研究的方向存在一些偏差,对项目的制作出现了问题,但是经过仔细的讨论与研究后,找到了正确的方向。而本次实验中由于经费和时间等原因还有很多预想的功能未能实现,例如gps 系统的应用,在未来的研究中可以设想在导盲棍上配备gps定位系统,当盲人因为突发情况走失时,盲人的家属就可以通过gps 系统找寻盲人,于此还可配备自动发送短信系统,在盲人走出特定路线或长时间停留的时候系统

会自动发送短信给盲人的家属,提示盲人可能出现突发状况,从而避免不可预知的危

险。再未来还可以发展与之配套的盲人智能手机,可以使盲人更方便的使用智能导盲杖。

参考文献

[1] 李永华,王思野,高英,《Arduino 实战指南: 游戏开发、智能硬件、人机交

互、智能家居与物联网设计30例》,清华大学出版社,2016年10月

[2] Arduino 介绍:

[3] Arduino :https://

[4] 超声波传感器:超声波传感器

[5] 蓝牙模块:蓝牙模块

附录一元器件清单完成该项目所需的元器件及其数量如表6-1 所示

16 / 17

相关主题
文本预览
相关文档 最新文档