Blind Stick Navigator
组件和用品
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
应用和在线服务
| ||||
|
关于这个项目
故事开始时,我看到一个盲人正用传统的盲杖努力穿过路坑、楼梯等障碍物。尽管我在处理电子设备方面不够专业,但它确实促使我尝试构建这个原型。通过在互联网上使用不同类型的资源,我设法在去年的最后一年项目中完成了它。除此之外,我还通过添加 GPS 位置来增强原型。感谢 1Sheeld,它真的帮助我在 6 个月内完成了这个原型。
第一步
要开启盲棒导航器,它需要使用外部电源供电。我使用 9v 电池作为它如何关闭的介绍。据我所见,我的原型在提供长期电力使用方面存在劣势。因此,它需要以某种方式增强像太阳能电池板/电源。
步骤 2
使用连接到微控制器 Arduino Uno 上的 USB 电源适配器的电池为其供电后,监护人需要始终让蓝牙连接(Android 智能手机)连接到微控制器。然后,您需要打开已安装在智能手机中的 1Sheeld 应用程序并启用 GPS 和短信功能。
**是的,我知道盲人无法看到和访问智能手机,但至少如果我或你设法在 Android OS 智能手机上进行修改,它会变得更容易。我已经尽力寻找更好的提供盲文按钮的智能手机,但我失败了。因此,我希望将来能对我的原型进行升级。
步骤 3
根据上面的框图,如您所见,这就是设备之间的连接方式。这两个通电后,盲人就可以开始使用盲棒导航器了。根据对传统白手杖的观察,盲人总会绕着盲杖摆动,以得到周围环境的确认。但是,使用 Blind Stick Navigator,它将帮助他们在中低视线障碍物上获得振动通知。使用超声波传感器 HC-SR04 检测到的障碍物。它连接在棍子的上部和棍子的底部。我使用 PVC 管是因为,我可以将振动直流电机放在 PVC 管内。振动模式可以在使用 Arduino IDE 软件给出的代码中更改。
第 4 步
除此之外,Blind Stick Navigator 还可以提供盲人位置的经纬度。这是因为,智能手机充当提供者并为此过程提供 GPS 位置。拨动开关是为了让盲人更容易点击紧急按钮来通知收件人他/她已经迷路或处于危险之中。通过单击一次或几次,智能手机将发送一条消息,通知他们需要帮助,请根据 GPS 和谷歌地图链接搜索他。可以设置收件人的号码是只发送给盲人的权威或监护人。杆的长度可根据使用者的身高进行调节。对于这个原型,我使用了特定的长度,并且可以在代码中更改检测的长度。
第五步
最后但并非最不重要的一点,我希望我的原型在全球范围内使用或商业化,从而帮助盲人在旅途/生活中。此外,我真的很抱歉我的语法,因为我的英语不太好。我不知道在这篇文章中描述更多。我已经在附件中编译的所有信息。您可以根据我在下面提供的链接参考有关此项目的更多信息。
项目文件:
- 第 1 年
- 第二个五年计划
项目海报:
- FYP 1
- 第二个五年计划
项目视频:
- 视频 1
- 视频 2
代码
- OneSheeldBlindStickNavigator
OneSheeldBlindStickNavigatorC/C++
#define CUSTOM_SETTINGS#define INCLUDE_GPS_SHIELD#define INCLUDE_SMS_SHIELD/* 包含 1Sheeld 库。*/#include#include #define trigPinL 4#define echoPinL 5#define trigPinH 6#define echoPinH #define Vib1 12#define Vib2 13#define SW 8/* 定义一个布尔标志。 */boolean isInRange =false;float lat;float lon;String PhoneNumber ="0134087286";String Message;String Message1;String Message2;char latitude[10];char longitude[10];void setup() { pinMode(trigPinL,输出); pinMode(echoPinL, INPUT); pinMode(trigPinH,输出); pinMode(echoPinH, INPUT); pinMode(Vib1,输出); pinMode(Vib2,输出); pinMode(SW,输入); /* 开始通信。*/ OneSheeld.begin(); // Serial.begin(9600);}void loop(){ long durationL, distanceL, durationH, distanceH, MixDist;数字写入(trigPinL,低); // 添加这一行 delayMicroseconds(2); // 添加这一行 digitalWrite(trigPinL, HIGH);延迟微秒(10); // 添加这一行 digitalWrite(trigPinL, LOW);持续时间L =脉冲输入(echoPinL,高);距离L =(durationL/2) / 29.1;数字写入(trigPinH,低); // 添加这一行 delayMicroseconds(2); // 添加这一行 digitalWrite(trigPinH, HIGH);延迟微秒(10); // 添加这一行 digitalWrite(trigPinH, LOW);持续时间H =脉冲输入(echoPinH,高);距离H =(durationH/2) / 29.1; // Serial.println(distanceL); // Serial.println(distanceH); // 延迟(1000); if (distanceL> 40){ digitalWrite(Vib1,HIGH); } if (distanceL <40){ digitalWrite(Vib1,LOW); } if (distanceH <100){ digitalWrite(Vib1,HIGH);延迟(200);数字写入(Vib1,低);延迟(200); } /* 始终检查智能手机的 GPS 和给定的经纬度是否在 100 米范围内。 */ //if(GPS.isInRange(30.0831008,31.3242943,100)) // { // if(!isInRange) // { /* 发送短信。 */ 纬度 =GPS.getLatitude(); lon =GPS.getLongitude(); Message1 =String(lat,8); Message2 =String(lon,8); if (digitalRead(SW) ==0){ Message ="我需要帮助!我在纬度:" + Message1 + "和经度:" + Message2; Message ="谷歌地图 - https://www.google.co.in/maps/place/" + Message1 + "," + Message2; SMS.send(电话号码,信息);延迟(3000); } // isInRange =true; // } // } // else // { // if(isInRange) // { /* 发送短信。 */ // SMS.send("+601123413946","智能手机不在范围内。"); // isInRange =false; // } // } 延迟(1000);}
示意图
OneSheeldTONGKAT.fzz制造工艺