分享我的第一个真正完成的arduino项目。我试图制作一种自制的增强现实。让我向你解释一下:
它基本上是一个系统,它使用一个摄像头跟踪你的头部移动,使其适应x和y操纵杆轴。在那之前,该项目可以适应你想要的任何游戏。
然后,我们将这些轴链接到战争雷霆设置中的头部运动,以在驾驶舱视图中给予更多感觉。
要制作这个项目,您将需要:
arduino uno (操纵杆库仅适用于那些但您可以使用它许多其他方式),
一个wii远程摄像头(我真的建议你带一个旧遥控器,不要买一个新遥控器,因为它仍然很贵),
一个100kω电阻,
一个100 nf电容,
一个25mhz振荡器(4个引脚),
一个红外led,
一个3v纽扣电池(为led供电),
一个小面包板(17个孔用于固定组件和相机,2个以上用于固定nano(如果你使用这个)
一些电线和焊接材料。
我要感谢eric jacob用他的instructable wii远程红外摄像机hack arduino接口给了我这个想法。
步骤1:从wii遥控器中提取相机
我拍了一个破旧的wii遥控器,我建议你这样做。你仍然可以买一个,但我认为它会花费你40美元(昂贵!)。遥控器用四个三角十字架密封。找到合适的工具或粉碎框架。你看到方形相机?解开它! (我试过,但我不想烧相机。我直接在远程pcb上焊接电线)
第2步:添加组件
现在,将电线焊接到相机的引脚上,这样我们就可以将它插在面包板上。
相机在i²c工作,但是直接插在arduino上时无法正常工作。我们将添加一些组件来模拟dfrobots红外相机。按照电气图完成相机。
尝试让相机在您的头部高度看着您,通常就像屏幕上的网络摄像头一样。
步骤3:led跟踪器
只需将led连接到纽扣电池并将其连接到耳机顶部即可。将led朝向相机定位,以提高效率。
显然,不要忘记取下led以避免电池断电。
第4步:代码
我使用unojoy和dfrobotirposition库来模拟操纵杆。原理很简单:
我们将相机声明为串行通信,将arduino声明为游戏控制器。
我们得到记录的ir led的x和y值。
我们映射它以使10位(0-1023)返回值适合操纵杆的8位(0-255)值。
arduino通过串口com端口发送操纵杆值。
步骤5:配置“controller”
一旦代码闪烁,我们需要将arduino转换为操纵杆控制器。
连接最接近usb端口的两个引脚进入dfu模式,
您现在可以在库文件中执行“turnintoajoystick.bat”文件,
现在,你可以拔掉/重新插入你的arduino,它将被检测为控制器。
现在,你的arduino将作为windows的控制器出现。转到配置面板》硬件》外围设备》右键单击新控制器》设置》属性。你可以在这里看到一个面板,它可以预览操纵杆轴和按钮的演变。请注意,如果未检测到led,则摄像机返回的值将为255,255。棒的默认位置将位于右下角。
重要说明:如果arduino没有返回任何值,即使代码和电路板正确,尝试拔出/重新拔出电线并将其重置,直到十字架显示右下角(这意味着相机现在正在通信)。
要恢复“arduino模式”,请遵循相同的模式:
跳转usb端口附近的两个引脚,
执行“turnintoanarduino.bat”,
然后拔下/重新插入你的uno。
步骤6:在游戏设置中链接操纵杆
控件我们要设置的是“camera control”设置。将x轴连接到左右轴,将y轴连接到向上 - 向下轴。在游戏中测试它所做的移动,你可以通过“缩放”设置重新缩放以使移动尽可能逼真。
你现在可以为你的飞机游戏享受更逼真的游戏体验。
PIC单片机和AVR单片机IO的操作方法解析
定位型振动光纤边境线入侵报警系统
深度分析NLP中的注意力机制
SCR后处理系统故障确认与注意事项
PTC和PT100保护电机的方法
自制头部追踪器教程
集成功率放大器电路图
登临科技华东总部项目落户进一步推动区域集成电路产业“指数级”增长
芯片“卡脖子”,中美科技战雷声大,雨点小?
PCB厂商金禄电子创业板IPO已获受理
上海集成电路产业启动,预计2025年实现产业规模1000亿元
京东方全球创新伙伴大会·2020盛大开幕
三星45W快充下放 GalaxyA91将支持45W快充
任天堂Switch上架三款“官方认证闪迪内存卡” 售价139元起
增量式编码器接口电路及其FPGA设计方案
电子计数器电路图解析
复兴伟业:为什么电子离心开关能完胜机械离心开关?
智能家居网关的功能特点
海信电视在智能家居上有什么作为
ATM机监控管理系统解决方案