基于XIAO ESP32 C6,以16x8矩阵作为显示器设计一个小游戏

2025-04-21

大家好,欢迎回来。这里有一些有趣的东西。

The XIAO Hopper,一款基于《Flappy bird》灵感的游戏。

基于XIAO ESP32 C6,以16x8矩阵作为显示器设计一个小游戏 (https://ic.work/) 工控技术 第1张

在这里,我们使用自定义的16x8 WS2812B LED矩阵作为显示器和按钮来控制像素。

“XIAO跳跃器”一词源于我们的版本《Flappy Bird》,它使用了一个XIAO微控制器;故名萧hopper。

这是我们版本的《Flappy Bird》,在这个版本中,由单个像素表示的小鸟在16x8 LED矩阵上移动柱子的间隙中移动。目标是在空间之间导航时避免撞到柱子。游戏玩法由一个按钮控制,挑战随着时间的推移而增加。

柱子是随机分配的空间,鸟儿必须穿过这些空间。

当按下按钮时,鸟儿向上飞行;松开按钮时,重力将其向下拖动。

本文是关于这个项目的完整构建过程,所以让我们从构建开始。

材料要求

这些是在此构建中使用的组件。

•XIAO ESP32 C6 DEV board

•定制PCB(由Seeed Fusion提供)

•WS2812B发光二极管

•跳线

•电路试验板

•按钮

XIAO ESP32 C6 DEV board

基于XIAO ESP32 C6,以16x8矩阵作为显示器设计一个小游戏 (https://ic.work/) 工控技术 第2张

在这个项目中,我们使用的是基于ESP32-C6 SoC的XIAO ESP32 C6开发板,它具有双32位RISC-V处理器,一个具有160 MHz的高性能内核,另一个具有20 MHz的低功耗内核,可实现高效的多任务处理和节能。

它的512KB SRAM和4MB闪存为程序执行和存储提供了足够的空间,使其成为对速度和内存效率都有要求的项目的绝佳选择。

XIAO ESP32 C6以其连接性而脱颖而出,支持Wi-Fi 6,蓝牙5.3和Zigbee/Thread等高级协议,可与智能家居系统和物联网设备顺利集成。该板具有11个GPIO引脚和各种接口,如UART, SPI, I2C和ADC,允许轻松连接到传感器和外设。其占地面积小(21 x 17.8 mm)和USB Type-C电源输入使其非常适合空间受限和便携式项目,例如LED矩阵游戏机。

如果您想要一个,请访问其产品页面,或者访问其wiki页面以了解有关开发板的更多信息。

16x8 WS2812BLED矩阵

基于XIAO ESP32 C6,以16x8矩阵作为显示器设计一个小游戏 (https://ic.work/) 工控技术 第3张

在这个项目中,我们使用我们之前制作的矩阵项目之一,该项目由128个WS2812B LED组成,放置在16x8矩阵布局中,16个LED放置在16行和8列中。

每个WS2812B LED彼此并联连接。为了控制所有128个LED,只需要一个GPIO,因为每个LED都以独特的配置连接,其中第一个LED Dout连接到第二个LED Din端口,第二个LED Dout连接到第三个LED的Din端口,以此类推,直到最后128个LED。

要更深入地了解该显示器的开发过程,请参阅我之前的文章,我在其中简要解释了它。

Seeed Studio Fusion

基于XIAO ESP32 C6,以16x8矩阵作为显示器设计一个小游戏 (https://ic.work/) 工控技术 第4张

Seeed Fusion PCBService为PCB制造和PCB组装提供一站式原型设计,因此,他们在7个工作日内生产出高质量的PCB和快速交钥匙PCB。

Seeed Studio Fusion PCB组装服务负责整个制造过程,从Seeed Studio Fusion敏捷制造和硬件定制到零件采购,组装和测试服务,因此您可以确保他们获得高质量的产品。

在衡量市场兴趣并验证工作原型之后,Seeed Propagate Service可以通过专业指导和强大的连接网络帮助您将产品推向市场。

试验板组装

基于XIAO ESP32 C6,以16x8矩阵作为显示器设计一个小游戏 (https://ic.work/) 工控技术 第5张

•为了开始组装,我们将XIAO ESP32 C6微控制器放在面包板上。然后,我们在它旁边添加Push Button。

•我们通过将矩阵的VCC连接到XIAO的5V开始布线过程。

•然后将矩阵的GND连接到XIAO的GND。

•我们将Push Button的一端连接到GND,另一端连接到GPIO 1。

•矩阵数据线连接到XIAO的GPIO0。

接线过程现在已经完成。

代码

这是在这个项目中使用的代码,它是一个简单的。

基于XIAO ESP32 C6,以16x8矩阵作为显示器设计一个小游戏 (https://ic.work/) 工控技术 第6张

让我们简要地分析一下代码。

我们使用Adafruit_NeoMatrix.h库来控制16x8 WS2812B LED矩阵。这个库帮助我们绘制像素、形状和动画。

基于XIAO ESP32 C6,以16x8矩阵作为显示器设计一个小游戏 (https://ic.work/) 工控技术 第7张

初始化矩阵以匹配其物理布局和颜色格式。

BUTTON_PIN连接到一个按钮,该按钮控制鸟的运动。

基于XIAO ESP32 C6,以16x8矩阵作为显示器设计一个小游戏 (https://ic.work/) 工控技术 第8张

跟踪鸟的垂直位置(birdY)。

柱子用x(水平位置)、gapStart(缝隙位置)和gapHeight(尺寸)来定义。

基于XIAO ESP32 C6,以16x8矩阵作为显示器设计一个小游戏 (https://ic.work/) 工控技术 第9张

本节准备LED矩阵,设置按钮引脚作为输入,并初始化柱子。

基于XIAO ESP32 C6,以16x8矩阵作为显示器设计一个小游戏 (https://ic.work/) 工控技术 第10张

这个按钮控制小鸟的运动,模拟释放时的重力。

小鸟的位置被固定在屏幕边界内,并在x=3处绘制。

基于XIAO ESP32 C6,以16x8矩阵作为显示器设计一个小游戏 (https://ic.work/) 工控技术 第11张

柱子向左移动并在离开屏幕时重置新的间隙位置。

基于XIAO ESP32 C6,以16x8矩阵作为显示器设计一个小游戏 (https://ic.work/) 工控技术 第12张

这将检查小鸟是否击中了柱子(在间隙之外),并显示红色的“Game Over”,然后重新开始游戏。

基于XIAO ESP32 C6,以16x8矩阵作为显示器设计一个小游戏 (https://ic.work/) 工控技术 第13张

随着时间的推移,柱子移动得越快,游戏就越难。

结果和下一步

基于XIAO ESP32 C6,以16x8矩阵作为显示器设计一个小游戏 (https://ic.work/) 工控技术 第14张

这是这个小构建的最终结果:在基于esp32的开发板上使用自定义矩阵面板运行一个类似《Flappy bird》的游戏。

我们使用Push Button控制Bird或Pixel的移动;随着时间的推移,游戏的难度也在增加。如果我们击中任何建筑物,我们将看到一个红色屏幕,表明游戏已经结束;然后游戏重新开始,循环再次重复。

这是一个小型手持游戏控制台项目的测试项目,该项目将由一个带有按钮的单个定制矩阵PCB组成。游戏将会在屏幕上进行编程,它看起来就像Game Boy或类似的设备,但带有RGB LED显示屏。

基于XIAO ESP32 C6,以16x8矩阵作为显示器设计一个小游戏 (https://ic.work/) 工控技术 第15张


本文编译自hackster.io

文章推荐

相关推荐