Arduino - кирпичная веб-игра для гонок автомобилей
Компоненты и расходные материалы
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
| × | 1 | ||||
| × | 1 |
Об этом проекте
Демо
Эта классическая игра может заставить некоторых из нас почувствовать ностальгию по детству. Игра проста, старайтесь избегать столкновений с машинами соперников и набирайте как можно больше очков. Автомобиль может переключаться между 5 полосами движения и 15 различными скоростями. По мере увеличения скорости машины противника будут двигаться быстрее, что усложняет игру.
Электропроводка
- Стек PHPoC Shield на Arduino.
- Подключите контакты GND, VCC и SIG датчика угла поворота к GND, 5V и A0 Arduino соответственно.
![](https://www.mfgrobots.com/article/uploadfiles/202112/2021122812082365.jpg?auto=compress%2Cformat&w=680&h=510&fit=max)
Поток данных
Arduino ---> PHPoC Shield ---> Веб-браузер
Пользователь взаимодействует с датчиком угла поворота. Значение входного сигнала датчика угла поворота используется для переключения положения автомобиля.
Arduino считывает значение с датчика угла поворота. Значения входного АЦП разделены на 5 различных уровней. Переключение между уровнями означает смену полосы движения. Проще говоря, если входной сигнал переключится на другой уровень, Arduino отправит обновленный уровень в PHPoC Shield.
Получив значение, PHPoC WiFi Shield отправляет его в веб-браузер через Websocket. Затем функция JavaScript обновит положение (полосу движения) автомобиля. Программа на JavaScript будет постоянно обновлять положение противников и скорость игры.
Чем заняться
- Настроить WiFi-соединение для PHPoC Shield (SSID и пароль)
- Загрузить новый интерфейс на PHPoC Shield
- Загрузите код Arduino.
Настройте соединение Wi-Fi для PHPoC Shield
См. Эту инструкцию.
Загрузить новый веб-интерфейс пользователя в PHPoC Shield
- Загрузите исходный код PHPoC remote_racing_game.php.
- Загрузите его на экран PHPoC Shield с помощью отладчика PHPoC в соответствии с этой инструкцией.
Загрузить код Arduino
- Установите библиотеку PHPoC для Arduino (см. инструкцию).
- Загрузите код Arduino в Arduino
И наконец
- Нажмите кнопку последовательного порта в Arduino IDE, чтобы получить IP-адрес.
- Откройте веб-браузер, введите
http://
relace_ip_address_here
/remote_racing_game.php
- Нажмите кнопку подключения и наслаждайтесь игрой.
Узнайте больше о потенциометре в Arduino - Potentiometer Tutorial
Ссылки на функции
- pinMode ()
- analogRead ()
- digitalWrite ()
- Serial.begin ()
- Serial.println ()
- цикл для
- цикл while
- если еще
- цикл ()
- setup ()
Код
- Код Arduino
- remote_racing_game.php
Код Arduino Arduino
#include "SPI.h" #include "Phpoc.h" Сервер PhpocServer (80); int adcPin =A0; float adcVal =0; // переменная для хранения значения, поступающего от сенсора lastPos =-1; float adcMin =512-2,5 * 100; void setup () {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; для (int i =0; i <50; i ++) adcVal + =analogRead (adcPin); adcVal / =50; int pos =(int) ((adcVal-adcMin) / 100); если (pos <0) {pos =0; } иначе, если (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 ShieldArduino - веб-игра <стиль> body {выравнивание текста:центр; размер шрифта:15 пунктов; семейство шрифтов:Arial, Helvetica, без засечек;} h1 {font-weight:bold; размер шрифта:25pt; } h2 {font-weight:жирный; размер шрифта:15 пунктов; } кнопка {font-weight:bold; размер шрифта:15 пунктов; }
Arduino - Car Race Brick Game
WebSocket: null
Производственный процесс
- Веб-контроллер DMX
- Игра Arduino Pong - OLED-дисплей
- Arduino Spybot
- Игровой контроллер Arduino
- Игра Arduino Touch Breakout
- Радиоуправляемая машина с джойстиком
- Arduino - MP3-плеер с веб-интерфейсом
- Игра Pixel Chaser
- Arduino - разблокировка веб-шаблона
- Автоматизированная игра Дино с использованием arduino