• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to secondary sidebar
  • Skip to footer

У Павла!

  • Контроллеры
    • Arduino
      • Приборы
      • Музыка
      • Проекты Arduino
      • Уроки Arduino
      • Игры на Arduino
      • Роботы на Ардуино
      • FLProg
    • Одноплатные ПК
      • Orange pi
      • Raspberry pi
        • Raspberry pi pico
        • Raspberry pi server
        • Проекты Raspberry pi
    • ESP
      • ESP8266
        • NodeMCU
      • ESP32
      • M5stack
    • Другие контроллеры
      • STM32
  • Умный дом
    • Home Assistant
      • Автоматизации
    • Tuya
    • Bluetooth
    • ESPHome
    • Frigate
    • Telegram
    • Яндекс
  • ЧПУ
  • 3d печать
  • Об авторе

Игра самолетик на Arduino и Processing

17 декабря, 2017

Для реализации данного проекта нам понадобится:

Arduino uno : http://ali.pub/1th4sk

Ультразвуковой дальномер HC-SR04: http://ali.pub/22b4n1

Среда разработки Processing: https://www.processing.org/download/

Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.

 

Итак в данной статье реализован пример игры разработанный в среде разработки Processing в которой летит по небу самолетик и собирает птичек, каждая собранная птичка дает одно очко в Score. Управление в игре осуществляется двумя способами. Первый способ это управление самолетом с помощью ультразвукового дальномера HC-sr04, принцип управления в приблежении и отдалении руки к сенсорам датчика. Второй способ это управление самолетом с помощью мышки, а именно двигая мышкой вверх – вниз самолетик также будет лететь вверх -вниз.

Чуть ниже я оставлю ссылку на архив с скетчем Processing. В папке из архива помимо скетча есть еще картинки с названиями bird.png – Изображение птицы  cloud.png – изображение облака  grass.png – изображение травы  plane.png – изображение самолета. Выглядит это все примерно вот так:

Следовательно сам скетч берет эти картинки с папки в которой он находится и подставляет их в игру, для визуальных эфектов самолета, птицы, облаков и травы. Если хотите что-то переработать визуально, например поменять самолет. То нужно примерно в таком же разрешении взять самолет другой с картинки, вырезать его по контору например в фотошопе и вставить в папку с таким же именем plane.png и при следующем запуске игры в processing самолетик заменится на Ваш вариант. Так можно переработать все объекты в игре, благо их всего 4.

ВАЖНО!: все картинки должны находиться в одной папке с сами скетчем Processing.

Давайте теперь пройдемся по Важным строчка в этом скетче, которые нужно будет изменить под себя:

  1. myPort = new Serial(this,”COM3″, 9600); – В этой строчке нам нужно поменять COM порт на тот к которому подключена Ардуино. Ну или закоментировать, если вы будете играть с помощью мышки,  а не ультразвукового дальномера.
  2. Angle = mouseY-300; если оставить эту строчку то будет осуществляться управление с помощью мышки. Angle = (18- DistanceUltra)*4; если вот эту строчку, то управление будет осуществляться с помощью ультразвукового дальномера.

Ссылка на архив с скетчем и картинками: https://yadi.sk/d/sjdffiaK3QggJL

Теперь, давайте перейдем к разбору скетча на Ардуино, для управления с помощью ультразвукового датчика.

В самом скетче не очень много строк кода, я сказал бы даже, что мало.

Подключение датчика к ардуино осуществляется по такой схеме:

Vcc -> to Arduino 5v
Trig -> Arduino pin 3
Echo -> Arduino pin 2
GND -> to Arduino GND

Сам Скетч:

 



/*


 Vcc -> to Arduino 5v
 Trig -> Arduino pin 3
 Echo -> Arduino pin 2
 GND -> to Arduino GND 
 
 */




int echoPin= 2;
int triggerPin= 3;
unsigned long pulsetime = 0;
unsigned distance =0;
unsigned OldDistance =0;

void setup (){
  pinMode (echoPin, INPUT);
  pinMode (triggerPin, OUTPUT);
  Serial.begin(9600);  
}

void loop(){

  
  digitalWrite(triggerPin, LOW);
  delayMicroseconds(100);
  digitalWrite(triggerPin, HIGH);
  delayMicroseconds(100);
  digitalWrite(triggerPin, LOW);
  pulsetime = pulseIn(echoPin, HIGH);
  distance = pulsetime / 58;
  delay(10);


  
  if (OldDistance != distance) {

    Serial.println(distance); 

    OldDistance = distance;
  }

  delay(50);  
} 

 

Ссылка на сам скетч: https://yadi.sk/d/BmPwvE0F3QgghH

На этом думаю разбор работы программы пора закончить. Ниже будет видео с примером работы данной игры.

Видео:

Primary Sidebar

Поиск

Новые записи

  • Автоматизация перезагрузки устройства по команде Ping.
  • Разблокирование и добавление шлюза Xiaomi gateway 3 в Home Assistant для управления Bluetooth устройствами из экосистемы Xiaomi Home (mihome)
  • Интеграция для локального управления (без интернета) ик пультом Tuya работающим по wifi из Home Assistant
  • Транслируем показания с Уличного Bluetooth Датчика температуры по BTHome на дисплей датчика температуры XIaomi LYWSD03MMC
  • Заставляем Bluetooth датчики температуры tuya и xiaomi отправлять данные по Zigbee в Home Assistant.

Официальный YouTube Канал M5Stack:

Подписывайтесь на Телеграм канал

https://t.me/ypavla

Подписаться на YouTube!

Secondary Sidebar




Подписывайтесь на Telegram Канал!

У Павла!

Footer

Copyright_У Павла! © 2025 ·