通过 Dali 时钟项目探索 Espressif ESP32 的功能

作者 Jeremy Cook

通过 Dali 时钟项目探索 Espressif ESP32 的功能

ESP32 是 Espressif System 继广受欢迎且功能强大的 ESP8266 WiFi 模块之后推出的又一款产品,比之前的产品更加强大。亮点包括运行速度高达 240 MHz 的 32 位双核处理器,以及通过 WiFi蓝牙进行的无线通信。

它还具有电容式触摸感应、I2S 数据传输、音频锁相环 (PLL) 功能和两个数模转换器 (DAC) 输出。请注意,这些功能在不同的 ESP32 版本之间有所不同。

Body Image 1 Explore the Capabilities of the Espressif ESP32

Adafruit Huzzah23(上)和 DFRobot Firebeetle(下)

将 ESP32 与复合视频时钟配合使用

关于如何使用 ESP32 的具体示例(既易于实施,又令人印象深刻),请考虑 Marcio L. Teixeira 的 Dali Clock 构建。这种设置使用一台具有复合输入的旧电视和 ESP 开发板来显示变形的屏幕时钟。

与任何突破边界的项目一样,这个项目也站在巨人的肩膀上,将 Dali 时钟概念(1979 年为 Xerox Alto 创作)与 20 世纪 80 年代波普艺术风格的滚动日落场景相结合。在技术层面上,多种硬件攻击/黑客都功不可没。当然,如果没有 ESP32,这也是不可能的。最后,我们也不能忽视 Salvador Dali 本人,因为他提供了最初的艺术灵感。

尽管这个时钟大有来头,但要设置这个时钟,您只需要以下东西:

  • ESP32 开发板
  • RCA 插头
  • (2) 连接器电线
  • USB 电源
  • 具有复合功能的电视或显示器
  • 最初的项目使用的是 Adafruit Huzzah32 ESP32 Feather 板。理论上,您可以将其与其他基于 ESP32 的设备一起使用,我还尝试使用 DFRobot FireBeetle ESP32 模块来完成该项目。两者都有相似的功能,名义上都是为了显示视频。然而,这两者之间有一个小小的区别,稍后再详述。

    Body Image 2 Explore the Capabilities of the Espressif ESP32

    视频显示器

    设置:加载代码并连接

    要进行设置,从 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 上。

    Body Image 3 Explore the Capabilities of the Espressif ESP32

    视频显示器

    将 Adafruit Huzzah32 电路板的 GND 引脚连接到 RCA 插头的外管。

    然后,将另一根电线从 A1 DAC1 引脚连接到要输入到电视复合视频输入的插头的中央接线柱。您可以使用鳄鱼夹连接到标准的公对公插头,或者提供螺丝端子插头,使其更加牢固。据推测,您也可以砍掉一根 RCA 电缆,使线路露出来。

    将 RCA 插孔插入电视/显示器,将电源连接到开发板,并将电视调到正确的输入源。

    瞧,屏幕上出现了一个数字消散的 Dali 时钟,此时几乎可以肯定它显示的时间不正确。要纠正这种情况,请通过手机或计算机登录 ESP32 生成的“ESP32 Dali Clock”WiFi 网络,通过浏览器界面配置设置。正确设置后,就可以通过您的家庭网络进行访问。时间可以通过 NTP/时区自动设置,如果您愿意,也可以手动输入。

    Body Image 4 Explore the Capabilities of the Espressif ESP32

    设备连接

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

    所使用的 ESP32 的特点

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

  • WiFi 连接 – 用于网络界面和时间设置
  • RCA 插头
  • I2C/DAC/PLL – 有利于彩色复合视频所需的电压水平输出和精确计时
  • 电容式触摸感应 – 感应电线触摸,瞬间改变为日期显示
  • 双核处理器 – 图形处理和视频信号输出由一个内核处理,而可能干扰计时的 WiFi/网络接口在第二个内核上运行。
  • 突破界限

    Body Image 5 Explore the Capabilities of the Espressif ESP32

    根据这段讲述了与此类似的设置如何构建的单独视频,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。

    最新消息

    Sorry, your filter selection returned no results.

    请仔细阅读我们近期更改的隐私政策。当按下确认键时,您已了解并同意艾睿电子的隐私政策和用户协议。

    本网站需使用cookies以改善用户您的体验并进一步改进我们的网站。此处阅读了解关于网站cookies的使用以及如何禁用cookies。网页cookies和追踪功能或許用于市场分析。当您按下同意按钮,您已经了解并同意在您的设备上接受cookies,并给予网站追踪权限。更多关于如何取消网站cookies及追踪的信息,请点击下方“阅读更多”。尽管同意启用cookies追踪与否取决用户意愿,取消网页cookies及追踪可能导致网站运作或显示异常,亦或导致相关推荐广告减少。

    我们尊重您的隐私。请在此阅读我们的隐私政策。