本文首发于DF创客社区,作者:robo027 原文链接:http://mc.dfrobot.com.cn/thread-296363-1-1.html 为什么是眼镜? 13世纪被发明,从当时成为贵族们的玩物到今天几乎人手至少一副,眼镜,不管是结构还是功能都没有什么大的变化.不过,随着现在的科技日新月异,VR,AR技术的出现,让我们多多少少也都嗅到了一丝"眼镜革命"马上要来了的气息. 我对于眼镜的改造欲就如同中学时期我们对待历史书上的人物画像一样,总觉得那时他们少了一副帅气的眼镜,之前我就做过一个"焊锡保镖"眼镜 现在又耐不住了,眼镜作为穿戴物,挂在脸上,作用如果还只是保护眼睛,校正视力是不是有点对不起咱这张脸.当你在骑车,驾驶,腾不开手的同时又需要获取来自手机上的信息,怎么办?这时"第二屏幕"的需求产生了, 它一定具备"不影响你正在执行工作,不剥夺你的正常视线范围,简单操作或不需要用手操作即可完成重要的交互"这样一些主要特性. "HUD"和"AR" 这两个词我想大家都不陌生,我就按我的理解简单介绍一下,HUD原本是战斗机上把仪表盘数据投射到挡风玻璃上的技术,现在民用了就成了我们常说的"抬头显示",功能说白了就是把方便你开车的一些信息投射到前挡风上. AR技术呢,俗称虚拟现实技术,目前它最有价值开发方向就是做AR眼镜,什么是"虚拟现实"?其实中间少了两个字"虚拟辅助现实"其中一个重要的功能就是能在真实的视觉画面中对指定的目标进行虚拟标识描述并只反映在你的镜片上,也就是说你从镜片中看到的画面是真实和虚拟并存的,比如下面这个应用场景翻译功能,能够把看到的英语实时翻译成中文显现在眼前.过不了多久应该就能走进我们的生活了.感觉有了它走遍天下都不怕. 还有更多实用的功能推荐大家百科一下.所以讲了这么多,它除了基本类似HUD的投射功能外,还应该具备图像识别与物联网功能. 而下面我的作品充其量也只能算个HUD眼镜的半成品.因为说实话能力有限,手上的材料也有限.比赛时间也快到了,所以只能先这样了. 成像原理 人眼的焦距范围是25mm-50mm左右,我不可能把OLED直接放到自己的眼前,那样就跟把脸凑到电视前看一样,即便看的到上面的字,那也会挡住自己的视野, 所以最理想的方案就是参考谷歌眼镜的微型投影加半透棱镜的方法 主要研究的部分就是这个微型投影怎么实现,就关于凸透镜焦距的选择,里面涉及到一些公式计算很复杂,告诉大家两个简单方法,要么淘一块70-100mm焦距的菲涅尔透镜,塑料的又比普通的凸透镜薄很多方便你剪裁. 要么和我一样直接拆掉一个VR盒子,取透镜. 至于近似眼的问题,我不是近视,我那副眼镜也是平光镜,所以效果不清楚,但是我想画面光通过你的眼镜校正的,最终看到的是校正后的成像,所以理论上应该没有问题. 定位 什么都要小 因为屏幕的大小直接决定眼镜旁边这个"家伙"的截面积.所以这个0.66的OLED肯定不行,好在发现DF商城有更小的屏幕,而且整个模块都不大.首选! http://www.dfrobot.com.cn/goods-1188.html 电源:电池也是我拆了我娃的玩具寻到的小锂电池包 主控一定要能联手机(我轻描淡写了,事实上这涉及到太多专业知识)所以我根据能力最开始罗列了三种方案: Arduinopromini+hc06 Esp32或Esp8266(能玩) nRF52(只是听说) 查资料,对比,发现nRF52系列的功耗有绝对优势.秉承"只选对的,不选会的"原则淘了两块,面对这两块陌生的超低功耗多协议SoC蓝牙单芯片(我认为大概就是,除了有蓝牙能力自己还能跑程序).只能默默啃资料了... 点亮屏幕 所需:开发工具: j-Link (用于对nrf52832的swclk swdio端口进行烧写程序,固定引脚号) cp2104或CP2102(Tx,Rx串口下载,TX,RX,引脚号会因为协议栈的不同可能会变)如果有JLINK 这个基本可以不用 板子:nRF52832+Breakout板(方便你用杜邦线实验) 0.5英寸SPI接口(默认)OLED模块 接线方式:jlink可以给它俩供电 启动Arduino IDE 进入首选项 添加https://sandeepmistry.github.io/ ... 5_boards_index.json为“附加开发板管理器网址” 从工具 - > 开发板菜单打开开发板管理器并安装“Nordic Semiconductor nRF5 Boards” 从工具 - > 开发板菜单中选择Generic nRF52 再到Arduino库管理器下载U8G2库https://github.com/olikraus/u8g2 下载协议栈S132 2.0 hex文件,文尾下载 j-link驱动一般卖家会提供https://w