灵眸小智——基于自研扩展板的桌面 AI 交互机器人

2026-10-3123

最近一直在折腾“小智”,之前主要还是以开发板和功能验证为主。

这次给它重新增加了一套结构件,把主控、屏幕、麦克风、扬声器、RGB 灯环以及舵机等模块重新整合了一下,终于从原来桌面上零散的一堆模块,慢慢有了一点“机器人”的样子。

这次给它起了一个名字:

灵眸小智

“灵眸”主要来自左右两侧的两个 RGB 环形灯。

在结构上,我把两个灯环设计成了类似机器人双眼的效果,除了起装饰作用,后续也可以利用不同颜色和动态灯效来显示小智当前的运行状态。

整个项目目前可以看作一个:

ESP32 + AI语音交互 + 屏幕显示 + RGB状态灯 + 舵机执行机构

组成的小型桌面 AI 机器人。


一、目前实现的主要功能

1. AI 语音交互

首先保留了“小智”原有的 AI 语音交互功能。

通过麦克风采集用户语音,设备联网后完成语音交互,再通过扬声器播放 AI 的回复。

相比最初单独跑开发板程序,现在把麦克风、功放、扬声器以及屏幕等模块全部安装到结构上以后,整体已经比较接近一个可以独立放在桌面上使用的小型 AI 终端。


2. 双 RGB 环形灯

左右两侧分别安装了一组 WS2812B RGB 环形灯。

这两个灯环除了作为机器人“眼睛”使用以外,还可以承担状态指示功能。

例如后续可以设计成:

  • 待机状态:缓慢呼吸灯
  • Wi-Fi 连接:蓝色灯效
  • 语音唤醒:灯环快速点亮
  • 正在聆听:灯光旋转
  • AI 思考:流水灯效果
  • 正在回答:跟随语音变化
  • 网络异常:红色提示

这样用户不用一直盯着屏幕,也可以通过灯光快速判断机器人当前处于什么状态。

两个灯环安装完成以后,整个外观的辨识度也提高了不少。


3. OLED 状态显示

机器人中间安装了一块 OLED 显示屏。

OLED 主要用于显示:

  • Wi-Fi 连接状态
  • 系统运行状态
  • 当前工作模式
  • 提示文字
  • 简单图标
  • 简单表情

这样除了语音和灯光之外,又增加了一种更加直观的信息反馈方式。

后续也准备继续优化 OLED 的显示界面,例如加入不同表情,让机器人在不同状态下有一些简单的“情绪反馈”。


4. 语音输入

语音采集部分使用的是:

INMP441 数字 MEMS 麦克风模块

INMP441 通过 I²S 数字接口与 ESP32 通信。

相比普通模拟麦克风,数字麦克风可以直接输出数字音频数据,在 ESP32 这类语音项目中使用比较方便。

它主要负责:

  • 用户语音采集
  • 语音唤醒
  • AI 对话输入
  • 后续语音识别相关功能

简单来说,它就是小智的“耳朵”。


5. AI 语音输出

音频输出使用:

MAX98357A I²S 数字功放模块

MAX98357A 可以直接接收 ESP32 输出的 I²S 数字音频数据,并驱动扬声器播放声音。

它不需要再单独增加 DAC,和 ESP32 配合起来比较简单,也很适合这种小型语音机器人。

目前主要用于:

  • AI 回复语音播放
  • 系统提示音
  • 状态提示
  • 后续音效扩展

再配合前面的 INMP441,就形成了:

语音采集 → ESP32 → AI处理 → ESP32 → MAX98357A → 扬声器

这样一套完整的语音交互链路。


二、主要硬件组成

目前这套机器人使用的主要硬件包括:

ESP32 Mini 主控板

作为整个机器人的核心控制器。

主要负责:

  • Wi-Fi 联网
  • 小智程序运行
  • AI 语音交互
  • I²S 音频输入输出
  • OLED 显示
  • RGB 灯效控制
  • 舵机及其他外设控制

Mini 版本体积比较小,很适合这种结构空间有限的小型桌面机器人。


INMP441 数字麦克风

负责语音采集。

使用 I²S 接口与 ESP32 通信,是整个语音输入部分的核心模块。


MAX98357A 数字功放

负责音频输出。

通过 I²S 接收 ESP32 的数字音频数据,然后驱动扬声器播放小智的语音。


小型扬声器

扬声器安装在主体结构下方。

一方面可以节省主控区域空间,另一方面也方便声音直接向外传播。


OLED 显示屏

通过 I²C 与 ESP32 通信。

主要显示系统状态、网络信息以及一些简单文字和图标。


WS2812B RGB 环形灯 × 2

安装在机器人左右两侧。

目前主要作为“眼睛”和状态灯使用。

WS2812B 可以单独控制每一颗 LED,因此以后可以制作很多不同的动态灯效。


三、自研 PCB 扩展板

这次项目中我比较想分享的一部分,是中间这块紫色 PCB 扩展板。

它并不是购买的成品扩展板,而是根据这个项目的实际使用需求,我们自己设计并制作的专用扩展板。

从:

原理图设计 → PCB Layout → 打样 → 焊接 → 调试

最开始做这块板的原因也很简单:

适配DF传感器的线序,方便连接DF各种常用传感器。


2. 方便模块更换

很多模块仍然保留接口形式。

如果以后想更换:

  • 麦克风
  • OLED
  • RGB 灯
  • 舵机
  • 其他传感器

都不需要重新设计整套硬件。


3. 方便教学和实验

因为平时也会接触开源硬件教学,所以在设计的时候也考虑了后续实验和教学使用。

相比把所有东西直接焊死在一起,这种结构更加适合学生观察整个系统的组成。

可以很直观地看到:

主控、输入、输出、显示、灯光和执行机构之间是怎样配合工作的。


4. 预留后续扩展

扩展板并不是只针对现在这一版结构。

后续还可以继续增加一些模块,例如:

  • 温湿度传感器
  • 光线传感器
  • 距离传感器
  • 人体感应
  • 触摸传感器
  • 更多舵机
  • 电机驱动
  • I²C 设备
  • GPIO 外设

这样以后换一个结构,就可以继续把它做成其他类型的小机器人或者 AI 实验平台。


五、结构件设计

这次更新最大的变化,其实就是结构。

之前所有模块基本都是平铺或者临时连接,虽然功能能够运行,但看起来还是一个典型的“开发板实验项目”。

所以这次给它增加了一套金属结构件。

目前的布局大致分成几个区域。

左右两侧

安装两个 WS2812B RGB 环形灯。

主要作为机器人的“眼睛”。


中央区域

安装:

  • ESP32 Mini
  • 自研扩展板
  • OLED
  • 麦克风
  • 音频模块

这一部分基本就是机器人的核心控制区域。


下方

安装扬声器。

这样既不会挡住屏幕,也能够节省整体空间。


前端

预留执行机构安装区域。

目前安装了一个舵机,后续可以根据不同作品需要,更换成不同机械结构。


六、整体系统组成

目前整个机器人的硬件架构可以简单理解为:

ESP32 Mini

↓

自研 PCB 扩展板

↓

INMP441 数字麦克风

  •  

MAX98357A 数字功放 + 扬声器

  •  

OLED 显示屏

  •  

双 WS2812B RGB 环形灯

  •  

微型舵机执行机构

再通过 Wi-Fi 接入 AI 服务。

最终实现:

听得到

INMP441 负责语音输入。

看得见

OLED 和 RGB 灯负责状态显示。

会说话

MAX98357A + 扬声器负责 AI 语音输出。

能联网

ESP32 通过 Wi-Fi 与网络 AI 服务通信。

可以动

舵机负责简单的机械动作。


七、目前这版的一些想法

这次并没有追求一次把所有功能全部做完。

目前主要目标还是先把:

AI语音 + 自研扩展板 + 结构件 + 灯光 + 显示 + 执行机构

这一整套链路跑通。

相比直接购买一个成品 AI 音箱,我觉得这种方式最大的乐趣还是在“折腾”的过程。

可以自己决定:

机器人长什么样;

使用什么主控;

灯光怎么变化;

屏幕显示什么;

增加什么传感器;

最终让它控制什么东西。

尤其是把软件、PCB 和机械结构组合起来以后,就会发现它已经不再只是一个单纯的 ESP32 项目。

它开始慢慢变成一个可以不断迭代的机器人平台。

这次先把目前的版本分享出来,也欢迎大家交流一些新的玩法和改进思路

灵眸小智——基于自研扩展板的桌面 AI 交互机器人_image_1.webp
灵眸小智——基于自研扩展板的桌面 AI 交互机器人_image_2.webp

附件是适配 0.96寸oled屏的代码 可通过flash_download_tool进行烧录测试

创作许可协议

本项目采用 CC BY(署名) 进行许可。

评论(0)
- 没有更多了 -