当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]一款紧凑型电池供电的桌面气象站,基于UNIHIKER K10(ESP32-S3)芯片构建。它通过重力环境传感器读取温度、湿度、气压、环境光和紫外线,并通过ENS160传感器获取空气质量(AQI / eCO2 / TVOC),然后将所有数据以简洁清晰的暗色霓虹图形界面显示出来。内置的RGB LED灯会根据实时空气质量水平闪烁,而扩展板上的4个RGB LED则可切换不同颜色模式。两个内置按钮无需修改代码即可控制灯光。

一款紧凑型电池供电的桌面气象站,基于UNIHIKER K10(ESP32-S3)芯片构建。它通过重力环境传感器读取温度、湿度、气压、环境光和紫外线,并通过ENS160传感器获取空气质量(AQI / eCO2 / TVOC),然后将所有数据以简洁清晰的暗色霓虹图形界面显示出来。内置的RGB LED灯会根据实时空气质量水平闪烁,而扩展板上的4个RGB LED则可切换不同颜色模式。两个内置按钮无需修改代码即可控制灯光。

它做什么

•读取Gravity SEN0501传感器的温度、湿度、气压、环境光(勒克斯)和紫外线。

•读取来自EN160传感器的空气质量数据——AQI(1–5级)、等效CO2(eCO2)和总挥发性有机物(TVOC)。

•读取扩展板上的电池百分比。

•在240×320的暗色霓虹卡式用户界面中显示全部内容,包含空气质量面板和彩色AQI徽章。

•车载RGB LED灯会根据空气质量颜色闪烁(绿色 → 黄色 → 橙色 → 红色),随着空气质量恶化,闪烁速度加快。

•扩展板RGB LED可选择显示不同颜色氛围(彩虹、海洋、火焰、森林、紫色、白色)。

•按钮A用于切换哪些LED灯亮起:全部 → 仅UNIHIKER → 仅BASE → 关闭。

•按钮B可循环切换基础LED颜色模式。

硬件组件

它是如何工作的

I2C总线

UNIHIKER K10 的 I2C 总线使用 SDA = GPIO47 和 SCL = GPIO48。重力传感器端口、扩展板边缘连接器以及内置传感器均共享这一总线,因此每个设备只需一个唯一的地址:

由于它们都位于同一辆巴士上,传感器可以连接在重力端口上,并通过地址与每个传感器通信。

扩展板很智能

MBT0044扩展板并非被动式解码器。它在地址0x33处拥有自己的I2C协处理器,用于处理电机、舵机、功能引脚以及电池电量检测。电池百分比数据从寄存器0x87读取(该协议是根据DFRobot官方micro:bit MakeCode扩展程序逆向工程并移植到Arduino C++实现的)。然而,该板上的四个RGB LED为普通的WS2812芯片,连接至micro:bit边缘引脚P1,该引脚对应K10上的GPIO2——因此这些LED通过NeoPixel库直接驱动,而非经由协处理器控制。

空气质量 → 颜色

EN160 返回一个从 1(优秀)到 5(不健康)的空气质量指数(AQI)。该指数通过颜色和脉冲速度进行映射:

因此,空气质量越差,机载LED灯闪烁得就越急促——这就像你在房间另一头就能察觉到的环境警报。

显示屏

K10屏幕在竖屏模式下分辨率为240×320。用户界面绘制在离屏画布(k10.canvas)上,通过updateCanvas()一次性推入,从而避免闪烁。布局包括六个计量卡(温度、湿度、气压、光照、紫外线、电池)以及一个全宽空气质量面板,显示状态文字、彩色AQI徽章、eCO2和TVOC数据。

按钮

两个按钮通过 k10.buttonA->isPressed() 和 k10.buttonB->isPressed() 进行读取。代码使用简单的边缘检测(仅在新按压时触发),因此每次点击都会前进一步:

•按钮A → LED电源模式:全部 → 仅UNIHIKER → 仅BASE → 关闭。

•按钮B → 基础LED颜色模式:彩虹 → 海洋 → 火焰 → 森林 → 紫色 → 白色。

设置

1. 安装 UNIHIKER K10 板件包

在 Arduino IDE 中,添加 UNIHIKER 板件(根据 DFRobot 的 K10 维基),然后选择板子 UNIHIKER K10。使用 arduino-cli 时,板子目标(FQBN)为:

2. 安装库文件

unihiker_k10 和 Adafruit_NeoPixel 会随 K10 板子套装一同提供。请从库管理器(或 DFRobot 的 GitHub)安装这两个传感器库:

•DFRobot_环境传感器

•DFRobot_ENS160

3. 两个K10特有的陷阱

串口监视器显示无内容?K10默认禁用了“启动时启用USB CDC”,这会导致串口输出被发送到UART0,而非USB端口。若要通过USB查看串口输出,请在工具菜单中启用“启动时启用USB CDC”(或使用FQBN选项UNIHIKER:esp32:k10:CDCOnBoot=cdc)。屏幕界面无需此功能,仅用于调试。

4. 接好电线

1. 将UNIHIKER K10卡入扩展板的边缘连接器。

2. 将 SEN0501 和 ENS160 传感器插入 Gravity 的 I2C 接口(它们共用总线——可串联使用,或同时使用两个 I2C 接口)。

3. 将充满电的18650电池插入扩展板并打开电源(用于电池读数和基础LED灯)。

4. 连接USB-C数据线以上传。

布线与组装

所有设备即插即用,无需焊接。两个重力传感器共享K10的单个I2C总线,K10可直接插入扩展板的边缘连接器。

装配步骤

1. 将UNIHIKER K10卡入扩展板的边缘连接器。

2. 将 SEN0501 和 ENS160 传感器插入 Gravity 的 I2C 接口(两者共用总线)。

3. 插入一块充满电的18650电池,并打开电路板(电池读数和基础LED灯需要此操作)。

4. 连接 USB-C 以上传固件。

代码

总结:

本项目展示了如何通过炫酷的灯光效果和模块化扩展板来扩展UNIHIKER K10,从而打造互动性强、富有教育意义的体验。通过结合清晰易懂的示例代码与易于获取的硬件,该项目突出了创客们如何快速原型化基于情绪驱动的物联网应用。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

注意:如果发现灯光无法连接到打印机(打开和关闭灯光后,LED指示灯与设置不匹配),请检查您是否对打印机建立了超过三分之二的MQTT连接。这是Bambu打印机(至少P1系列)已知的缺陷或限制。当仅在局域网模式和/或开发者模...

关键字: Wi-Fi LED ESP32-S3

传统的物联网传感器节点通常体积较大,需要使用刚性PCB板和电池外壳,这限制了其安装位置。为突破这一限制,我们设计了一款采用柔性印刷电路板(FPC)的设备。

关键字: 传感器 SoC 物联网 nRF54L15

使用Beetle ESP32-C6、DFRobot SEN0500多传感器、W25Q32 SPI NOR闪存芯片、可充电3.7V电池以及JUSTWAY定制的3D打印外壳,构建一台完全自主运行的环境记录仪。该设备可连续十年...

关键字: 传感器 环境记录仪 3D打印 Beetle ESP32-C6

我们常常将地球视为被动的背景,却忘记了自己身体的本质正是由地球的物质构成。《消失的地球回忆录》是一个沉浸式艺术项目,通过触觉的亲密体验弥合这一鸿沟。借助一台定制乐器,我们将人体与不断变化、受损的景观之间产生的电振荡转化为...

关键字: 开发板 ESP32 传感器

中国上海,2026年7月14日——东芝电子元件及存储装置株式会社(“东芝”)今日宣布,面向工业设备应用扩展了DCL34xx0B系列四通道标准数字隔离器,新增四款产品——“DCL340L0B”、“DCL340H0B”、“D...

关键字: 数字隔离器 工业自动化 传感器

无论您是在调试棘手的摄像头链路,还是从头开始设计一套稳健的系统,知道错误隐藏何处就等于成功了一半。GMSL有许多不同类型的错误需要留意。本文将讨论这些错误在信号链中的潜藏位置。

关键字: 信号链 摄像头链路 传感器

· ST 正在构建智能传感的 AI 基础。 作为欧洲排名前列的光学传感 IDM 以及全球知名的 MEMS 厂商,ST 凭借强大的技术与产品路线图、IDM 模式以及与行业翘楚的合作关系,已经处于赢得这一由具身智能驱动、快速...

关键字: 智能驱动 传感器 人形机器人

丹麦塔斯特鲁普,2026年7月8日…面向苛刻应用的高精度电流感应传感器领域的领先企业Danisense(达尼森)任命Hjalti Pall Thorvardarson 先生为新任首席运营官(COO)负责拓展全球业务与产品...

关键字: 传感器 计算机

在本Visual Programming Visuino教程中,我们将利用Arduino Uno R4 WiFi内置的LED矩阵和WiFi连接功能,通过免费的wttr.in天气服务,显示任意城市的当前温度。

关键字: Wi-Fi LED Arduino Uno R4

AC8225-275 nm UVC LED系统扩展了OmniCure AC8系列产品线,旨在解决制造商从汞弧灯向UV LED固化技术转型过程中面临的表面固化难题

关键字: LED 3D 打印 半导体
关闭