立创EDA开源项目:神之眼Lite多功能桌面终端硬件设计与功能解析
大家好,最近在立创开源硬件平台看到一个挺有意思的项目,叫“神之眼Lite”。这是一个基于ESP32的多功能桌面小终端,集成了屏幕、时钟、SD卡、红外遥控、温度检测,甚至还能播放音乐。作者把硬件设计、3D打印外壳、软件代码都开源了,非常适合想学习完整嵌入式项目开发流程的朋友。
今天,我就带大家从硬件工程师的角度,把这个项目的设计思路、核心模块和实现细节掰开揉碎了讲一讲。无论你是想复刻一个来玩,还是想学习如何从零设计一个综合性硬件产品,这篇文章都会给你不少启发。
1. 项目概览:神之眼Lite是个啥?
简单来说,神之眼Lite是一个“麻雀虽小,五脏俱全”的智能桌面终端。它看起来像一个小巧的桌面摆件,但内置了丰富的功能。
核心功能亮点:
- 信息显示中心:一块屏幕作为主界面,可以显示时间、日期等信息,并且开机后能自动从网络校时。
- 多媒体娱乐:具备“音乐模式”,可以播放存储在SD卡里的音乐,通过内置扬声器输出。
- 环境感知:内置温度传感器,可以实时检测并显示环境温度(后续功能)。
- 智能遥控:集成了红外发射和接收管,计划实现遥控空调等家电,以及学习红外遥控码的功能(后续功能)。
- 便携供电:内置锂电池,支持USB充电,有电量检测,可以脱离电源线使用。
它的交互主要通过几个实体按键完成,有一个电源键用于开关机,一个设置键用于进入菜单。整个项目的硬件设计在立创EDA完成,外壳通过3D打印制作,软件则基于ESP32开发,形成了一个从电路设计、结构设计到软件编程的完整闭环案例。
2. 硬件设计深度解析
神之眼Lite的硬件设计非常紧凑,把所有功能都集成在了一块主板上。我们来看看它的核心模块都是怎么搭建起来的。
2.1 核心大脑:ESP32主控
项目的核心是一颗ESP32系列的主控芯片。ESP32大家应该不陌生,它是一款集成了Wi-Fi和蓝牙的双核MCU,性能强大且生态丰富,非常适合做这种需要网络连接(如自动校时)和复杂控制的项目。
注意一个关键细节:根据原文提示,在给ESP32上传程序(烧录)时,需要将GPIO2引脚拉低(接地)。这是一个常见的ESP32进入下载模式的条件,如果你复刻时无法烧录程序,记得检查这一点。
2.2 主要功能模块与电路设计
主板围绕ESP32,集成了多个外设模块,我们逐一拆解:
1. 显示模块
- 功能:作为人机交互的主要界面。
- 实现:连接了一块屏幕(具体型号需参考原工程原理图),用于显示主界面、设置菜单、音乐播放信息等。
2. 存储与数据模块
- SD卡:板载了一个32GB的贴片式TF卡座。它的作用很大,一是用来存储音乐文件,供“音乐模式”播放;二是可以作为数据日志、配置文件等的存储介质。
- 实时时钟(RTC):使用了DS3231芯片。这是一个高精度的实时时钟模块,即使系统断电,靠备用电池(如果有)或主电源滤波电容也能维持计时。这就是实现“自动校时”后时间能持续走时的硬件基础。
3. 电源管理模块
- 锂电池充电:芯片支持通过USB口给内置锂电池充电。
- 降压与供电:将锂电池电压(通常是3.7V)降压、稳压后,为ESP32、屏幕等各个模块提供稳定干净的电源。
- 电量检测:通过ADC检测电池电压,从而估算剩余电量,并可能在屏幕上显示。
4. 输入与交互模块
- 按键与开关机:设计了多个功能按键。特别的是,电源键集成了“单键开关机”电路。这意味着用一个按键就能实现开机和长按关机的功能,这比简单的MCU复位控制要复杂一些,通常需要专门的电源管理芯片或三极管/MOS管电路来实现。
- 红外收发:包含了红外发射管和接收头。发射管用于模拟遥控器发出红外信号,接收头用于学习其他遥控器的红外编码。
5. 输出与感知模块
- 扬声器:连接了一个小扬声器或接口,用于音乐播放和提示音。
- 温度传感器:板载了一颗温度传感芯片(如NTC热敏电阻或数字温度传感器),用于实现环境温度检测功能。
- 电源指示灯:简单的LED指示灯,显示电源状态。
6. 调试与扩展接口
- USB转串口:这是开发调试的“生命线”。芯片将USB信号转换为TTL串口信号连接ESP32,我们既可以通过它给ESP32烧录程序,也能在电脑上通过串口助手查看ESP32打印的调试信息。
- USB读卡器功能:可能通过一颗USB接口芯片,实现了将板载SD卡模拟成U盘的功能。这样,用USB线连接电脑后,可以直接像操作U盘一样管理SD卡里的音乐和其他文件,非常方便。
2.3 硬件设计验证
原作者已经进行了简单测试,并确认硬件工作正常。从开源的设计文件(原理图和PCB)中,我们可以看到元器件布局紧凑合理,走线清晰。对于学习者而言,仔细研究这份PCB设计,能学到很多小型化、集成化硬件布局布线的技巧。
3. 结构设计与外壳组装
一个完整的项目不止有电路板,还得有个“家”。神之眼Lite的外壳设计也很有讲究。
外壳主体:通过3D打印制造,分为底壳和上盖两部分。底壳用于固定主板和电池,上盖则用于固定屏幕和按键。
按键设计细节:
- 薄膜面板:上盖的按键区域有凹槽,用来放置定制的薄膜面板。这种面板通常是一张印有图案的塑料薄片,贴在壳子上既美观又能起到标识作用。
- 按键垫片:由于物理按键(微动开关)的高度可能不够,直接按压手感不好或无法触发。作者非常细心地设计了3D打印的按键垫片(需要打印4个),垫在薄膜面板和微动开关之间,确保按压手感扎实可靠。
面板设计巧思:作者提到,在立创面板打印服务中,最小尺寸是200*300mm。而实际需要的按键面板很小。为了避免浪费,作者在面板空白处添加了一些装饰性图片,凑满了最小制作尺寸。这是一个非常实用且经济的小技巧。
4. 软件功能与实现思路
软件的详细代码在项目附件中,我们可以根据描述梳理一下主要的工作流程和实现思路。
开机流程:
- 按下电源键,电源管理电路给整个系统供电,ESP32启动。
- ESP32运行程序,初始化屏幕、SD卡、RTC(DS3231)、按键等外设。
- 连接Wi-Fi(如果已配置),从网络获取当前时间,并写入DS3231芯片,完成自动校时。
- 进入主界面,显示时间、日期等信息。
主要工作模式:
- 主界面/神之眼模式:默认状态,显示核心信息。长按设置键可进入设置菜单。
- 音乐模式:在此模式下,可以浏览SD卡中的音乐文件,进行播放、暂停、切歌等操作。这需要软件实现音频文件的解码(如MP3、WAV)并通过PWM或I2S驱动扬声器输出。
- 红外遥控模式(规划中):
- 学习:用红外接收头录制其他遥控器的信号,将编码保存下来。
- 发射:将学习到的或预设的红外编码,通过红外发射管发送出去,控制空调等设备。
- 温度显示模式(规划中):定期读取温度传感器数值,并在屏幕上显示。
其他规划功能:项目中还提到了“Ai绫华”(因硬件限制暂停)和“BBZD”(一个可通过神之眼控制的制冷制热小风扇)等未来扩展想法,体现了项目的可扩展性。
5. 如何开始你的复刻与学习之旅
如果你对这个项目感兴趣,想自己动手做一个或者学习其设计,可以按以下步骤进行:
获取资料:在立创开源硬件平台搜索“神之眼Lite”,找到项目主页。下载所有的设计文件,包括:
- 原理图(.json/.sch):研究电路连接。
- PCB文件(.json/.brd):学习布局布线。
- BOM清单:采购元器件的依据(注意:原文提醒文末自动生成的BOM可能有Bug,应以电路图中的标注为准)。
- 3D外壳文件(.stp/.stl):用于3D打印外壳。
- 面板设计文件:用于定制薄膜按键面板。
- 软件源代码:在文章末尾的网盘链接中获取。
硬件制作:
- PCB打样:可以将PCB文件发给嘉立创等厂家打样。
- 元器件焊接:根据BOM采购元件,并焊接。ESP32、贴片SD卡座、DS3231等芯片焊接需要一定的技巧,新手可以练习或寻求帮助。
- 外壳打印与组装:将3D文件发送给打印服务商,或者自己如果有3D打印机更好。打印好后,依次组装主板、电池、屏幕、垫片、薄膜面板和上盖。
软件烧录与调试:
- 搭建ESP32开发环境(Arduino或ESP-IDF)。
- 打开并编译下载的源代码。
- 牢记烧录提示:连接USB线到电脑,在烧录程序前,确保将ESP32的GPIO2引脚与GND短接一下,然后进行上电或复位操作进入下载模式,再开始烧录。
- 烧录成功后,设备即可独立运行。
这个项目最宝贵的价值在于其“完整性”。它不仅仅是一段代码或一张原理图,而是一个从创意到实物的全流程展示。通过深入研究和复刻它,你不仅能学到ESP32和各种外设的驱动,更能掌握一个嵌入式产品硬件设计、结构设计、软硬件联调的完整方法论。遇到问题就去翻看原设计,查阅芯片数据手册,相信你会有很大的收获。