Arduino - Juego para dos jugadores basado en la web
Componentes y suministros
| × | 1 | ||||
| × | 1 | ||||
| × | 4 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Acerca de este proyecto
Si eres un principiante, puedes aprender sobre el botón en Arduino - Tutorial de botones.
Hice un proyecto similar usando hardware pero más simple (solo PHPoC) aquí.
Demostración
Flujo de datos
Arduino ---> PHPoC WiFi Shield ---> Navegador web
Hay dos personas jugando. cada pueblo usa dos botones para controlar la dirección de los porteros. Por lo tanto, necesitamos cuatro botones.
Arduino lee los estados de cuatro botones. Si se cambia alguno de ellos, Arduino volverá a calcular la dirección de movimiento del portero y enviará los valores de dirección a PHPoC WiFi Shield. Al recibir los valores, PHPoC WiFi Shield lo envía al navegador web a través de websocket. La función de JavaScript actualizará la dirección de movimiento de los porteros.
El programa JavaScript actualizará continuamente la posición de la pelota, los porteros y los obstáculos en función de su dirección y también controlará la colisión.
La dirección de los porteros se cambia según el estado de los botones.
Tenga en cuenta que: PHPoC shield tiene un programa incorporado para pasar datos desde Arduino al navegador web. Por lo tanto, no es necesario que nos preocupemos por ello.
Qué debemos hacer
- Configure la información de WiFi para el escudo PHPoC (SSID y contraseña)
- Sube una nueva interfaz de usuario al escudo PHPoC
- Escriba el código Arduino
Configuración de la información de WiFi para PHPoC Shield
Vea esta instrucción.
Cargar una nueva interfaz de usuario web en PHPoC Shield
- Descargue el código fuente de PHPoC remote_game.php (en la sección de código).
- Súbelo al escudo PHPoC usando el depurador PHPoC de acuerdo con estas instrucciones.
Al recibir una solicitud HTTP del navegador web, PHPoC Shield interpreta el script PHP en este archivo y luego envía el archivo interpretado al navegador web. El archivo interpretado (contiene código HTML, CSS y JavaScript) proporciona una interfaz de usuario (interfaz de usuario), actualiza la posición de la pelota, los porteros y los obstáculos en función de su dirección y también verifica la colisión. También recibe la dirección de movimiento de los porteros de websocket.
Escribir código Arduino
- Instale la biblioteca PHPoC para Arduino (consulte las instrucciones).
- Cargue el código de Arduino (en la sección de código) a Arduino
Probando
- Haga clic en el botón de serie en Arduino IDE para ver la dirección IP.
- Abra el navegador web, escriba
http://
replace_ip_address
/remote_game.php
- Haga clic en el botón Conectar y pruébelo
El mejor kit de inicio de Arduino para principiantes
Vea el mejor kit de Arduino para principiantes
Referencias de funciones
- pinMode ()
- digitalRead ()
- Serial.begin ()
- Serial.print ()
- Serial.println ()
Código
- Código Arduino
- Código de protección de PHPoC (remote_game.php)
Código Arduino Arduino
#incluir "SPI.h" #incluir "Phpoc.h" servidor PhpocServer (80); booleano ya conectado =falso; configuración vacía () {Serial.begin (9600); mientras (! Serial); Phpoc.begin (PF_LOG_SPI | PF_LOG_NET); server.beginWebSocket ("juego"); Serial.print ("Dirección del servidor WebSocket:"); Serial.println (Phpoc.localIP ()); pinMode (6, ENTRADA); pinMode (7, ENTRADA); pinMode (8, ENTRADA); pinMode (9, ENTRADA); } int value_6 =digitalRead (6); int value_7 =digitalRead (7); int value_8 =digitalRead (8); int value_9 =digitalRead (9); int pre_dir_1 =0; int pre_dir_2 =0; int dir_1 =0; int dir_2 =0; void loop () {// cuando el cliente envía el primer byte, saluda:PhpocClient client =server.available (); if (cliente) {value_6 =digitalRead (6); value_7 =digitalRead (7); value_8 =digitalRead (8); value_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; Cadena txtMsg ="[" + Cadena (dir_1) + "," + Cadena (dir_2) + "] \ r \ n"; char buf [txtMsg.length () + 1]; txtMsg.toCharArray (buf, txtMsg.length () + 1); servidor.escribir (buf, txtMsg.length ()); }}}
Código PHPoC Shield (remote_game.php) PHP
PHPoC - Juego
PHPoC - Juego basado en la web
WebSocket: null
Esquemas
1. Apile el escudo wifi PHPoC o el escudo PHPoC en Arduino2. Cableado como en la imagen de abajo
Proceso de manufactura
- Ajedrez
- Juego de giroscopio Arduino con MPU-6050
- Juego Arduino Pong - Pantalla OLED
- Controlador de juego Arduino
- Juego Arduino Pong en Matrix 24x16 con MAX7219
- Arduino Touch Breakout Game
- Animatronics gigantes Lego Minfig Operation Game
- Arduino - Reproductor de MP3 basado en la web
- Pixel Chaser Game
- Juego automatizado de Dino usando arduino
- Juego de ruleta LED