当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]大家好,今天我将向大家介绍如何利用 ESP32-C3 超迷你微控制器与经典的 CD4017 CMOS 十位计数器组合,制作一个“数字轮盘”。当按钮被按下时,ESP32 向 CD4017 集成电路发送“时钟脉冲”,使 LED 灯依次闪烁。松开按钮后,系统会模拟减速效果,直到随机停在某个位置,并通过串口监视器或 Wi-Fi 报告最终结果。

大家好,今天我将向大家介绍如何利用 ESP32-C3 超迷你微控制器与经典的 CD4017 CMOS 十位计数器组合,制作一个“数字轮盘”。当按钮被按下时,ESP32 向 CD4017 集成电路发送“时钟脉冲”,使 LED 灯依次闪烁。松开按钮后,系统会模拟减速效果,直到随机停在某个位置,并通过串口监视器或 Wi-Fi 报告最终结果。

所需元件

电路图

本项目的接线非常简单!* 将 ESP32 的引脚 8 连接到 IC#1 的复位引脚(引脚 15)* 将 ESP32 的引脚 10 连接到 IC#1 的时钟引脚(引脚 14)* 将 ESP32 的引脚 9 连接到带上拉电阻的按钮开关 * 将 ESP32 的引脚 0 连接到带限流电阻的 Wi-Fi 指示 LED。其余接线请参考屏幕上的电路图。

为了更方便,我已为您设计了一块定制 PCB。

核心功能

我最初使用555定时器IC和几个CD4017 CMOS十进制计数器来制作这个LED轮盘项目。555定时器作为时钟振荡器,产生一个信号驱动CD4017十进制计数器。IC555的引脚3输出信号被输入到IC4017的引脚14。每当IC4017接收到一个脉冲时,就会增加计数,并激活下一个输出引脚(Q0至Q9),从而形成LED的位移效果。

这种初始设计的主要缺点是,我必须手动处理计数操作。我希望实现一个系统,能够自动累加数字,并由系统自身决定获胜者。我的目标并不是制作一个赌博轮盘,而是打造一款简单的轮盘游戏,可以与儿子一起愉快地玩耍。为实现这一目标,ESP32-C3超级迷你板成了理想选择。它体积小巧,并内置Wi-Fi功能。

因此,我放弃了使用555定时器IC,转而采用ESP32-C3板来为其中一个CD4017 IC生成“时钟脉冲”。按下按钮时,脉冲会越来越快。灯光在圆圈中快速旋转,营造出“旋转”的感觉。当按钮被释放后,旋转并不会立即停止,而是逐渐增加脉冲之间的间隔时间,使灯光逐步减速——就像一个真实车轮慢慢滑行到停止一样。一旦速度足够慢,灯就会完全停下,并通过串口监视器或Wi-Fi报告最终的LED位置。随后,结果会被保存到MySQL数据库中,并通过PHP进行可视化显示。

代码

现在我们来看看整个系统运行背后的逻辑。如前所述,该系统依赖于多种组件,包括Arduino代码、PHP、MySQL数据库等。我的GitHub仓库包含两个版本的代码:一个带有服务器版本,另一个不带服务器版本。如果你不需要将结果保存到服务器上,只需将“Code_No_Wi-Fi”上传到你的ESP32板即可。但本教程中,我将演示整个系统的完整功能。接下来,让我们逐一查看这些代码。

在Arduino代码中,你需要输入网络的SSID和密码,并设置服务器IP和URL,使其与你的PHP文件所在目录相匹配。除非你想为现有功能添加新特性,否则无需修改代码的其他部分。当启动轮盘时,ESP32会先尝试通过Wi-Fi连接到服务器。一旦连接建立,玩家即可开始游戏。按下按钮会通过减少延迟来加快LED序列的运行速度,而松开按钮则会增加延迟以减慢速度,直到达到停止阈值为止。这会在序列完全停止前产生一种自然的自由滚动效果。一旦LED轮停止转动,ESP32-C3便会将获胜位置发送至远程服务器。只要玩家继续游戏,这一过程就会持续进行。

除了代码外,我还附带了一个名为“MySQL_DB.sql”的文件,需要导入到你的MySQL服务器中。操作方法是:打开phpMyAdmin,进入“导入”选项卡,点击“选择文件”按钮,然后选择“MySQL_DB.sql”文件,最后点击“执行”按钮完成表的导入。要验证导入是否成功,请点击表格名称,检查表格结构是否正确显示。

设置Web服务器时,我们需要对从我的GitHub仓库下载的PHP文件进行一些修改。打开“Connection.php”文件,并更新其中的主机名、用户名、密码和数据库名称。然后将这些文件拖放到Web服务器上的某个目录中。为确认一切正常运行,请在浏览器中打开“Player_Results_Display.php”文件,检查排行榜是否正确显示。

面包板演示

硬件逻辑已准备就绪且服务器设置完成之后,我们可以立即在面包板上进行快速测试,以验证系统的功能。现在按下按钮,查看串行监视器是否能记录按键操作。如图所示,串行监视器会显示HTTP 200状态码,表明与服务器通信成功。在排行榜页面,我们可以确认服务器已记录到按键事件。网页每5秒自动刷新一次,实时显示两名玩家的最新得分。页面包含“玩家1”和“玩家2”的并排比分表,显示每位玩家的实时得分、胜场、负场、平局以及总比赛场次。点击“新游戏”按钮后,页面将重置,并根据当前比分更新玩家的胜场、负场或平局次数。

3D打印

我使用Microsoft 3D Builder设计了该项目的3D模型。该设计由三部分组成:

- 上部结构,用于安装所有LED灯;

- 下部结构,包含所有电子元件;

- 一个小型模块,内含蓝色Wi-Fi指示LED、电池充电模块、SPDT开关(常开/常闭),以及天线电缆和按钮开关的安装孔。

我在Bambu Studio中对模型进行切片,并使用我的新款Bambu A1 3D打印机打印出来。对于追求超精细工业级3D打印效果的用户,我建议从PCBWay.com下载STL文件进行打印。

最后,我使用亚克力颜料为项目主体进行上色,金色表面处理显著提升了整体外观质感。待油漆干燥后,我将所有LED灯安装到上部结构中,并以“每十对一组”的方式将它们的负极连接在一起。

焊接

现在,我们开始组装所有电子元件。首先,花点时间检查一下制作好的PCB质量。我已经使用PCBWay将近六年了,非常满意他们提供的最终成品。我们先将所有电阻焊接到电路板上,然后是所有晶体管。由于我特别重视IC和微控制器的处理,因此从不直接将它们焊接到电路板上。对于IC,我总是使用IC底座,如果无法找到底座,就使用母头排针。这样可以避免直接焊接,便于更换。我逐一将所有元件焊接到了PCB上。

为了给电路板供电,我们需要集成充电模块以及一些附加组件。我首先安装了SPDT开关,然后连接蓝色的Wi-Fi指示LED灯。接着,我用强力胶将世界上最小的电池充电模块粘贴到基板上,并用这个小型白色块固定。最后,根据屏幕上的电路图,将充电指示灯按要求粘贴到位。

剩下的两个孔位用于安装天线和按钮开关。最终,当所有元件都安装完毕后,我将塑料块粘入底座底部的凹槽中。这是完成所有电线焊接、连接LED灯后的电路板外观。对于第1至第10个LED,请使用公共地GND2;对于第11至第20个LED,则使用公共地GND1。

在将LED灯焊接到电路板时,请务必按照正确的顺序进行焊接,以避免物理LED编号与代码发送给服务器的内容不匹配。请遵循屏幕上的说明确定正确顺序。如果意外错误焊接了LED,可以在Arduino代码中修改数组来适应这一变化。在我的设置中,所有设备均使用3.7V可充电电池供电。不过,如果你愿意,也可以将一个220V转5V的降压转换器或USB数据线焊接到电路板上的+5V和-VE接口上。

一切准备就绪后,剩下的就是将底部部件粘贴到顶部部件上。就这么简单。

最终演示

硬件设置完成后,就可以开始玩乐了!打开设备,等待蓝色LED灯亮起。当灯亮起时,表示已成功连接到服务器的Wi-Fi网络。按下按钮即可启动LED闪烁效果。你的得分可以在任何连接到同一网络的设备(电脑或手机)上查看。

简而言之,这个装置通过为动作增加“惯性”,将一个简单的按钮与LED系统变成了触手可及的真实感游戏体验。

本文编译自hackster.io

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

我有一台小巧的DFRobot Beetle ESP32-C3,还有一串8颗LED的WS2812环形灯,一直放在抽屉里。我想做一个小巧、常亮的桌面灯,能通过手机随时重新上色和播放动画,无需每次安装应用或打开Arduino...

关键字: Wi-Fi RGB LED ESP32-C3

想象一下,手中握着一个像扑克牌大小的设备,它能显示附近所有WiFi网络——信号强度、安全等级,甚至所使用的信道。听起来像是科技魔法,对吧?其实这非常简单!

关键字: Wi-Fi ESP32-S3 微控制器

Tab5-ADB 是一款固件,可将 M5Stack Tab5 转换为独立的 ADB 主机和安卓远程控制台。它通过 USB 或 TCP/IP 与安卓设备连接,让您无需电脑即可实现屏幕镜像、触控操作、查看设备信息、运行 sh...

关键字: USB Wi-Fi M5Stack Tab5

M5Stack 推出的 M5 Paper S3 是一款功能多样且实用的设备,非常适合打造各类信息显示项目。凭借其大尺寸的电子纸屏幕和 WiFi 连接功能,它可作为数据展示面板,从不同来源获取并显示信息。

关键字: 电子纸 Wi-Fi M5Stack

该项目是一个基于Arduino Uno和ESP-01(ESP8266)的WiFi连接温度监测器。它可读取温度和湿度,当温度超过25°C时会发出间歇性蜂鸣报警,并提供一个实时网页仪表盘,您可以通过网络中的任意浏览器访问该页...

关键字: Wi-Fi 仪表盘 Arduino ESP-01

中国北京,澳大利亚悉尼——2026年8月4日——全球领先的Wi-Fi HaLow芯片供应商摩尔斯微电子,今日宣布搭载摩尔斯微电子MM8108系统级芯片(SoC)的移远通信(Quectel)FGH200M模组,已通过FCC...

关键字: SoC Wi-Fi 物联网

ESP32-DIV 最初是一个个人工具,是我为了解决一个设备同时支持 WiFi、蓝牙、Sub-GHz、红外线、RFID 和 GPS 的需求而开发的。ESP32-DIV 是一款基于 ESP32-S3 构建的开源多频段无线工...

关键字: Wi-Fi 蓝牙 Sub-GHz ESP32-S3

定制的3D打印支架可牢固地将设备固定在杠铃上。训练过程中,系统会分析运动模式,以减少误计,并实时显示重复次数。M5Stack Core2还内置Wi-Fi,为未来基于云端的健身数据管理奠定了基础。

关键字: 加速度计 陀螺仪 Wi-Fi M5Stack Core2

如果一辆遥控车翻个面,就能呈现出两种截然不同的外观,而操控它的控制器也同样生动有力,那会怎样?这就是《双面》(Two-Faced)的核心理念:这是一辆四轮驱动、支持WiFi控制的遥控车,其两个底盘侧面采用完全不同的涂装设...

关键字: 电机驱动器 Wi-Fi 锂离子电池 ESP8266

Arduino UNO R4 WiFi 是 Arduino UNO 系列的重大升级,集成了瑞萨(Renesas)RA4M1 32位 ARM Cortex-M4 微控制器,并内置 ESP32-S3 Wi-Fi 和蓝牙连接功...

关键字: LED 矩阵 微控制器 Wi-Fi Arduino UNO R4
关闭