Для реализации данного проекта нам понадобится:
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
На этом думаю разбор работы программы пора закончить. Ниже будет видео с примером работы данной игры.
Видео: