加入交流群  

扫一扫,添加管理员微信
备注:参考设计,即可被拉入群
和也在搞设计小伙伴们碰一碰

收藏 

评论 

念慈菴 发布

御坂妹妹护目镜(基于树莓派)

 
设计简介

cover.jpg

御坂妹妹护目镜 X Raspberry Pi

嗨,这是一个基于树莓派的硬核ACG周边制作的项目。其原型是《某科学的超电磁炮》中 御坂美琴 的克隆体: 御坂妹妹 所佩戴的战术护目镜。

structure.png

视频地址:https://www.bilibili.com/video/BV1Uk4y1m7kd/ 本项目在实现还原其外形后还添加了以下功能:

  • 夜视
  • 人脸探测
  • 边缘捕捉
  • 录像
  • 画面放大

暂时的,功能比较简单。但依赖于树莓派强大的性能,我计划继续在其上添加功能,目前计划添加:

  • 人脸识别(可以识别出你是谁)
  • 物品识别
  • OCR

现阶段为第一次可用的版本,后续改动说明将会更新在本文档末尾。

*有疑惑的地方欢迎提交issue

源文件结构

3DModel:Solidworks绘制的模型,以及用于3D打印的stl文件。

Esp8266esp8266的Arduino代码

Raspberrypi:树莓派的C++程序代码

python_demo:初代开发的python代码,与C++功能基本相同。本项目起初采用python开发,后因python的执行效率问题将项目语言改为C++。python代码仅供参考使用。

PCB:原理图、Gerber、PCB布局(立创EDA格式)

硬件组成

这是主要部分的组成图表。

在本项目中包括了原理图和PCB布局,详细BOM可参见原理图。

注意,在PCB布局中,ESP8266的GPIO15需要下拉至GND,否则无法正常烧录Arduino程序。在PCB中我忘了画,你可以自行改动或在PCB打板后手动连接。

树莓派

这里树莓派与主板的连接方式为排针连接,可以使用0系列和Model A系列的树莓派。

本项目尝试过使用Raspberry Pi Zero w 和 3A+。

GPIO分配:

BCM 2/3 : 电压数据传输

BCM 17/27/22/10/9/11/8 : LCD显示屏数据传输

BCM 6 : 树莓派工作状态指示

BCM 13/19/26/21 : 触摸按键输入

BCM 20 : 装饰LED开关

BCM 14/15 : 串口通信

ESP8266

在本项目中,ESP8266作为单片机为树莓派提供电池电压的测量和WS2812的控制。

注意,在PCB布局中,ESP8266的GPIO15需要下拉至GND,否则无法正常烧录Arduino程序。在PCB中我忘了画,你可以自行改动或在PCB打板后手动连接。

其余外围电路均为ESP8266的最小系统电路。

GPIO分配:

GPIO 14/12 : 电压数据传输

ADC : 测量电压

GPIO 2 : 树莓派工作状态指示

GPIO 13 : WS2812控制

其余外围芯片

外围芯片电路均按照芯片手册绘制。

PCB跳线设置

在PCB上我设置了零欧条线,用于开关各个部分的供电。

J_VIN : IP5306的充电跳线,去除后连接USB1将不会对电池充电。

J_5V : IP5306的输出跳线,去除后电池将不会对整个系统供电。

RPI_USB5VIN : USB2的5V供电,在断开J_5V后,可以连接该跳线使用USB2对整个系统供电。

J_WS2812_PWR : WS2812供电

软件设计

在树莓派端,采用OpenCV 和 C++ 进行开发,在ESP8266上采用Arduino进行开发。

树莓派端

树莓派用到的库:Wiring Pi/Boost/Open CV(3.9.4)

程序执行流程:

workflow.png

gpio_status

其中,所有选择信息都被存放在了gpio_status的对象中。

此外,该对象还负责处理触摸芯片传来的电平信号并进行处理:

使用Wiring Pi库配置触摸芯片对应的引脚为下降沿中断,在发生中断时调用在main中绑定的函数进行处理。

fb-pusher

该对象负责将OpenCV生成的图像推至/dev/fb*,即Framebuffer。

参考自https://stackoverflow.com/questions/32709175/writing-to-dev-fb0-using-opencv

voltage_detect

该对象负责接收单片机传输的电压数据,传输协议是自行编写的一个非常简陋的协议:

在连续传输12个低电平后,确认数据开始传输。

首先传输四位二进制数,表示个位。

其次传输两组四位二进制数分别表示小数点后第一位和后第二位。

这三组二进制数表示出电压的数值。

video_player

负责开机动画的播放

frame_stacker

负责文字的堆叠

ESP8266

ESP8266主要负责两件事:电池电压的探测和树莓派工作状态的指示。

在上电时,signal(BCM6-GPIO2)将被上拉,呈高电平状态,表示树莓派未启动。

此时ESP8266将控制WS2812来向用户示意。

在树莓派启动完成后,将会拉低signal(BCM6-GPIO2),表示树莓派启动完成,ESP8266将关闭WS2812并开始向树莓派传输电压数据。

3D模型

3D模型采用SolidWorks绘制 没啥好说的

零零碎碎

1)电容触摸芯片的按键去抖不太行,不建议用这款芯片。

2)TYPEC的母座还是卖贵点的好,我买的七毛钱一个的母座到现在插拔已经非常松了。

更新

2020/08/05 初版完成

参考设计图片
×

!注意:请使用浏览器自带下载,迅雷等下载软件可能无法下载到有效资源。

 
相关器件
器件 类型 描述 数据手册
SL2.1A USB芯片 一拖四 USB 2.0 HUB芯片! 点击下载
ORH-G35A 发光二极管 照明颜色:绿色 主波长/色坐标:515~535nm 色温 - CCT(K):- 点击下载
SKHHLQA010 轻触开关 电路结构:SPST-NO 触点额定电流:50mA @ 12VDC 按钮头类型:Standard 按钮作用方向:Side Actuated 点击下载
2.54-1*2P母 排针排母 针脚数:2 连接器类型:排母 排数:1 触头类型:母形插口 间距:0.100"(2.54mm) 点击下载
ZD-MIO-RASPBERRYPI3-KIT “树莓派”扩展配件 点击下载
WS2812B-B 发光二极管 照明颜色:RGB三色 主波长/色坐标:620~630nm红,515~530nm绿,465~475nm蓝 该款RGB LED智能灯的功能和尺寸跟WS2812B是一样的,区别只是:WS2812B-B面膜是黑色的,而WS2812B是白色的。 点击下载
IP5306 电池电源管理芯片 2.1A充电2.4A放电高集成度移动电源SOC 点击下载
CH340C USB芯片 驱动器/接收器数:- 协议类别:USB 2.0 类型:Transceiver 数据速率:2Mbps USB转UART串口,内置晶振,手册有提供将TTL 串口转换为RS232 串口的应用原理图 点击下载
CT41G-0805-2X1-50V-0.1μF-M(N) 贴片电容 精度:±20% 容值:100nF 额定电压:50V 温漂系数(介质材料):2F4 材质:2X1 点击下载
M12000J134 贴片晶体谐振器(无源) 等效串联电阻(ESR):80Ω 主频:12MHz 频率公差:±20ppm 负载电容值:20pF 点击下载
FRC0805P000 TS 贴片电阻 电阻类型:厚膜电阻 阻值:0Ω 工作温度范围:-55℃~+155℃ 点击下载
TSM2A103 NTC热敏电阻 点击下载
CBG201209U201T 磁珠 点击下载
NCD0805W2 发光二极管 照明颜色:白色 主波长/色坐标:- 高性价比、高品质白色LED,白光LED。 点击下载
0805X225K6R3CT 贴片电容 精度:±10% 容值:2.2uF 额定电压:6.3V 温漂系数(介质材料):X5R X5R 点击下载
X6511WR-02H-C30D60-R2 排针 点击下载
RR1220P-101-D 贴片电阻 点击下载
0805L110ULYR PTC自恢复保险丝 点击下载
CJ2310 MOS(场效应管) 漏源电压(Vdss):60V 连续漏极电流(Id)(25°C 时):3A 栅源极阈值电压:2V @ 250uA 漏源导通电阻:105mΩ @ 3A,10V 最大功率耗散(Ta=25°C):350mW 类型:N沟道 N沟道,60V,3A,105mΩ@10V 点击下载
BS814A-1 触摸芯片 4按键电容触摸IC,带自动校正功能。NMOS电平I/O输出,通过感度调节电容可以调节按键感度。超低5.0uA待机电流。2.2v-5.5v宽工作电压,内置电源电压波动抑制,杜绝按键检测错误。 点击下载
DKIH-3452-100N-NK 共模滤波器 点击下载
K2-6639SP-C4SC-04 轻触开关 电路结构:SPST-NO 触点额定电流:50mA @ 12VDC 按钮头类型:Standard 按钮作用方向:Top Actuated 6.0*6.0mm,100万次寿命! 点击下载
NQ05W8J020JT5E 贴片电阻 点击下载
WW08WR500FTL 贴片低阻值采样电阻 功率:1/4W 精度:±1% 阻值(欧姆):0.5 温度系数:±100 ppm/℃ 点击下载
TSM2A103 NTC热敏电阻 点击下载
FRC0805J104 TS 贴片电阻 电阻类型:厚膜电阻 阻值:100kΩ 精度:±5% 功率:125mW 温度系数:±100ppm/℃ 最大工作电压:150V 工作温度范围:-55℃~+155℃ 点击下载
FRC0805J105 TS 贴片电阻 点击下载
RMC08055.1K5%N 贴片电阻 点击下载
WR08X301JTL 贴片电阻 阻值(欧姆):300 精度:±5% 功率:1/8W 温度系数:±100ppm/°C 点击下载
RM2012B-102/102-NWXL10 网络排阻 点击下载
ESP-12F(ESP8266MOD) WIFI模块 屏蔽罩上的丝印是:ESP8266MOD,ESP8266EX串口WIFI 点击下载
TYPE-C16PIN USB连接器 点击下载
CN5728 LED驱动 供电电压(最高):6V 频率:- 类型:- 内部开关:- 拓扑结构:- 供电电压(最低):2.85V 多功能高亮度发光二极管(LED)驱动集成电路 点击下载
群聊设计,与管理员及时沟通

欢迎加入EEWorld参考设计群,也许能碰到搞同一个设计的小伙伴,群聊设计经验和难点。 入群方式:微信搜索“helloeeworld”或者扫描二维码,备注:参考设计,即可被拉入群。 另外,如您在下载此设计遇到问题,也可以微信添加“helloeeworld”及时沟通。

 
查找数据手册?

EEWorld Datasheet 技术支持

论坛推荐 更多
更新时间2024-11-19 16:55:56

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版 版权声明

EEWORLD参考设计中心

站点相关: TI培训 德州仪器(TI)官方视频课程培训

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved