亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

Arduino - 基于网络的赛车积木游戏

组件和用品

Arduino UNO
× 1
适用于 Arduino 的 PHPoC 扩展板
您也可以使用 PHPoC Shield 或 PHPoC WiFi Shield
× 1
USB Wifi 加密狗
您应该使用配备Ralink RT3070或RT5370芯片组的USB WIFI加密狗,并连接到PHPoC Shield。或者您只需将以太网电缆连接到 PHPoC Shield 上的以太网端口,而无需使用 USB WiFi 加密狗。
× 1
旋转角度传感器
× 1

关于这个项目

演示

这款经典游戏可能会让我们中的一些人感到童年的怀旧。游戏玩法很简单,尽量避免撞到对手的汽车,尽可能多地得分。汽车可以在5个车道之间切换,有15种不同的速度。随着速度的增加,对手的汽车会跑得更快,从而使游戏变得更加困难。

接线

  • 在 Arduino 上堆叠 PHPoC 扩展板。
  • 将旋转角度传感器的GND、VCC和SIG引脚分别连接到Arduino的GND、5V和A0。

数据流

Arduino ---> PHPoC Shield ---> 网络浏览器

用户与旋转角度传感器交互。旋转角度传感器的输入信号值用于切换小车的位置。

Arduino 从旋转角度传感器读取值。输入 ADC 值分为 5 个不同的级别。在级别之间切换意味着改变车道。简单地说,如果输入信号切换到另一个电平,Arduino 会将更新后的电平发送到 PHPoC Shield。

PHPoC WiFi Shield 收到该值后,通过 Websocket 将其发送到 Web 浏览器。然后,JavaScript 函数将更新汽车的位置(车道)。 JavaScript 程序会不断更新对手的位置和游戏速度。

要做的事情

  • 为 PHPoC shield 设置 WiFi 连接(SSID 和密码)
  • 将新 UI 上传到 PHPoC shield
  • 上传 Arduino 代码

为 PHPoC Shield 设置 WiFi 连接

请参阅此说明。

将新的 Web 用户界面上传到 PHPoC Shield

  • 下载 PHPoC 源代码 remote_racing_game.php。
  • 根据此说明使用 PHPoC 调试器将其上传到 PHPoC shield。

上传 Arduino 代码

  • 为 Arduino 安装 PHPoC 库(参见说明)。
  • 将 Arduino 代码上传到 Arduino

最后

  • 单击 Arduino IDE 上的串行按钮以获取 IP 地址。
  • 打开网页浏览器,输入http:// relace_ip_address_here /remote_racing_game.php
  • 点击连接按钮并享受游戏。

详细了解 Arduino 中的电位器 - 电位器教程

函数参考

  • pinMode()
  • analogRead()
  • digitalWrite()
  • Serial.begin()
  • Serial.println()
  • for 循环
  • while 循环
  • 否则
  • 循环()
  • 设置()

代码

  • Arduino 代码
  • remote_racing_game.php
Arduino 代码Arduino
#include "SPI.h"#include "Phpoc.h"PhpocServer server(80);int adcPin =A0;浮动adcVal =0; // 用于存储来自sensorint lastPos =-1 的值的变量;浮动 adcMin =512-2.5*100;无效设置(){ Serial.begin(9600);而(!串行); Phpoc.begin(PF_LOG_SPI | PF_LOG_NET); server.beginWebSocket("游戏"); Serial.print("WebSocket 服务器地址:"); Serial.println(Phpoc.localIP()); }void loop() { // 当客户端发送第一个字节时,说你好: PhpocClient client =server.available();如果(客户端){ adcVal =0; for(int i =0; i <50; i++) adcVal +=analogRead(adcPin); adcVal /=50; int pos =(int)((adcVal-adcMin) / 100);如果 (pos<0){ pos =0; } else if (pos>4) pos =4; if(lastPos !=pos){ String txtMsg =String(pos) + "\r\n"; char buf[txtMsg.length()]; txtMsg.toCharArray(buf, txtMsg.length()); server.write(buf, txtMsg.length()); Serial.println(txtMsg); lastPos =pos;延迟微秒(50); } } }
remote_racing_game.phpPHP
PHPoC Shield 代码
Arduino - 基于网络的游戏

Arduino - 赛车
积木游戏

WebSocket :null


制造工艺

  1. Web 操作的 DMX 控制器
  2. Arduino Pong Game - OLED 显示器
  3. Arduino Spybot
  4. Arduino 游戏控制器
  5. Arduino Touch Breakout 游戏
  6. 操纵杆控制的遥控车
  7. Arduino - 基于网络的 MP3 播放器
  8. 像素追逐游戏
  9. Arduino - Web 模式解锁
  10. 使用 arduino 的自动化恐龙游戏
  11. 遥控保时捷汽车(Arduino 项目)
  12. LED 轮盘游戏