• <dl id="0wc4v"><ins id="0wc4v"></ins></dl>
  • <dl id="0wc4v"></dl>
    <dl id="0wc4v"><ins id="0wc4v"></ins></dl>
    <li id="0wc4v"><s id="0wc4v"></s></li>
  • <div id="0wc4v"><s id="0wc4v"><strong id="0wc4v"></strong></s></div>
    <sup id="0wc4v"></sup>
  •  

    暖心,19岁大学生为盲人设计导航装备

    2019-02-19 11:06:38 来源:EEFOCUS
    标签:

    2019 Hackadayprize中国区赛事正在火热报名ing,我们将为大?#21307;?#32461;在过去几届Hackadayprize中获奖的作品,希望能给你带来启发!快点来报名参赛,12.5万美元的终极大奖在等你认领:https://www.cirmall.com/hackadayprize_2019

     

    Ariadne Headband是来自捷克布尔诺的两名19岁学生制作的作品。 Tomas主要关注硬件部分以及Arduino。 Vojtech负责开发Android应用程序。目标是为无法使用视觉导航视力障碍用户提供触觉导航。 我们的主要目标是帮助盲人,但Ariadne头带也可用于其他情况,例如跑步者或骑车人。 我们的头带可以显示这些人的方向到他们选定的目的地。

     

    两位作者和参与测试的志愿者

     

    它是如何工作的?
    Ariadne Headband由?#35762;?#20998;组成:头带和Android应用程序。使用流程如下: 首先,你打开Ariadne头带应用程序。 使用此应用程序,您可以通过蓝牙连接到头带。 接下来,该应用程序将询问您当前的GPS位置。 然后打开集成到我们应用程序中的Google地图并选择目的地(您想去的地方)。

     


    我们的Android应用会计算您当前位置?#36864;?#36873;目的地的地理方位角。 当你准备就绪时,你可以通过按下一个按钮来开始导航,该按钮将计算出的方位角发送到你戴在?#39134;?#30340;头带上。 方位角加上一些其他数据通过蓝牙低功耗发送。

     

    头带由Arduino Nano板,MPU-9250“罗盘”模块,HM-10蓝牙低功耗模块和4个振动电机组成。 ?#25913;?#38024;模块允许我们知道当前的方位角,即用户所在的位置。 所有组件都放在头后面的盒子里。 我们未来的目标是让它尽可能小,这样你就不会感觉到它。 例如,也可以将所有东西放入帽子或头盔而不是橡胶头带?#23567;?我们目前使用的是橡胶头带,因为它很容易操作。

     

    蓝牙模块

     

    头部周围的振动电机放置在设定的方向上,这样它们就可以指示您应?#36152;?#21521;哪里。 您的标题是通过获取当前方位角和从Android应用程序发送的方位角来计算的(分别是您当前要去的地方和当前方向)。 有关头带概述,请参见下图。

     

    例如,当您应该将头部旋转45°时,电机1将被激活(这与其他对角线方向相同)。 如果你应该直行,电动机4和电动机1都将被激活。 类似的方法适用于左,右和回转信号。 我们原计划使用8个振动电机,每45°一个,但结论是它会更复杂,不值得。 电机太靠近,很难识别正确的方向。 使用4个振动电机既便宜又坚固。


    您可能有一个疑问: 盲人如何控制移动应用程序 ? 我们项目的第一次迭代主要用作概念验证。 但是因为我们用Java开发了应用程序,所以我们看到了使用Android Wear平台的解决方案。 新的智能手表包括GPS模块,可以通过语音控制。 在智能手表上使用语音识别控制头带应该是可行的选择。 此外,现在盲人可以舒服地使用TalkBack。

     

    ?#25913;?#38024;模块
    ?#25913;?#38024;模块可能是头带中最重要的部分。 没有它我们将无法确定方位角。 

     

     

     

    在?#28304;?#36827;行排序之后,我们开始在串行监视器上打印数据并注意到某些事情是不对的。 为了更好地了解输出数据,我们决定使用Python将其绘制成图形,如上图所示。

     

    因为它是一个三轴罗盘,所以将点绘制成三个平面,在第一列中,所有三个平面都显示为重叠,然后分别显示每个平面。 在第一行中绘?#35780;?#33258;罗盘模块的未改变的数据。 正如您可以清楚地看到点正在形成一个圆,其中心与图中的零不相同,原因是值具有一些偏移。

     

    为了消除偏移,需要校准。 这是通过在每个可能的方向上理想地旋转罗盘并寻找每个轴的最大值和最小?#36947;?#23436;成的。 在完成校准之后,保存最大值和最小值(在当前版本的软件中它没有完全起作用),然后修改?#21191;?#30424;读取的值,使得几乎没有偏移。

     

    更正的值显示在第二行?#23567;?根据这些校正值计算的方位角非常准确。我们计划将来通过使用带加速度计的罗盘模块来解决这个问题,然后补偿倾斜。


    能源管理
    为此,我们选择了尺寸为4x30x40mm和550mAh的LiPo电池。 与03962A充电器模块一起,它位于盒子的底部。 充电器模块不仅可以对电池充电,还可以通过在电池电压低于2.5V时断开电路并通过检测过电流来短路来保护电池免于过放电。 充电模块板上还有一个微型USB连接器,可以方便地为头带充电。

     



    最初我们计划将头带中的电子设备运行在3.3V,但是当我们将所?#24515;?#22359;放在一起时,它变得更加复杂。 Arduino Nano板应该在5V上运行,它有自己的5V稳压器,另一方面蓝牙和?#25913;?#38024;模块都使用3.3V,它们还配备了板载稳压器。 我们面临的困境是要么在3.3V上运行所有东西,并希望arduino能够继续正常工作或以某种方?#20132;?#24471;5V电?#30784;?我们选择安全地使用它并使用MT3608升压升压转换器将电池电压增加到大约6.5V,然后通过Arduino的稳压器运行以获得稳定的5V电?#30784;?然而,将来我们只想使用3.3V,可以使用例如Arduino Pro Mini,用于此电?#36141;蚅DO电压调节器直接连接到电池。

     



    外壳
    外壳的尺寸为60x60x30mm,采用3D打印,由三部分组成:底部,顶部和垫片,所有STL文件都上传到该项目?#23567;?基本?#31995;?#37096;包含一?#26657;?#39030;部用作盖子。 在这两个部分之间是两个橡皮布,橡胶通过盒子进入。 顶部通过四个M3x15mm螺钉牢固固定,这种小齿轮可以确保橡胶不会脱落。 在电池和PCB之间放置薄的3D打印薄片,充当间隔物并确保PCB底部的尖锐引线不会损坏电池。 PCB固定在盒子中,其角部有四个支架,螺钉固定在支架上。

     



    带电子设备的盒子只是头带的一部分。 另一部分是橡皮筋,它绕过你的头部并且其中装有振动马达。 橡皮筋长50厘米,宽60毫米,折成两半,内部放置电机和电线连接。 每个电机都与LED,电阻器和二极管一起放在3D打印的外壳内。 

     



    振动电机不能直接从Arduino的输出驱动,因为它们的4伏电压需要消耗100mA电流,这比Arduino可?#28304;?#29702;的要多。 因此,我们添加了四个双极NPN晶体管,用于驱动一个电机。 头带现在工作得很好,它有一些我们?#24418;?#22312;软件中解决的硬件功能,如开关按钮和电池电压测量。您可以在下图中看到头带的整个原理图。

     

     

    制作步骤:

     

    器件清单:

     

    1、制作PCB
    制作自己的Ariadne头带的第一步是制造PCB。 您可以使用附在我们项目中获取的Gerber文件从专业制造商那里获得它。

     

    2、打印部件?#22836;?#32622;电池
    下一步是3D打印电子装箱的所有零件。 您可以?#19994;?#27492;项目的所有必需的STL文件。 打印后盒底,盒顶和盒式垫片取03962A锂电池充电器模块,并将其?#31243;?#21040;盒底部的底部,使微型USB端口通过盒壁上的切口进入。 然后将锂电池放在底部,并将其电线焊接到充电模块的B +和B-焊盘。 

    3、布线
    接下来是一些布线。 将滑动按钮添加到充电端口上方的切口中,并将焊线从充电器模块的OUT +焊盘添加到其两个端子。 到电源开关的最后一个端子焊接两根电线。 其中一个连接到MT3608升压转换器的IN +端子和第二个连?#30828;?#22836;插头连接器,如原理图所示。 从MT3608的OUT +端子焊线到前一个旁边的针座。 从电池充电器模块的OUT-端子?#38468;右?#26681;导线到连接到PCB的GND的插头,第二根导线连接到MT3608的IN-端子。 将两根约7厘米长的导线焊接到轻触开关和PCB端子上。 arduino引脚编号5和GND之间的压电蜂鸣器焊接电线。 还要将5根长约5cm的电线焊接到MOLEX Mini-Fit 5569 5针连接器和针座上。

     

    4、检查电压
    连接好所有设备后,切换按钮并给它供电,然后检查升压转换器模块的电压输出,并通过转动其电位器调节输出电压至约6.5V。 接下来按下右侧的arduino Nano并测量其VCC引脚上的电压,它应该是5V。 然后关闭电源并连接到PCB罗盘和蓝牙模块。

     

    5、调试电机
    现在是时候编写arduino了,你可以在我们的项目站点中链接的Gitlab存储库中?#19994;絘rduino程序。 接下来连接头带和电源针头连接器,注意正确的方向并切换电源按钮。 在开始时你应该听到简单的旋律,按下按钮后,一些电机应该开始振动。

     

    它应该是北方向的电机,如果不是,你必须将arduino代码中的电机输出引脚切换到右边。 接下来,您应?#36152;?#35797;使用手机连接头带。 如果一切正常工作,将3D打印的盒子 - 间隔件放在电池顶部,然后将PCB放在电池顶部。 接下来通过PCB将螺钉固定到装箱中,确保一切正常,然后将盒顶部件放在上面并将M3x15mm螺钉拧入支座。 


    6、制作头带
    现在,您需要创建一个可穿戴的“设备”,您可以放置振动电机。 例如,您可以使用帽子,但对于我们的情况,我们将使用经典的运动头带。

     

    对于橡胶头带,您需要购买宽度为6厘米(因此可折叠)或长度为3厘米宽的橡胶。 然后,测量头部的周长并切割橡胶。 添加约。 2厘米,这样你就可以轻松地将每一面连接在一起并缝制它们。

     

    现在,将头带放在?#39134;希?#24182;标记放置电机的位置。 它们应放置在45度,135度,225?#32676;?15度(你眼睛之间0度)。 如果你有6厘米宽的橡胶,你将它折成两半并缝合开口端。 因此,请将振动电机放在靠近您头部的橡胶半部中间。 您可以将两侧缝合在一起形成某种形式的?#32791;遙?#20197;使电机保持在原位。

     

    接下来,确保电缆足够长,因为您经常拉伸橡胶并?#20063;?#24076;望它们?#27627;选?在头带后侧的中心附近做一个约5厘米的小?#30784;?拉动电缆并将其放入连接器。

     

    然后,将所有电?#36335;?#20837;橡胶内并缝制头带?#30446;?#21475;侧。 我建议使用某种“蛇”式缝纫,使其更加灵活。

     

    当你完成所有的一切时,你需要做的最后一件事就是在头带后侧的中心(你有连接器的地方)准确连接约5厘米长的魔术贴。 将维可?#25991;?#40857;搭扣的第二部分?#31243;?#21040;电子设备上。

     

    这就是硬件部分! 给头带供电,连接手机就可以了。

     

    如果你对这个项目感兴趣,想获取完整信息请访问:
    https://hackaday.io/project/160367-ariadne-headband

     

    与非网编译内容,未经许可,不得转载!
     

    有人说硬件技术将很快达到极限,而在我们看来,硬件创新,尤其是中国硬件工程师的创新,还远未走到尽头,而只是刚刚开始。作为致力于为全球硬件开发者提供技术共享服务的平台,与非网母公司SupplyFrame旗下最大的全球硬件开发者社区Hackaday.com已连续五年举办全球硬件开发者大赛Hackadayprize,有超过3000多个硬件团队在这个赛事中互动交流、切磋技艺。


    这个《硬件改变世界》系列,我们挑选在前几届Hackadayprize大赛中获奖的优秀作品加以?#25925;荊?#30828;件技术可以多有意思,硬件开发者可以多有创意,从这些作品?#24515;?#21487;以看到。

    2019年3月,Hackadayprize中国区赛事将隆重开启,我们很期待看到国内的硬件开发者大开?#36828;础?#22823;展技艺。你准备好了没,与来自全球的硬件开发者同台PK?

     
     
    关注与非网微信 ( ee-focus )
    限量版产业观察、行业动态、技术大餐每日推荐
    享受快时代的精品慢阅读
     

     

    作者简介
    李昭
    李昭

    与非网编辑。热爱酷炫电?#30828;?#21697;。

    继续阅读
    工程师造了一款混凝?#35010;?#22768;器,玩出别样艺术感
    工程师造了一款混凝?#35010;?#22768;器,玩出别样艺术感

    在许多场合,?#28909;?#36187;车运动、太空探索、可穿戴设备上,东西?#35282;?#36234;好。但是,当你想要防止物体的震动、阻止物体四处移动时,或者让事物变得有一种重量感时,就该反其道而行之了。?#28909;?#26426;床、铁砧或者扬声器一类的东西就是这?#26234;?#20917;。基于这种理念,[SoundBlab]打造了一个浇灌了混凝土的扬声器。

    本项目有两个传感器作为探测器,即雨量传感器和LDR。雨量传感器功能可以检测是否发生下雨。

    工程师自研PCB原型快速设计,方法之巧妙让人咂舌?
    工程师自研PCB原型快速设计,方法之巧妙让人咂舌?

    看到用一个石墨铅笔芯和9V电池切割铝箔的把?#20998;?#21518;,我们想知道能否通过相同的方式切割空白PCB上的铜进行PCB原型快速设计呢?事实证明可以做到这一点,但是需要克服一些挑战。目前我们并没有?#23548;?#25237;入到这个项目?#30446;?#21457;上来,但是我们希望读者们能够受到启发。

    定制一个自己的机械数字键盘吧,这位工程师把所有硬件细节都开源了
    定制一个自己的机械数字键盘吧,这位工程师把所有硬件细节都开源了

    [Mattia]将自己的作品命名为YamPAD,它是‘只是另外一个机械数字键盘’(Yet Another Mechanical numPAD)的简?#30784;?#36825;个项目的一个主要目标是制作一个可供他人轻松复制和定制化的设计原型。

    工程师自己动手用32位MCU打造的3D打印机,飞一样的感觉?
    工程师自己动手用32位MCU打造的3D打印机,飞一样的感觉?

    32位平台是3D打印的未?#30784;?#26368;新版本的marlin?#20011;浦?#21040;了STM32板上了,工作一切正常,运行平稳,还有BLTouch。

    更多资讯
    凭借这些创新技术,这家公司在智能摄像领域拿到80%的市场份额

    “智能传感器、深度感知、传感器融合,是智能感知未来发展的三个趋势。传统的图像传感技术是由手机推动的,但是智能感知?#20011;?#19981;同于传统的图像传感,现在智能传感器被广泛应用在汽车、机器视觉、边缘人工智能这三个领域。” 在近期的媒体发布会上,安森美半导体智能感知部全球市场及应用工程副总裁?#20934;?#36745;表示,“关于像素,很多手机厂商宣称?#20011;?#21487;?#28304;?#21040;2000万像

    ?#32487;?#23041;推出SC8238 CMOS图像传感器,开启4K消费级视频应用新时代

    近日,技术领先的CMOS图像传感器供应商?#32487;?#23041;(SmartSens)宣?#35745;?#34892;业领先的SmartClarityTM CMOS图像传感器系列再添新成?#34180;猄C8238。

    新纳传感推出全新产品OpenRTK330

    新纳传感系统有限公司(Aceinna, Inc. 下称新纳传感)今天在第10届中国卫星导航年会发布了全新产品OpenRTK330。

    【技术分享】详解MEMS惯性导航技术分类及应用领域

    无人机、无人车、无人船、机器人等代表性无人系统的智能自主控制是当前自动控制领域的?#33455;?#28909;点,更是提升无人系统自主性和智能化水平的核心技术。自主导航技术利用对应的自主导航系统获取无人系统自身的位置、速度及姿态信息,是实现无人系统智能自主控制必不可少的技术保障。

    毫米波雷达迎来新拐点

    随着毫米波雷达将处理器或DSP集成走向单芯片,以及级联之后实现的高分辨率,将有可能对物体进行分类和跟踪,从而实?#30452;?#32536;深度学习计算。边缘智能的这扇门一开,未来毫米波雷达会?#22836;?#22810;少市场潜力呢?

    电路方案
    浙江快乐12官网
  • <dl id="0wc4v"><ins id="0wc4v"></ins></dl>
  • <dl id="0wc4v"></dl>
    <dl id="0wc4v"><ins id="0wc4v"></ins></dl>
    <li id="0wc4v"><s id="0wc4v"></s></li>
  • <div id="0wc4v"><s id="0wc4v"><strong id="0wc4v"></strong></s></div>
    <sup id="0wc4v"></sup>
  • <dl id="0wc4v"><ins id="0wc4v"></ins></dl>
  • <dl id="0wc4v"></dl>
    <dl id="0wc4v"><ins id="0wc4v"></ins></dl>
    <li id="0wc4v"><s id="0wc4v"></s></li>
  • <div id="0wc4v"><s id="0wc4v"><strong id="0wc4v"></strong></s></div>
    <sup id="0wc4v"></sup>