Arduino - Jogo para dois jogadores baseado na web
Componentes e suprimentos
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
| × | 4 | ||||
![]() |
| × | 1 | |||
| × | 1 | ||||
| × | 1 |
Sobre este projeto
Se você é um iniciante, pode aprender sobre o botão em Arduino - Tutorial de botões.
Fiz um projeto semelhante usando um hardware mais simples (apenas PHPoC) aqui.
Demonstração
Fluxo de dados
Arduino ---> PHPoC WiFi Shield ---> Navegador da Web
Há duas pessoas jogando. cada pessoa usa dois botões para controlar a direção dos goleiros. Portanto, precisamos de quatro botões.
O Arduino lê os estados de quatro botões. Se algum deles for alterado, o Arduino irá recalcular a direção do movimento do goleiro e enviar os valores de direção para PHPoC WiFi Shield. Ao receber os valores, o PHPoC WiFi Shield envia para o Web Browser via websocket. A função JavaScript atualizará a direção do movimento dos goleiros.
O programa JavaScript atualiza continuamente a posição da bola, goleiros e obstáculos com base em sua direção e também verifica a colisão.
A direção dos goleiros é alterada com base no estado dos botões.
Observe que: O escudo PHPoC tem um programa embutido para passar dados do Arduino para o navegador da web. Portanto, não precisamos nos preocupar com isso.
O que precisamos fazer
- Definir informações de WiFi para escudo PHPoC (SSID e senha)
- Carregue uma nova IU para o escudo PHPoC
- Escreva o código do Arduino
Definindo informações de WiFi para PHPoC Shield
Veja esta instrução.
Carregar nova IU da web para PHPoC Shield
- Baixe o código-fonte do PHPoC remote_game.php (na seção de código).
- Faça o upload para o escudo PHPoC usando o depurador PHPoC de acordo com esta instrução.
Ao receber uma solicitação HTTP do navegador da web, o PHPoC Shield interpreta o script PHP neste arquivo e, em seguida, envia o arquivo interpretado para o navegador da web. O arquivo interpretado (contém código HTML, CSS e JavaScript) fornece IU (Interface do Usuário), atualiza a posição da bola, goleiros e obstáculos com base em sua direção e também verifica a colisão. Ele também recebe a direção de movimento dos goleiros do websocket.
Escreva o código do Arduino
- Instale a biblioteca PHPoC para Arduino (consulte as instruções).
- Carregue o código do Arduino (na seção de código) para o Arduino
Teste
- Clique no botão serial no Arduino IDE para ver o endereço IP.
- Abra o navegador da web, digite
http://
replace_ip_address
/remote_game.php
- Clique no botão conectar e teste-o
O melhor Arduino Starter Kit para iniciantes
Veja o melhor kit Arduino para iniciantes
Referências de função
- pinMode ()
- digitalRead ()
- Serial.begin ()
- Serial.print ()
- Serial.println ()
Código
- Código Arduino
- Código PHPoC Shield (remote_game.php)
Código Arduino Arduino
#include "SPI.h" #include "Phpoc.h" Servidor PhpocServer (80); booleano jáConnected =false; void setup () {Serial.begin (9600); while (! Serial); Phpoc.begin (PF_LOG_SPI | PF_LOG_NET); server.beginWebSocket ("jogo"); Serial.print ("endereço do servidor WebSocket:"); Serial.println (Phpoc.localIP ()); pinMode (6, INPUT); pinMode (7, INPUT); pinMode (8, INPUT); pinMode (9, INPUT); } valor int_6 =leitura digital (6); valor int_7 =leitura digital (7); valor int_8 =leitura digital (8); valor int_9 =leitura digital (9); int pre_dir_1 =0; int pre_dir_2 =0; int dir_1 =0; int dir_2 =0; void loop () {// quando o cliente enviar o primeiro byte, diga olá:PhpocClient client =server.available (); if (cliente) {value_6 =digitalRead (6); valor_7 =digitalRead (7); valor_8 =digitalRead (8); valor_9 =digitalRead (9); dir_1 =valor_7 - valor_6; dir_2 =valor_9 - valor_8; if (dir_1! =pre_dir_1 || dir_2! =pre_dir_2) {pre_dir_1 =dir_1; pre_dir_2 =dir_2; String txtMsg ="[" + String (dir_1) + "," + String (dir_2) + "] \ r \ n"; char buf [txtMsg.length () + 1]; txtMsg.toCharArray (buf, txtMsg.length () + 1); server.write (buf, txtMsg.length ()); }}}
Código PHPoC Shield (remote_game.php) PHP
PHPoC - Jogo
PHPoC - Jogo baseado na web
WebSocket: null
Esquemas
1. Empilhar escudo wi-fi PHPoC ou escudo PHPoC no Arduino2. Fiação como a imagem abaixo

Processo de manufatura
- Xadrez
- Jogo Arduino Gyroscope com MPU-6050
- Jogo Arduino Pong - Tela OLED
- Controlador de jogo Arduino
- Jogo Arduino Pong em Matriz 24x16 com MAX7219
- Jogo Arduino Touch Breakout
- Jogo de Operação Gigante Animatronics Lego Minfig
- Arduino - MP3 Player baseado na web
- Jogo Pixel Chaser
- Jogo Dino automatizado usando arduino