Arrow Electronics Components Online

探索espressif ESP32的功能,开展Dali Clock项目

机器人技术08 6月 2026
ESP32开发板的顶视图,展示了ESP32模块、USB连接器、板载按钮和在灰色背景上的标记针脚。
查看所有文章

通过Dali Clock项目探索Espressif ESP32的功能。   ESP32 是 Espressif System 继广受欢迎且功能强大的 ESP8266 WiFi 模块之后的后续产品,其功能较前代更强。其亮点包括一个最高运行频率可达 240 MHz 的32位双核处理单元,以及通过 WiFi蓝牙的无线通信能力。   它还具备电容触摸感应、I2S 数据传输、音频锁相环 (PLL) 功能以及两个数模转换器 (DAC) 输出。请注意,不同的 ESP32 变体之间这些功能会有所不同。

ESP32 development board connected by jumper wires to a Feather DALI interface board and terminal connectors, arranged on a cutting mat.

Adafruit Huzzah23(上)与DFRobot Firebeetle(下)

使用ESP32与复合视频时钟

为了更具体地说明如何使用 ESP32(既易于实现又令人印象深刻),可以参考由 Marcio L. Teixeira 构建的 Dali Clock。这个设置使用带有复合输入的旧电视和一个 ESP 开发板来显示一个变形的屏幕时钟。   像任何推动边界的项目一样,这个项目站在了前人的肩膀上,将 Dali 时钟的概念(为 Xerox Alto 于 1979 年创建)与风格类似于 1980 年代流行艺术的滚动日落场景相结合。在技术层面上,多个硬件黑客被认可。当然,若没有 ESP32,这一切都是不可能的。最后,我们不能忽略萨尔瓦多·达利本人,他为这一原创艺术提供了灵感。   尽管它的背景令人印象深刻,但要设置这个时钟,您只需要以下设备:

  • ESP32 开发板
  •  RCA 插头
  •  (2) 连接线
  •  USB 电源
  •  具有复合能力的电视或显示器
原始项目使用了 Adafruit Huzzah32 ESP32 Feather 板。理论上,可以将其与其他基于 ESP32 的设备一起使用,我也尝试用 DFRobot FireBeetle ESP32 模块进行项目。这两者都有类似的功能,并能正常显示视频。然而,两者之间有一个小的区别,稍后会详细说明。

Television screen displaying a digital clock with large blue numerals showing the current time against a stylized grid background.

视频显示

设置:加载代码并连接

要进行设置,从GitHub下载代码,并使用Arduino IDE将其传输到ESP32。更详细的说明在此处找到。   您需要在Arduino IDE中添加与ESP32板工作的功能,通过打开“Preferences”,并在“Additional Boards Manager URLs”部分输入“https://dl.espressif.com/dl/package_esp32_index.json”。   完成此操作后,选择您的开发板(在这种情况下为Adafruit ESP32 Feather或FireBeetle-ESP32),以及正确的串口,并将代码加载到您的ESP上。

Arduino IDE Preferences window showing the Additional Boards Manager URLs field used to install ESP32 board support.

视频显示

将Adafruit Huzzah32开发板的GND引脚连接到RCA插头的外部桶部。   然后,将另一根线从A1 DAC1引脚连接到插头的中心柱,以输入到电视的复合视频输入。您可以使用鳄鱼夹连接到标准的双头插头,或者使用可用的螺丝端子插头来使其更加安全。当然,您也可以改装一个RCA电缆以暴露其中的布线。   将RCA插头插入电视/显示器,连接电源到开发板,并将电视调到正确的输入源。   看,这就是一个屏幕上的融化数字Dali时钟,此时几乎可以肯定显示的是错误的时间。要解决这个问题,通过手机或电脑登录到ESP32生成的“ESP32 Dali Clock”WiFi网络,并通过浏览器界面配置设置。一旦正确设置好,它就可以通过家用网络访问。时间可以通过NTP/时区自动设置,或者如果您愿意,也可以手动输入。

ESP32 development board mounted behind a display and connected to wiring and terminal blocks on the back panel.

设备连接

时钟还可以切换为显示日期而不是时间。在Huzzah板上连接导线到A5 4和A4 36,并用手指触摸这两点以激活此功能(我没有在FireBeetle上尝试过,但应该是可行的)。它也可以设置为一天中变换颜色,看起来很有趣。

ESP32 的功能特点

除了快速的处理速度(对于不久前的台式机来说已经令人印象深刻),这个构建很好地展示了ESP32的几个特性:

  •  WiFi连接 - 用于网页界面和时间设置
  •  RCA接口
  •  I2C/DAC/PLL - 支持电压水平输出和彩色复合视频所需的精确计时
  •  电容触摸感应 - 感应电线触碰以暂时切换到日期显示
  •  双核处理器 - 一个核心处理图形处理和视频信号输出,而WiFi/网页界面则运行在第二个核心上,以避免干扰计时。

突破界限

Two ESP32 development boards displayed side by side, showing different board layouts, ESP32 modules, USB connectors, and pin headers.

根据这段独立视频,该视频介绍了如何设置与此构建类似的装置,ESP32在其规格中实际上没有列出复合视频功能。然而,它可以进行数模转换(DAC)并利用I2S协议,这使其在进行复古未来视频黑客时非常强大和通用。   关于Marcio如何利用ESP32的PLL功能将其升级为彩色输出的更多信息,请访问这个GitHub页面。   在我极其有限的样本中,每块板各一个,在一台电视上显示,使用Adafruit Huzzah32效果相当好。FireBeetle,在相应的输出引脚排序后,也能工作,但有一些间歇性的同步问题。   稍微深入研究这两块板:Huzzah32使用ESP32-WROOM-32E WiFi模块,而DFRobot板使用ESP32-WROOM-32D。虽然基本相同,-32E在细节上有一些改进,包括它如何与晶体振荡器交互以决定CPU定时。   这可能意味着在我的电视上,-32D和-32E的显示有些许差异。也就是说,对于绝大多数没有以创造性方式挑战ESP极限的情况,任何一个模块都能很好地完成所需任务。然而,如果你有一个需要充分发挥ESP-32全部功能的生产应用程序,考虑将要使用的ESP-32是一个很好的提醒。

文章标签

IIOT
机器人技术

相关内容