- Преглед:
- Компоненте потребне:
- Објашњење кола:
- Рад акцелерометра:
- Програмирање Ардуина:
- Програмирање обраде:
- Тестирање:
Проширена стварност и виртуелно играње постало је недавни тренд у индустрији игара. Времена коришћења тастатуре / џојстика и миша за играње рачунарске игре су прошла. Сада свака играћа конзола долази са виртуелним контролером који нам помаже да играмо игру користећи наше покрете тела и гесте, на овај начин се играчко искуство много повећало и корисник се осећа више укљученим у игру.
У овом пројекту покушајмо да се забавимо док учимо кроз пројекат. Дозволите нам да направимо игру (да, чули сте како исправљамо да желимо да направимо игру) и играјмо је помоћу покрета ваше руке. Стварамо класичну игру пинг понг лоптом користећи Ардуино и Акцелерометар.
Преглед:
Данас је доступно мноштво софтвера отвореног кода који је хобистима попут нас донио пуно среће, а обрада података је једна од њих. Помоћу ове ЈАВА апликације можемо да направимо сопствени софтвер (.еке формат), као и андроид апликацију (.апк датотека). Дакле, користићемо овај софтвер за изградњу наше игре, претходно смо користили Процессинг за креирање Ардуино Цхат собе.
Хардверски део састојаће се од Ардуина који ће доносити податке са акцелерометра да би их серијски уносио на наш рачунар / лаптоп.
Па кренимо у куповину !!!!
Компоненте потребне:
- Ардуино (било која верзија или модел)
- Акцелерометар
- Повезивање жица
- Камата (Лолз)
Акцелерометар и Ардуино Нано
Објашњење кола:
Пројекат Цирцуит оф Ардуино Пинг Понг Балл Гаме Гаме не укључује никакве сложене везе. Користио сам Ардуино Нано са акцелерометром. Али има неколико ствари о којима треба водити рачуна како је поменуто у наставку:
1. Ваш акцелерометар не може да поднесе 5 В, зато увек повежите Вцц акцелерометар са вашим 3,3 В пином Ардуина.
2. Сваки акцелерометар пати од ефекта гравитације којим се мора руковати током програмирања (једноставно коришћењем филтера).
Имајући ово на уму, погледајмо како ради акцелерометар и како га користимо.
Рад акцелерометра:
Аццелерометер је уређај који се може претворити убрзање у било ком смеру одговарајућу променљивог напона. То се постиже употребом кондензатора (референца слика), док се Аццел помера, кондензатор који се налази у њему такође ће претрпети промене (референца слика) на основу кретања, јер је капацитивност променљива, такође се може добити променљиви напон.
Дакле, као што је горе поменуто, сваки акцелерометар пати од проблема гравитационог ефекта. Без обзира колико је тачно калибрисан ваш сензор (чак и ваши Аппле телефони Аццел.), На њега ће утицати гравитација. Техничко објашњење овог проблема дато је у наставку.
Сада у Ардуину можемо да смањимо ефекат гравитације помоћу једноставног филтера. Овај филтер ће се састојати од два низа, један се користи за чување вредности узорка са сензора, а други за сортирање вредности узорка и проналажење највише поновљене вредности. Применимо овај алгоритам у нашем Ардуину и припремимо хардвер.
Програмирање Ардуина:
Програм Ардуино је дат испод у одељку Цоде. Не постоје критични подаци који се морају модификовати. Али можда бисте желели да узмете у обзир следеће:
Повећајте величину узорка ако ваш Аццел и даље приказује случајне вредности.
#дефине Самплесизе 13 // филтерСампле нумбер
Играјте се са брзином преноса од 9600 бауд да бисте повећали брзину комуникације између Ардуина и Процессинга. Али обавезно их промените у оба софтвера (Програми).
воид сетуп () {Сериал.бегин (9600); }
Мој акцелерометар на Кс-оси даје 193 на крајњем левом крају и 280 на крајњем десном крају, измерите их за свој Аццел и ажурирајте вредност.
тоСенд = мап (смоотхДата1, 193, 280, 0, 255);
Вредности се пресликавају у један бајт података за серијску комуникацију.
Даље проверите коментаре у доле наведеном Кодексу да бисте их јасно разумели.
Програмирање обраде:
Процессинг је софтвер отвореног кода који уметници користе за графичко дизајнирање. Овај софтвер се користи за развој софтвера и Андроид апликација. Прилично је лако развити и веома је сличан Андроид ИДЕ развоју. Стога сам скратио објашњење.
Код за обраду игре у пинг понг дат је овде:
- Код за обраду игре Ардуино Пинг Балл
Кликните десним тастером миша и кликните на „Сачувај везу као..“ да бисте преузели датотеку кода. Затим отворите датотеку у софтверу „Обрада“ и кликните на дугме „Покрени“ да бисте играли игру. Морате инсталирати софтвер 'Обрада' да бисте отворили *.пде датотеке. Одељак са коментарима отворен је за упите, а такође проверите коментаре у програму да бисте их боље разумели.
Испод реда, у функцији воид сетуп () функције Обрада кода је важна, јер она одлучује са ког порта да податке.
порт = нови серијски (овај, Сериал.лист (), 9600); // Чита 4. ПОРТ на 9600 баудрате
Овде сам прочитао податке са четвртог порта са свог Ардуина.
Тако на пример ако имате ЦОМ ЦОМ ЦОМ ЦОМ ЦОМ
Тада ће горњи код читати податке из ЦОМ-а.
Тестирање:
Пошто је наша скица за обраду и Ардуино спремна, само отпремите доленаведени програм на Ардуино и повежите свој Ардуино са корисничким каблом за темељно програмирање на рачунару и покрените игру тако што ћете покренути датотеку кода за обраду (.пде). То је то! Померите свој акцелерометар и играјте своју игру пинг понг. Видео ће вас водити кроз комплетног пројекта.
Једном када сте разумели програм, можете створити много сличних игара и играти их користећи свој Ардуино, даље И оса и З оса такође могу бити укључене у игре.