산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

Arduino - 웹 기반 자동차 경주 브릭 게임

구성품 및 소모품

Arduino UNO
× 1
Arduino용 PHPoC 실드
PHPoC Shield 또는 PHPoC WiFi Shield도 사용할 수 있습니다.
× 1
USB Wi-Fi 동글
Ralink RT3070 또는 RT5370 칩셋이 탑재된 USB WIFI 동글을 사용하고 PHPoC Shield에 연결해야 합니다. 또는 이더넷 케이블을 PHPoC 쉴드의 이더넷 포트에 연결하기만 하면 USB WiFi 동글을 사용할 필요가 없습니다.
× 1
회전 각도 센서
× 1

이 프로젝트 정보

데모

이 고전 게임은 우리 중 일부에게 어린 시절의 향수를 느끼게 할 수 있습니다. 게임 플레이는 간단합니다. 상대 차량을 치지 않도록 하고 가능한 한 많은 점수를 얻으십시오. 차량은 5개 차선 사이를 전환할 수 있으며 15가지 속도가 있습니다. 속도가 증가할수록 상대 차량이 더 빨리 달리게 되어 게임이 더 어려워집니다.

배선

<울>
  • 아두이노에 PHPoC 실드 스택
  • 회전각 센서의 GND, VCC, SIG 핀을 Arduino의 GND, 5V, A0에 각각 연결합니다.
  • 데이터 흐름

    Arduino ---> PHPoC Shield ---> 웹 브라우저

    사용자가 회전 각도 센서와 상호 작용합니다. 회전 각도 센서의 입력 신호 값은 차량의 위치를 ​​전환하는 데 사용됩니다.

    Arduino는 회전 각도 센서에서 값을 읽습니다. 입력 ADC 값은 5가지 레벨로 나뉩니다. 레벨 간 전환은 차선 변경을 의미합니다. 간단히 말해서 입력 신호가 다른 레벨로 전환되면 Arduino는 업데이트된 레벨을 PHPoC Shield로 보냅니다.

    PHPoC WiFi Shield는 값을 받으면 Websocket을 통해 Web Browser로 보냅니다. 그러면 JavaScript 함수가 자동차의 위치(차선)를 업데이트합니다. JavaScript 프로그램은 지속적으로 상대방의 위치와 게임 속도를 업데이트합니다.

    해야 할 일

    <울>
  • PHPoC 쉴드용 WiFi 연결 설정(SSID 및 비밀번호)
  • PHPoC 쉴드에 새로운 UI 업로드
  • Arduino 코드 업로드
  • PHPoC Shield용 WiFi 연결 설정

    이 지침을 참조하십시오.

    새로운 웹 사용자 인터페이스를 PHPoC Shield에 업로드

    <울>
  • PHPoC 소스 코드 remote_racing_game.php를 다운로드합니다.
  • 이 지침에 따라 PHPoC 디버거를 사용하여 PHPoC 쉴드에 업로드합니다.
  • Arduino 코드 업로드

    <울>
  • Arduino용 PHPoC 라이브러리를 설치합니다(지침 참조).
  • Arduino에 Arduino 코드 업로드
  • 그리고 마지막으로

    <울>
  • Arduino IDE에서 시리얼 버튼을 클릭하면 IP 주소를 얻을 수 있습니다.
  • 웹 브라우저를 열고 http://를 입력합니다. rerace_ip_address_here /remote_racing_game.php
  • 연결 버튼을 클릭하고 게임을 즐겨보세요.
  • Arduino의 전위차계에 대해 자세히 알아보기 - 전위차계 자습서

    함수 참조

    <울>
  • 핀 모드()
  • analogRead()
  • 디지털 쓰기()
  • Serial.begin()
  • Serial.println()
  • for 루프
  • while 루프
  • 다른 경우
  • 루프()
  • 설정()
  • <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

    코드

    <울>
  • Arduino 코드
  • remote_racing_game.php
  • Arduino 코드Arduino
    #include "SPI.h#include "Phpoc.h"PhpocServer 서버(80);int adcPin =A0; 부동 adcVal =0; // sensorint에서 오는 값을 저장할 변수 lastPos =-1; float adcMin =512-2.5*100; 무효 setup() { Serial.begin(9600); 동안(! 직렬); Phpoc.begin(PF_LOG_SPI | PF_LOG_NET); server.beginWebSocket("게임"); Serial.print("웹소켓 서버 주소 :"); Serial.println(Phpoc.localIP()); }void loop() { // 클라이언트가 첫 번째 바이트를 보낼 때 인사합니다. PhpocClient client =server.available(); if (클라이언트) { adcVal =0; for(int i =0, i <50, i++) adcVal +=analogRead(adcPin); adVal /=50; 정수 위치 =(int)((adcVal-adcMin) / 100); if (pos<0){ pos =0; } else if (pos>4) pos =4; if(lastPos !=pos){ 문자열 txtMsg =문자열(pos) + "\r\n"; 문자 버퍼[txtMsg.length()]; txtMsg.toCharArray(buf, txtMsg.length()); server.write(buf, txtMsg.length()); Serial.println(txtMsg); 마지막 위치 =위치; 지연마이크로초(50); } } }
    remote_racing_game.phpPHP
    PHPoC Shield 코드
    Arduino - 웹 기반 게임

    Arduino - 자동차 경주
    브릭 게임

    웹소켓:null


    제조공정

    1. 웹 운영 DMX 컨트롤러
    2. Arduino Pong 게임 - OLED 디스플레이
    3. Arduino 스파이봇
    4. Arduino 게임 컨트롤러
    5. Arduino 터치 브레이크아웃 게임
    6. 조이스틱 제어 RC 자동차
    7. Arduino - 웹 기반 MP3 플레이어
    8. 픽셀 체이서 게임
    9. Arduino - 웹 패턴 잠금 해제
    10. arduino를 사용한 자동화된 Dino 게임