基于Arduino 在WS2812 Led 灯条上做一个拔河游戏
本帖最后由 神经翻译局 于 2025-3-27 15:48 编辑这是一个有趣且简单的两人Arduino游戏,可以在不到一天的时间内制作完成。
拔河是一个经典的团队游戏,两个对立的团队竞争拉动绳子的方向。目标是将对方团队拉过位于绳子中心的某个标记(通常是一条线或一个旗帜)。
https://dfimg.dfrobot.com/61deb84baa9508d63a41a133/community/429d44f1e8adc3fabc7d2656622c6d7e.jpg
这次我将描述如何为两名玩家制作这个游戏的Arduino版本。实际上,位玩家代表一个团队,并拥有自己的颜色。感谢带有可编程RGB LED的LED灯条和内置WS 2812芯片,我们可以非常简单地制作这个游戏。
要制作这个游戏,我们只需要几个组件:
- Arduino Nano 微控制器板
- 带有60个内置WS2812芯片的RGB led的LED灯条
- 四个按钮
- NPN晶体管
- 两个10K电位器
- 两个电阻
- 和蜂鸣器
这个项目由Altium 365赞助。Altium 365是一个为电子设计和工程设计的云平台。它提供了一套PCB设计工具,包括设备管理、供应链、库管理、ECAD连接、共同设计和集成以及制造门户网站。
https://dfimg.dfrobot.com/61deb84baa9508d63a41a133/community/619fd292075126974ac0ed9617e37782.jpg
实际上,我正在使用我以前的一个项目的盒子,那个项目使用了4个按钮和两个电位器,所以我使用了相同的硬件配置,这个游戏甚至得到了更多的功能,变得更加有趣。在开始游戏之前,让我解释所有的功能和如何玩。开启游戏后,灯条中间的两个LED激活,两次是红色,第三次是品红色,表示游戏开始。这部分伴随着适当的声音。然后,在这两个LED的两侧,其余的LED以每个玩家的特征颜色亮起,这里是蓝色代表Player1,黄色代表Player2。
从两边看,起始的二极管是品红色的,这是我们必须将对手拉到的极限。每个玩家的移动由不同频率的蜂鸣声表示。中间的两个红色LED实际上是显示玩家当前位置的旗帜。当这个旗帜到达其中一个品红色的LED时,就会为那个玩家宣布胜利,所有的LED都会亮起并以获胜者的颜色闪烁三次,当然也会发出适当的声音。
游戏结束后,几秒钟后会以我之前解释的方式开始新的游戏。两个主按钮用来拉绳,拉力与按这些按钮的速度成比例。按得越快的玩家就会将旗帜拉向他的一边。第二个BOOST按钮,顾名思义,用来以双倍的力量拉绳,这些按钮在一个特定的游戏中只能使用一次。使用BOOST按钮会通过玩家对应一侧的品红色LED短暂闪烁来表示。
https://dfimg.dfrobot.com/61deb84baa9508d63a41a133/community/3af40f91a364f8322539652258adde23.jpg
因此,我们需要仔细考虑在什么时候使用这些按钮,这也给游戏增添了一种策略性成分。在测试游戏时,我注意到,如果两个玩家的打字速度大致相同,游戏会持续很长时间并且变得无聊。为了避免这个情况,我使用了第一个电位器来调节绳的移动速度,连续5步。下面是在最低和最高拉力速度下的移动样子。我使用第二个电位器来调节LED灯的亮度,这实际上是一个非常有用的选项,允许设备适应在不同条件下的操作,例如,白天和夜晚。
如您所见,Arduino的代码可能没有完全优化,但它相对易懂,因此您可以根据自己的想法轻松对其进行修改,尤其是在改变颜色、声音和速度方面。
https://dfimg.dfrobot.com/61deb84baa9508d63a41a133/community/33b9abc6e2f334b2c984c4ef4af617f0.jpg
现在我将向您展示游戏玩法,注意我将代表两个玩家,而在真实的游戏中,不同的玩家,游戏玩法要更有趣,甚至上瘾。
https://dfimg.dfrobot.com/61deb84baa9508d63a41a133/community/922373fac7778de9d4855559bfad63c8.jpg
最后的简短结论。这是一个有趣的,简单易做的Arduino游戏,可以在不到一天的时间内完成。这种简单性是由于LED条由60个带有内置芯片的特殊LED组成,所以在任何时候我们都可以通过Adafruit_NeoPixel库完全控制每个LED。该设备被嵌入到由PVC材料制成的合适的盒子中,并覆盖了彩色的自粘墙纸。电源是5V,最小电流为1A。
https://dfimg.dfrobot.com/61deb84baa9508d63a41a133/community/917e8074ab5c7907c0434bab464a6fc5.jpg
页:
[1]