当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]我一直想设计一个游戏机,因为我一直着迷于游戏机是如何将硬件、软件和图像融合在一起的。因为我有一个基于ESP32的LORA(远程)开发板,我想使用它。整个电路在5V电压下工作。控制台只使用一个按钮,可以执行多个任务。固件是可升级的,但对于我的初始项目,我添加了三个很酷的游戏,既有趣又易于编码!

这是我的个人项目,我自己编写了一些街机游戏。代码完全是从头编写的,并且是可修改的。

我一直想设计一个游戏机,因为我一直着迷于游戏机是如何将硬件、软件和图像融合在一起的。因为我有一个基于ESP32的LORA(远程)开发板,我想使用它。整个电路在5V电压下工作。控制台只使用一个按钮,可以执行多个任务。固件是可升级的,但对于我的初始项目,我添加了三个很酷的游戏,既有趣又易于编码!

项目简介

动机很简单:

•这是一个简单的游戏控制台,运行在ESP32上,内置0.96英寸OLED显示屏。

•游戏、导航和游戏都是由一个按钮完成的。

•ESP32模块上的内置显示器充当屏幕。

•led在各种动画中亮起,显示开始/赢/输等。

•蜂鸣器以不同的频率发出不同的声音。

•易于定制和固件升级。

主要游戏:

•Hamba Match:在这个游戏中,一个图像在屏幕上不断移动,要想获胜,你需要在正确的时间按下按钮,将图像嵌入到它的轮廓中。

•Hamba Run:我尝试在Chrome上重现你玩的恐龙游戏。跳起来躲避障碍物!

•数字保持游戏:在这个游戏中,在屏幕上显示一个随机数字和一个不断变化的数字。您需要在正确的时间按下,以便连续数字与随机数完全匹配。

•更多游戏:我将继续在我的GitHub上添加更多简单有趣的游戏。(连结如下)

硬件与电路

硬件方面非常简单。在这里,我使用面包板来容纳所有组件。该电路是围绕ESP32 LoRa模块构建的,它作为主控制器。ESP32完美地放在面包板上,将所有引脚留在板的两侧。

系统由来自USB的5V供电。开发板包含一个3.3V稳压器,用于灯和按钮输入。

开发板不能输出足够的电流,所以我使用通用的PNP晶体管(BC557)来切换led和蜂鸣器。led并联连接,因此它们同时闪烁。

输入按钮连接到1k上拉电阻(未按下时读取HIGH),这是避免鬼触发的好方法。

由于我们将使用中断来读取按钮输入,因此与开关连接的额外100nF电容器对于抵消脱频效应非常重要。

套管

你知道你可以数控塑料吗?JLCCNC提供多达5轴铣削工艺!而且成本很低。

代码:

我试图保持代码简单,让每个人都能理解。通过创建一些自定义库可以使代码更整洁,但现在,我将所有内容保存在main.cpp下

#重要:要使用开发板的内置OLED显示屏,需要对代码进行一些调整。在Heltec板上,OLED显示器可以打开/关闭,因此要打开它,在初始设置时将GPIO 16引脚拉到HIGH。我附上了代码的截图。

代码分为不同的部分,我在下面讨论了不同的代码块:

菜单是通过调用两个函数创建的:

drawMenu()显示名称和图标

和menuAction()执行选中的游戏

输入按钮被编码为中断,以便按钮功能在游戏的某个点上运行而没有任何延迟。

必须添加ICACHE_RAM_ATTR以避免意外复位。

Hamba比赛游戏功能:

持号游戏功能:

Hamba Run游戏功能:

“void loop()”下的代码只检查按钮的状态,玩哪个游戏,何时停止游戏,并显示菜单。

所有的注释都被添加到代码中,所以您可以随心所欲地调整代码!

上传代码

要上传代码,您可以直接复制main.cpp文件,粘贴到Arduino IDE中,安装必要的库,然后点击上传。

如果你像我一样使用Visual Studio Code (platformIO),使用下面的platformIO .ini文件上传代码没有任何问题:

从图像生成字符数组

最初,我在Illustrator上画了一些图片,并将它们导出为PNG格式。把它上传到网站上,并做了相应的调整。

截图显示了为牛角生成字符代码的过程。

不过分辨率不是很好。

结束

这样就完成了!这个游戏玩起来很有趣!对我来说就像一个烦躁的玩具。我期待着添加更多的游戏,并与大家分享。

本文编译自hackster.io

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

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭