[Gamer Assist]使用ESP8266游戏的触觉反馈系统

2,414

12.

2

简介:[游戏机辅助]使用ESP8266的游戏触觉反馈系统

关于:电气工程师和一个编程爱好者!我喜欢建造令人兴奋的东西!

因此,在此视频中,我们将看到如何构建这种触觉反馈设备和环境光系统,这些设备对PC游戏内的玩家的健康价值作出反应!因为我们将使用ESP-Now协议,我们在上一个视频中学到了哪些协议,并看看如何使用不同的RGB LED和不同的库来驱动它们。最后一点点Python并打开CV以获取游戏的数据。

补给品:

这些是可以帮助您轻松完成此项目的产品列表
(联盟链接)

第1步:Python游戏玩家协助应用程序

这是我越来越多的最不受动力的项目之一,最初我一旦看到这段视频由Youtuber Michael Reeves看到这段视频,“当我在Fortnite拍摄时,机器人射击了我”。它有我所爱的一切,从电子产品,编码和被枪射击。但我不知道发生了什么,永远完成了什么。

相信我,如果没有这种情况,整个项目就是不可能的。因为这是从游戏中读取数据并将其发送到微控制器的应用程序。但我希望它是优雅的,并希望扩展Michael Reeves所做的功能。而......那就是我敲打墙壁的旅程的地方。获得这个工作阶段非常充分的密集。

第2步:游戏玩家协助工作

让我向您展示当前的进展,以便您知道我在说什么。要运行此操作,您需要一个配置CSV文件,该文件将包含游戏中的健康栏的位置以及用于处理数据的其他信息。因此,第一步是创建配置文件。

由于该程序是Gui友好,您可以为任何游戏执行此操作,就像一个例子让我向您展示如何为游戏Apex传说设置此应用程序。首先拍摄游戏的屏幕截图,当游戏处于全屏模式时,健康值清晰可见,并使用快捷方式ALT + TAB进入Python应用程序,然后单击“编辑配置”。(在选择期间,确保屏幕截图处于全屏模式)绘制围绕健康值的矩形。然后单击抓取。在“编辑器”窗口中,您可以调整这些滑块并检查结果,直到您在输出部分上获取运行状况值。

一旦完成了。保存文件。请记住,这只是一个你可能需要为每场比赛做的一次性进程。

现在我们可以返回主页并上传配置文件。

刚刚点击开始按钮,它应该通过串行通信读取屏幕上的数据并将其发送到硬件。

如果您想知道如何安装和运行此Python应用程序。你可以结账GitHub.阅读用户更多详情

第3步:可寻址RGB LED

对不起,如果它已经无聊,我知道大多数人都在这里为电子产品,所以让我们潜入这个话题。

该项目的主要部分是控制RGB LED。有这么多的变种和使用它们的许多方法。但在这个视频中,我们只会专注于可寻址的RGB LED。

与普通LED不同,可以使用一个数据引脚单独通过微控制器单独访问这些LED。如果您吸收了此LED条带,您可以看到LED旁边的IC。这是从单个数据引脚中获取数据并驱动RGB LED的原因。

即使这些可寻址的LED也有许多不同的变体。LED条带我将5个LED驱动到一起,并且无法单独解决它们,而是一次地解决5个LED。即使条带看起来很长,在通过微控制器控制它们时,我们可以将其视为5个单独的LED而不是25个LED,因为条带仅包含5个驱动器IC。但是LED环我组成的16个LED [WS2812],其中IC内部具有集成驱动器,因此我们可以单独解决所有16个LED。

第4步:制造环境光系统

为了测试它,我们将使用Nodemcu,IC 7805,端子块和DC插孔构建一个小型电路。我的LED带材工作在12V电源上,因此DC插孔将通过端子块将其提供给LED条带,而7805调节器将此电压降至5V并将其发送到Nodemcu操作。您还可以使用电路图与ESP12E和AMS1117一起构建此功能。

为了编程这些可寻址的LED,我们可以使用一些图书馆,流行的图书馆是错配的和adafurit_neopixel库。我们将使用带有LED条带的错配库

要测试它们,我们将打开标记的示例草图。以下是要记住的两个重要观点。首先,您需要知道条带使用的LED驱动程序以及条带中的LED数量。在我的情况下,它是GS1903,我有5个。所以我输入IC的值和LED的数量。

然后只是编译并上传代码。你可以看到LED工作很棒!

第5步:使环境光系统无线

让我们立即进行此无线,以便对PC连接的这些LED条没有必要。这是我们使用ESP-NOW协议的地方无线发送数据。

对于代码,请转到我的GitHub repo并下载项目“游戏机辅助”。然后打开文件夹Arduino代码并上传草图Find_Mac_Address。这将为我们需要提供espnow议定书的MAC地址。上传代码后,打开串行监视器并记下Nodemcu的MAC地址,我们将在此视频的后部使用。有一次MAC地址,您可以上传Health_Value_ambize草图,这将根据健康值控制光的颜色。但在上传之前,请确保更改驱动程序IC的名称和根据您拥有的LED条带的LED的数量。在我的情况下,它是GS1903,LED计数为5。

步骤6:测试环境光系统

为了测试它是否工作,我们只需要另一个Nodemcu,可以从Python应用程序接收串行数据,并通过ESP将数据传输到我们的环境光设置。打开文件序列到eSp_now.ino,在此文件中输入我们之前的Nodemcu的MAC地址,然后刚刚编译并上传代码。现在我们可以运行Python应用程序。当您播放游戏时,LED条带应根据游戏内的玩家健康价值从绿色变为红色。

让我也向您展示另一个小型演示,以便更好地了解。

您可以看到图像我设置了Python应用程序以读取记事本数据并通过串行通信发送。如果您观察到终端,您可以看到通过串行通信将数据发送到Nodemcu的数据。

第7步:构建触觉反馈系统

建立这是非常简单的,首先焊接RGB LED环,然后采取适当的PCB尺寸并用它配合环。然后按照电路图和焊接ESP12E,振动电机和驾驶员在前面触觉。然后在PCB背面上焊接一个小升压转换器和TP4056充电电路。最后一个3.3V调节器。Initially I soldered the AMS1117 voltage regulator, but that wasn’t working so well because it had a very steep voltage drop when the LEDs and motors were ON, so instead I used a tps73033 regulator because it worked with a very low voltage drop and supplied enough current to run the esp12E.
由于大小,这一包装的ics acce对焊接相当凌乱,但在一天结束时,这已经完成了这项工作。

Initially for battery I used a 500mah LIPO battery but it couldn’t power everything at once because it could discharge maximum of only 1 amp so I replaced 500mah battery with a 2C 800mah battery, so that it can run longer and supply enough power to the RGB ring as well as the motors.

第8步:编程触觉反馈系统

现在,我们可以将代码上传到ESP12E,我只是通过FTDI模块连接到ESP12E,因为我们在前一个视频中曾经做过。完成连接后,上传查找MAC地址代码。
然后从GPIO-0上拆下接地线并重新启动ESP12E。现在,这应该在串行监视器上输出Mac_Address。一旦您拥有Mac_Address,我们就可以前进并从我的戒指上传戒指代码上传GitHub.回购。要进行整理触感,我将使用这个魔术贴,所以我们可以在玩游戏时穿这一点。

立即打开代码串行到esp,并将MAC地址更改为触觉反馈设备地址,然后将代码上传到Nodemcu以将串行数据转换为ESP。那就是它!你完成了!

步骤9:使用触觉反馈和环境系统

在Python应用程序中打开游戏的配置文件,然后命中开始。(如步骤 - 2所述)

只需在编辑器“窗口中选择选项,您甚至可以尝试具有健康栏而不是健康值的游戏。只需确保在处理图像时看到单个白线即可看到,白线表示剩余健康丢失和健康之间的分离,然后Python应用程序使用此行信息来确定剩余的健康。

第10步:最后的想法!

Python应用程序尚不完美。它对灯光更改颜色以及一些错误需要修复应用程序。如果您希望您可以使用代码修复问题或Paly以查看它是如何工作的(GitHub.)。

如果您想阅读类似的话,这将我们带到了项目的结尾指导,请务必按照我的个人资料以及订阅我的YouTube Channel.对于视频!如果您有任何疑问或建议,我很乐意收到您的来信,只需将它们删除在评论部分。

微控制器比赛

参加了这一点
微控制器比赛

是第一个分享

    建议书

    • 词干比赛

      词干比赛
    • 角色扮演游戏挑战

      角色扮演游戏挑战
    • CNC竞赛

      CNC竞赛

    2评论

    伟大的项目!要向我的伴侣展示这一点 - 他喜欢在我们的办公桌上得到LED照明,喜欢玩APEX和COD。:D.

    0.
    中微子-1

    11天前回复

    这真的很有趣!盖尔你喜欢它!