工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

Arduino-Webベースのカーレースブリックゲーム

コンポーネントと消耗品

>
Arduino UNO
× 1
Arduino用PHPoCシールド
PHPoCShieldまたはPHPoCWiFiShieldも使用できます
× 1
USBWifiドングル
RalinkRT3070またはRT5370チップセットを搭載したUSBWIFIドングルを使用し、PHPoCシールドに接続する必要があります。または、イーサネットケーブルをPHPoCシールドのイーサネットポートに接続するだけで、USBWiFiドングルを使用する必要はありません。
× 1
回転角度センサー
× 1

このプロジェクトについて

デモ

この古典的なゲームは、私たちの何人かが子供の頃の懐かしさを感じるかもしれません。ゲームプレイはシンプルです。対戦相手の車にぶつからないようにして、できるだけ多くのスコアを獲得してください。車は5車線を切り替えることができ、15の異なる速度があります。速度が上がると、対戦相手の車の速度が速くなり、ゲームが難しくなります。

配線

  • ArduinoにPHPoCシールドをスタックします。
  • 回転角度センサーのGND、VCC、およびSIGピンをそれぞれArduinoのGND、5V、およびA0に接続します。
<図>

データフロー

Arduino ---> PHPoC Shield ---> Webブラウザ

ユーザーは回転角度センサーを操作します。回転角度センサーの入力信号値は、車の位置を切り替えるために使用されます。

Arduinoは回転角度センサーから値を読み取ります。入力ADC値は5つの異なるレベルに分けられます。レベルを切り替えることは、車線を変更することを意味します。簡単に言うと、入力信号が別のレベルに切り替わると、Arduinoは更新されたレベルをPHPoCシールドに送信します。

値を受け取ると、PHPoC WiFiShieldはそれをWebsocket経由でWebブラウザーに送信します。次に、JavaScript関数が車の位置(車線)を更新します。 JavaScriptプログラムは、対戦相手の位置とゲーム速度も継続的に更新します。

やるべきこと

  • PHPoCシールド(SSIDとパスワード)のWiFi接続を設定します
  • 新しいUIをPHPoCシールドにアップロードする
  • Arduinoコードをアップロードする

PHPoCシールドのWiFi接続を設定する

この手順を参照してください。

新しいWebユーザーインターフェイスをPHPoCシールドにアップロードする

  • PHPoCソースコードremote_racing_game.phpをダウンロードします。
  • この手順に従って、PHPoCデバッガーを使用してPHPoCシールドにアップロードします。

Arduinoコードをアップロード

  • Arduino用のPHPoCライブラリをインストールします(手順を参照)。
  • ArduinoコードをArduinoにアップロードする

そして最後に

  • ArduinoIDEのシリアルボタンをクリックしてIPアドレスを取得します。
  • Webブラウザを開き、 http:// と入力します relace_ip_address_here /remote_racing_game.php
  • 接続ボタンをクリックしてゲームを楽しんでください。

Arduinoのポテンショメータの詳細-ポテンショメータチュートリアル

関数リファレンス

  • pinMode()
  • analogRead()
  • digitalWrite()
  • Serial.begin()
  • Serial.println()
  • forループ
  • whileループ
  • その他の場合
  • loop()
  • setup()

コード

  • Arduinoコード
  • remote_racing_game.php
Arduinoコード Arduino
 #include "SPI.h" #include "Phpoc.h" PhpocServer server(80); int adcPin =A0; float adcVal =0; // ensorintからの値を格納する変数lastPos =-1; float adcMin =512-2.5 * 100; void setup(){Serial.begin(9600); while(!Serial); Phpoc.begin(PF_LOG_SPI | PF_LOG_NET); server.beginWebSocket( "game"); Serial.print( "WebSocketサーバーアドレス:"); Serial.println(Phpoc.localIP()); } void loop(){//クライアントが最初のバイトを送信するとき、たとえばhello:PhpocClient client =server.available(); if(client){adcVal =0; for(int i =0; i <50; i ++)adcVal + =analogRead(adcPin); adcVal / =50; int pos =(int)((adcVal-adcMin)/ 100); if(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; delayMicroseconds(50); }}} 
remote_racing_game.php PHP
PHPoCシールドコード
 <!DOCTYPEhtml>    Arduino-Webベースのゲーム      

Arduino-カーレース
ブリックゲーム

WebSocket: null


製造プロセス

  1. Web操作のDMXコントローラー
  2. ArduinoPongゲーム-OLEDディスプレイ
  3. Arduino Spybot
  4. Arduinoゲームコントローラー
  5. Arduinoタッチブレイクアウトゲーム
  6. ジョイスティック制御のRCカー
  7. Arduino-WebベースのMP3プレーヤー
  8. ピクセルチェイサーゲーム
  9. Arduino-Webパターンのロックを解除
  10. arduinoを使用した自動恐竜ゲーム
  11. RCポルシェカー(Arduinoプロジェクト)