
Для реализации данного проекта нам понадобится:
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.
Давайте теперь пройдемся по Важным строчка в этом скетче, которые нужно будет изменить под себя:
- myPort = new Serial(this,”COM3″, 9600); – В этой строчке нам нужно поменять COM порт на тот к которому подключена Ардуино. Ну или закоментировать, если вы будете играть с помощью мышки, а не ультразвукового дальномера.
 - 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
На этом думаю разбор работы программы пора закончить. Ниже будет видео с примером работы данной игры.
Видео: