Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Arduino - веб-игра для двух игроков

Компоненты и расходные материалы

Arduino UNO
× 1
PHPoC WiFi Shield для Arduino
× 1
Кнопка
× 4
Макет (общий)
× 1
Резистор 10 кОм
× 1
термоусадочная трубка
× 1

Об этом проекте

Если вы новичок, вы можете узнать о кнопке в Arduino - Button Tutorial.

Я сделал аналогичный проект, используя здесь более простое оборудование (только PHPoC).

Демо

Поток данных

Arduino ---> PHPoC WiFi Shield ---> Веб-браузер

В игру играют два человека. каждый человек использует две кнопки для управления вратарем. Следовательно, нам нужно четыре кнопки.

Arduino считывает состояние четырех кнопок. Если какая-либо из них будет изменена, Arduino пересчитает направление движения вратаря и отправит значения направления в PHPoC WiFi Shield. При получении значений PHPoC WiFi Shield отправляет их в веб-браузер через веб-сокет. Функция JavaScript обновит направление движения вратарей.

Программа JavaScript будет постоянно обновлять положение мяча, вратарей и препятствий в зависимости от их направления, а также проверять столкновение.

Направление вратарей меняется в зависимости от состояния кнопок.

Обратите внимание: В PHPoC shield есть встроенная программа для передачи данных из Arduino в веб-браузер. Поэтому нам не нужно об этом заботиться.

Что нам нужно делать

  • Установить информацию о WiFi для экрана PHPoC (SSID и пароль)
  • Загрузить новый интерфейс на PHPoC Shield
  • Напишите код Arduino

Настройка информации о Wi-Fi для PHPoC Shield

См. Эту инструкцию.

Загрузить новый веб-интерфейс в PHPoC Shield

  • Загрузите исходный код PHPoC remote_game.php (в разделе кода).
  • Загрузите его на экран PHPoC Shield с помощью отладчика PHPoC в соответствии с этой инструкцией.

При получении HTTP-запроса от веб-браузера PHPoC Shield интерпретирует PHP-скрипт в этом файле, а затем отправляет интерпретированный файл в веб-браузер. Интерпретируемый файл (содержащий код HTML, CSS и JavaScript) предоставляет пользовательский интерфейс (пользовательский интерфейс), обновляет положение мяча, вратарей и препятствий в зависимости от их направления, а также проверяет столкновение. Он также получает информацию о направлении движения вратарей от веб-узла.

Написать код Arduino

  • Установите библиотеку PHPoC для Arduino (см. инструкцию).
  • Загрузите код Arduino (в разделе кода) в Arduino

Тестирование

  • Нажмите кнопку последовательного порта в среде Arduino IDE, чтобы увидеть IP-адрес.
  • Откройте веб-браузер, введите http:// replace_ip_address /remote_game.php
  • Нажмите кнопку подключения и проверьте его.

Лучший стартовый комплект Arduino для начинающих

См. «Лучший комплект Arduino для начинающих»


  • pinMode ()
  • digitalRead ()
  • Serial.begin ()
  • Serial.print ()
  • Serial.println ()

Код

  • Код Arduino
  • Код PHPoC Shield (remote_game.php)
Код Arduino Arduino
 #include "SPI.h" #include "Phpoc.h" Сервер PhpocServer (80); логическое значение ужеConnected =false; void setup () {Serial.begin (9600); в то время как (! серийный); Phpoc.begin (PF_LOG_SPI | PF_LOG_NET); server.beginWebSocket («игра»); Serial.print ("Адрес сервера WebSocket:"); Serial.println (Phpoc.localIP ()); pinMode (6, ВХОД); pinMode (7, ВХОД); pinMode (8, ВХОД); pinMode (9, ВХОД); } 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 () {// когда клиент отправляет первый байт, поздороваться:PhpocClient client =server.available (); если (клиент) {значение_6 =digitalRead (6); значение_7 =digitalRead (7); значение_8 =digitalRead (8); значение_9 =digitalRead (9); dir_1 =значение_7 - значение_6; dir_2 =значение_9 - значение_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 ()); }}} 
Код PHPoC Shield (remote_game.php) PHP
     PHPoC - Game   <стиль> тело {выравнивание текста:центр; размер шрифта:15 пунктов; семейство шрифтов:Arial, Helvetica, без засечек;} h1 {font-weight:bold; размер шрифта:25pt; } h2 {font-weight:жирный; размер шрифта:15 пунктов; } кнопка {font-weight:bold; размер шрифта:15 пунктов; }     

PHPoC - веб-игра

WebSocket: null

Схема

1. Стек PHPoC wifi shield или PHPoC shield на Arduino
2. Подключение, как на изображении ниже.

Производственный процесс

  1. Шахматы
  2. Игра с гироскопом Arduino с MPU-6050
  3. Игра Arduino Pong - OLED-дисплей
  4. Игровой контроллер Arduino
  5. Игра Arduino Pong на матрице 24x16 с MAX7219
  6. Игра Arduino Touch Breakout
  7. Игра Giant Animatronics Lego Minfig Operation Game
  8. Arduino - MP3-плеер с веб-интерфейсом
  9. Игра Pixel Chaser
  10. Автоматизированная игра Дино с использованием arduino