基于树莓派和 ESP32 制造一台掌上电脑

MAKER:rahmanshaber/译:趣无尽(转载请注明出处)

因为树莓派本身就是一台微型的电脑,大家对于如何使用树莓派来实现一台多功能的电脑一直在做不同的尝试。

在前面的教程中我们曾发表过《Pi-Micro:用树莓派ZeroW制作的掌上电脑》,如手机般大小的掌上电脑;还有《Arduino制作:支持Basic和VGA显示器的复古计算机》基于 Arduino 的掌上电脑。

今天我们给大家带来一个基于 ESP32-S2 ,附带 56 个键盘,4 英寸显示屏以及扩展接口的树莓派掌上 PC。整个项目所需材料不多,易于构建,且外壳使用 3D 打印,整体造价不高。

项目特点:

– ESP32-S2,易于焊接且损耗小。

– 4 英寸 IPS 显示屏,4GB RAM,2 个 HDMI 输出端口。

– 56 个键可定制键盘,2 个用于导航的侧边按钮。

– 带有 RTC 时钟、蜂鸣器、振动、光敏传感器和红外发射模块。

– 支持红外遥控;支持自动息屏;支持显示新旧加载项;支持鼠标左右键。

– 支持 MPU6050 陀螺仪模块、BME280 压力模块和温湿度模块。

– 支持键盘按钮关闭模块、显示器以及附加组件;支持使用操作系统和键盘键关闭电源。

– 带有 USB type C 型号的 Nurolink / Dock 端口,支持 UART、I2C 和供电。

– 支持读取电池电量并在电池电量不足时关闭设备电源。

– 支持 ESP32-S2 与树莓派通过 Neopixel 库双向连接。

– 18650 锂电池,带充放电保护。

– 改进版的外壳使其更好地贴合 PCB。

组件清单

Esp32-S2 × 1

树莓派 × 1

3D 打印部件 × 若干

USB C 到 USB C 转换器 × 1

4 x 2 公头排针 × 1

2 x 20 母头排针 × 1

4 英寸 IPS 显示屏 × 1

FPC 连接器 × 1

锂电池 × 1

PCB 板 × 1

GPS 模块 × 1

DS3231 × 1

蜂鸣器 × 1

TP4056 × 1

RTC 时钟 × 1

按键 × 56

USB C 接口 × 2

螺丝螺母 × 若干

电阻 × 若干

电容 × 若干

LED 灯 × 1

接线 × 若干

贴片按键 × 2

吸锡带 × 1

电烙铁 × 1

焊锡丝 × 1

剪线钳 × 1

助焊剂 × 1

修边刀 × 1

PCB 功能介绍

我将提供完整的清单,它包含所有的功能,但你可以根据自己的需求来组装。

组件功能介绍如下(参考):

S – 1 开关电源模块,用于控制设备开关(必备)。

S – 2 连续充电模块 ,断开充电器,防止设备重启

S – 3 升压模, 将电池出来的电压升至 5 V

S – 4 ESP32-S2 + 复位模块,控制器 (必备)。

S – 5 振动模块 提供振动反馈(可选)。

S – 6 时钟模块 断电后保持计时(可选)。

S – 7 MP6050 / BME280 陀螺仪 / 温湿度(可选)。

S – 8 扩展电源 设备关闭时可保持显示模块 S – 7 的功能(可选)。

S – 9 红外模块 红外遥控器 (可选)。

我列出两个版本供大家参考,一个精简版和一个完整版。你可以根据自己的需求对组件进行了删减。

PCB 与 3D 外壳打印

PCB 选定好功能后就可以开始搭建以及 3D 打印外壳。外壳总有五个部分。

关于外壳 3D 打印文件可以在本项目文件库中下载:

https://make.quwj.com/project/401

PCB 总有三个部分。

关于 PCB 3D 打印文件可以在本项目文件库中下载:

https://make.quwj.com/project/401

焊接部分

在 PCB 中一共有八个模块,我将分模块进行焊接,先焊接三个模块的零件,这样有助于分步查错。

焊接顺序如下:

– USB C 端口 > S – 2 > 电池连接器 >> 查看电池是否充电。

– S-4 (暂不焊接 FPC 连接器) > 4 x 2 公头排针 >> 测试能否能够上传固件。

– S-1 > S – 3 >> 连接电池并按 S-3 模块中的按钮,查看指示灯是否亮起。

– 焊接 FPC 连接器(外接显示器用)和 2 x 20 母头排针 > S-8 >> 键盘 >> 连接树莓派和电池,按住电源按钮查看树莓派是否启动。

– S-6 > S-9 > S-7 >> 查看在 OS 的指导下,整个 PCB 板的是否工作正常。

组装部分

螺丝的型号如图所示。

3D 打印外壳所需的螺丝的型号为:

– 22mm x 2

– 9mm x 2

– 6mm x 4

– 8mm x 1

– 10mm x 1

– 16mm x 1

尝试将 PCB 放入,毛边的地方需要用砂纸打磨。

线路连接及其他功能的扩展(可选)

在 PCB 有一个扩展端口(2 x 10 pin 的母头排针),接入后可扩展一下六个功能:

– 无线电广播, LoRa 通信

– 自定义 Wifi

– GPS

– Micro SD

– 蓝牙

– 压力+湿度+温度模块

– 自定义专属模块

Nurolink / Dock 端口的扩展

该设备的 Nurolink / Dock 对接端口,可以用来供电、连接外部设备或外部电路。

如图所示,可连接到 Nurolink / Dock 端口的 GPS 模块。

同时也可通过 Nurolink / Dock 端口连接两个接口,需要将 USB C 和 USB C 的电缆进行改动,需要交换 D+ 和 D- 线,因为 TX 要连接至 RX,没有改动的线是 Tx 是连接到 TX。

Nurolink / Dock 端口的 6 个引脚如下:

-2 个引脚分别为 UART / TTL 引脚:Tx 和 Rx

-2 个引脚分别为电源引脚:3v 和接地

-2 个引脚分别为 I2c 引脚:SDL 和 SCL

可升级的地方

DIY PC 的过程不会一帆风顺,仍有许多改进的地方,可以不断的优化项目。

例如:

Arduino 编码,可在固件中添加功能。

Fusion 360,可改进支持且更容易构建。

Python,可使附件充分发挥作用,例如基于 Lora 的通信应用程序能够与其他 PC 用户进行通信。

FreeCAD,将其移植到 freeCAD,能够更加开源。

KiCAD,能够更加开源。

via