障碍物检测是盲人最关心的问题之一。这里展示的是使用 arduino uno 和超声波传感器的智能盲杆。该项目的主要目标是帮助盲人轻松行走,并在他们的行走路径被其他物体或人阻碍时提醒他们。作为警告信号,电路中连接了一个语音模块,它根据物体的方向发出语音警告,例如,如果物体在左侧,那么它会说“小心物体在左侧”。
这款智能摇杆将在左侧、右侧和中心连接三个超声波传感器,以感知与任何障碍物的距离,一个 jq6500 语音声音模块用于发出警告信号,以及一个 9v 电池为设置供电。
智能盲杆所需组件
arduino纳米
3×超声波传感器
jq6500 语音发声模块
8ω扬声器
1 kω 电阻器
jq6500 语音发声模块
jq6500 语音模块非常适合在扬声器上播放消息,如火警、火车和公共汽车警报系统、营业厅提示、设备故障警报等。它可以将 mp3、硬编码 mp3 或 wmv 格式文件解码为可听语音格式。它配备 24 位数模转换器,动态范围为 90db,支持 8 / 11.025 / 12/16 / 22.05 / 24/32 / 44.1 / 48 khz 采样率。mp3 文件可以通过按钮或通过串行通信协议进行控制。
将 mp3 文件上传到板载内存:
可以使用 windows 计算机将 mp3 文件上传到 jq6500 的板载内存中(mac 或 linux 用户需要使用 jq6500-28p 和 sd 卡)。下面给出了相同的步骤:
通过 mini usb 连接器将开发板连接到您的计算机。
一个新的“cd-rom”驱动器将出现在您的计算机上,双击它并打开名为“ musicdownload.exe ”的应用程序。
部分jq6500-16p设备没有安装musicdownload.exe,如果找不到musicdownload.exe程序;您可以下载包含它的 zip 文件。
该应用程序是中文的,因此要上传文件,请打开 .exe 文件,然后单击左侧的第二个选项卡。
然后单击右上角的文件选择器选项卡。
文件选择器将打开,选择您要上传的所有 mp3 文件单击文件选择器上的打开按钮
单击返回第一个选项卡,然后单击按钮上传文件
智能盲杆电路图
智能盲杆的完整电路图如下所示。非常简单,我们只需要连接三个超声波传感器和一个jq6500语音模块。
整个电路板由 9v 电池供电。电路的大脑是 arduino nano。三个超声波传感器用于检测摇杆左、右、前的障碍物。这三个传感器的四个引脚中的两个,即 vcc 和 gnd,连接到 arduino 的 5v 和 gnd。其余两个引脚——trig 和 echo 连接到 arduino,如下所示。
jq5600 mp3模块是一个3.3v的逻辑模块,所以不能直接连接到arduino的io管脚,但是用arduino的5v电源线供电就可以了。mp3 模块的 rx 和 tx 引脚连接到 arduino nano 的数字引脚 9 和 8。在 arduino 数字引脚 9 和 mp3 模块 rx 之间放置一个 1kω 电阻,以降低 arduino 的 5v 电压。
用于智能盲杆的 arduino 程序
一旦我们准备好硬件,我们就可以将 arduino 连接到我们的计算机并开始编程。该项目的完整代码在本页底部给出;您可以将其直接上传到您的 arduino 板。但是,如果您想知道代码是如何工作的,请进一步阅读。
该代码使用jq6500_serial.h和softwareserial.h库。softwareserial 库与 arduino ide 一起预安装,而jq6500 串行库可以从给定的链接安装。
像往常一样,通过包含所有必需的库并定义此项目中使用的所有引脚来启动代码。
#include #include #include jq6500_serial mp3(8,9);int left_trigpin = 6;int left_echopin = 7;int right_trigpin = 2;int right_echopin = 3;int center_trigpin = 4;int center_echopin = 5;
然后在setup()函数中,初始化输入输出引脚。在我们的程序中,所有三个传感器的触发引脚都是输出设备,回声引脚是输入设备。我们还初始化了串口监视器和 jq6500 语音模块。
pinmode(left_trigpin,输出); pinmode(left_echopin,input); pinmode(right_trigpin,输出); pinmode(right_echopin,输入); pinmode(center_trigpin,输出); pinmode(center_echopin,输入); 序列号.开始(115200); mp3.开始(9600); mp3.reset();
在主循环中,我们正在读取所有三个传感器的数据,即左、右和中心。我们首先读取超声波传感器的传感器数据以了解距离,然后使用触发和接收到 echo 之间的时间计算距离。距离计算公式如下:
数字写入(left_trigpin,high);延迟微秒(10); 数字写入(left_trigpin,低); 持续时间=脉冲输入(left_echopin,high); 距离 = (持续时间/2) / 29.1;
如果测量距离超过 50 厘米,则不会发出警告。但是,如果小于 50cm,就会触发语音模块播放语音警告。
如果(距离 < 50){ serial.print(左距离); serial.print(距离); mp3.playfilebyindexnumber(2); }
所有三个传感器都使用相同的逻辑。通过更改我们用来比较的值,该程序可以很容易地适应您的应用程序。如果触发了错误警报,您可以使用串行监视器进行调试。
测试智能 arduino 盲杆
最后,是时候测试我们的盲杆 arduino 项目了。确保按照电路图完成连接并成功上传程序。现在,使用 9v 电池为设置供电,您应该开始看到结果。将盲人手杖移近物体,您会注意到根据物体方向的语音警告。例如,如果对象在左侧,那么它会说“小心左侧对象”。
#include
#include
#include
jq6500_serial mp3(8,9);
int left_trigpin = 7;
int left_echopin = 6;
int right_trigpin = 2;
int right_echopin = 3;
int center_trigpin = 4;
int center_echopin = 5;
无效设置(){
pinmode(left_trigpin,output);
pinmode(left_echopin,input);
pinmode(right_trigpin,输出);
pinmode(right_echopin,输入);
pinmode(center_trigpin,输出);
pinmode(center_echopin,输入);
序列号.开始(115200);
mp3.开始(9600);
mp3.reset();
mp3.setvolume(50);
mp3.setloopmode(mp3_loop_none);
}
无效循环(){
左();
正确的();
中央();
}
void left(){
delay(500);// 读取将在 ....miliseconds 之后进行
serial.println(\n);
int 持续时间,距离;
数字写入(left_trigpin,high);
延迟微秒(10);
数字写入(left_trigpin,低);
持续时间=脉冲输入(left_echopin,high);
距离 = (持续时间/2) / 29.1;
//距离=持续时间*0.034/2;
if (distance < 30) { // 更改长距离或短距离的数字。
serial.print(左距离);
serial.print(距离);
mp3.playfilebyindexnumber(2);
}
}
void right(){
delay(500);// 读取将在 ....miliseconds 之后进行
serial.println(\n);
int 持续时间,距离;
数字写入(right_trigpin,high);
延迟微秒(10);
数字写入(right_trigpin,低);
持续时间=脉冲输入(right_echopin,high);
距离 = (持续时间/2) / 29.1;
if (distance <30) { // 更改长距离或短距离的数字。
serial.print(正确的距离);
serial.print(距离);
mp3.playfilebyindexnumber(3);
}
}
void center(){
delay(500);// 读取将在 ....毫秒后进行
序列号.println(\n);
int 持续时间,距离;
数字写入(center_trigpin,high);
延迟微秒(10);
数字写入(center_trigpin,低);
持续时间=脉冲输入(center_echopin,high);
距离 = (持续时间/2) / 29.1;
if (distance <30) { // 更改长距离或短距离的数字。
serial.print(中心距);
serial.print(距离);
mp3.playfilebyindexnumber(1);
}
}
马斯克离开, OpenAI开始大转弯:从非营利组织变为营利性组织
华为P10整装待发,你的钱包准备好了吗?
5G长期影响研究报告 这21大领域将被改变
未来,自动驾驶将如何驶向远方?
为什么长电池寿命是线程物联网传感器的命脉
使用Arduino Uno和超声波传感器制作智能盲杆
iQOO Pro曝光采用了竖排三摄设计搭载骁龙855 Plus会拥有5G版本
韩亚航空计划从4月底开始将A350宽体客机投入到多个航线使用
iPhone8什么时候上市,iPhone8预售时间,iPhone8价格,据说前期2重磅新功能不能用
微型RGB视频多路复用器以100MHz切换像素
springboot的核心配置文件有哪些
在GD32F310开发板上进行MultiTimer移植与分析
基于FPGA和IP核的数码相框的设计和实现
松线虫分离器是什么,它有什么作用
中兴Axon 30 Pro智能手机上手评测
5G开启的物联网时代谁能跑赢
华阳集团旗下再添两家控股子公司入选“广东省智能制造生态合作伙伴名单”
儿童智能手表实测:娃丢了,还能找回来吗?
酷爽EDC-voopoocaliber&rex评测 值不值得买
美图M8和M6S哪个好?美图手机不仅仅只是高颜值摄像而已