Оглавление:

Игровой контроллер акселерометра: 8 шагов
Игровой контроллер акселерометра: 8 шагов

Видео: Игровой контроллер акселерометра: 8 шагов

Видео: Игровой контроллер акселерометра: 8 шагов
Видео: ТАК ЛИ КРУТЫ ДАТЧИКИ ХОЛЛА? (Обзор 8BitDo Ultimate Controller и Компьютерной Мышки) 2024, Ноябрь
Anonim
Игровой контроллер акселерометра
Игровой контроллер акселерометра

Voorlopige Text…

Шаг 1: МАТЕРИАЛЬНЫЙ

МАТЕРИАЛЬНЫЙ
МАТЕРИАЛЬНЫЙ
  • Arduino Leonardo: микроконтроллер и игровой контроллер.
  • Кабель Micro USB: один игровой контроллер на компьютере.
  • Макетная плата: zo hoeven we niet te solderen en blijft ons ontwerp makkelijk aanpasbaar.
  • Провода-перемычки макетной платы: все компоненты выполнены с возможностью подключения.
  • Акселерометр MPU6050: датчики в различных версиях, богатые карты, смартфоны, ховерборды и балансирные роботы.
  • Twee мини-кнопки: кнопка запрограммирована на акселерометр.

Вариант:

Макетная плата в корпусе Arduino: om compact te kunnen werken

Шаг 2: ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ARDUINO

Для того, чтобы мы начинали и начинали программировать, мы начинаем работать с программным обеспечением, основанным на игровом контроллере, например, Arduino Leonardo, te kunnen besturen. Om dit te installeren, ga je als volgt te werk:

  • Ga via volgende link naar de downloadpagina van Arduino:
  • Kies voor de juiste software на основе операционной системы.
  • Клик оп скачать.
  • Je hebt nu een (.exe) bestand dat je uitvoert door er op te dubbel klikken om de installatie te vervolledigen.

!!! Контроллер Wij hebben onze gecreëerd встретил эту готовую программу. Версия приложения для Windows может быть обновлена, и вы можете найти его в новом приложении.

  • Откройте программное обеспечение Arduino.
  • Connecteer je Arduino Леонардо познакомился с микро-USB-кабелем на компьютере, с драйверами de Leonardo worden automatisch geïnstalleerd (dit gebeurt enkel als het de eerst keer is dat je de Arduino aansluit).

Так же, как он работал с программным обеспечением Arduino, он контролировал все элементы Arduino Leonardo foutloos, сообщая, что он встретился с компьютером, dan kan je dat makkelijk testen met een voorbeeldprogramma:

  • Kies via Bestand> Voorbeelden> 01. Basics> Blink om een voorbeeldprogramma te open.
  • Vervolgens kies je bij Hulpmiddelen> Board> Arduino Leonardo om de software te laten weten welk type board wij gaan gebruiken.
  • Selecteer de juiste seriële poort door bij Hulpmiddelen> Poort> COMx (Arduino Leonardo te kiezen. Dit doe je om an te geven via wellke USB poort je Arduino communiceert.
  • Нажмите здесь, чтобы узнать больше о различных программах, которые загружены.
  • Links Beneden zie je een indicatie die aantoont that het programma aan het uploaden is, gevolgd door de boodschap 'uploaden voltooid' bij success.

!!! Als het uploaden niet lukt en een rode foutmelding geeft dan ligt dit vaak aan een fout in de code. В dit geval gebruiken мы een foutloze voorbeeldcode, waardoor de fout bij de connectie tussen de Leonardo en je computer moet liggen.

Шаг 3: ПАПКА БИБЛИОТЕКИ

Зажигание Arduino в статусе heel veel data te verwerken. Это означает, что данные правильные и скомпилированные. В этом коде не используется язык и сложный текст, созданный с использованием библиотек Arduino, библиотека кодов с датчиками, работающими с датчиками, работает и работает. В проекте есть библиотеки, обеспечивающие сборку: Wire, I2Cdev и MPU6050. В программном обеспечении Arduino заложена основа и библиотеки, также как и другие библиотеки (Wire) bibliotheek, maar de twee и dienen we zelf nog te installeren:

  • Сделайте ссылку на клик в 'Clone or Download' и загрузите ZIP-файл
  • Пакет ZIP-файла, который используется в качестве основы для всего наилучшего.
  • В деактивированной карте вы можете использовать i2cdevlib-master> Arduino в папках 'I2Cdev' и MPU6050.
  • Копируйте карту на карту Arduino через C> Program Files> Arduino> Libraries.

!!! Indien je de bij de installatie van de software zelf een andere locatie opgegeven hebt dan, vind je de nodige mappen daar. Het is niet de bedoeling dat je zelf een map aanmaakt.

  • Программное обеспечение Arduino после запуска открывает доступ ко всем библиотекам.
  • Через Схемы> Библиотека Gebruiken kan je control of nu ook I2Cdev en MPU6050 te vinden zijn.

Шаг 4: АКСЕЛЕРОМЕТР - ТЕОРИЯ

АКСЕЛЕРОМЕТР - ДЕ ТЕОРИИ
АКСЕЛЕРОМЕТР - ДЕ ТЕОРИИ

Акселерометр работает на основе пьезоэлектрического эффекта. Stel je een kubusvormig doosje voor waar een klein balletje in zit (zoals in de bovenstaande illustratie) waar elke wand gemaakt is uit piezoelektrische kristallen. Wanneer je de kubus kantelt verplaatst het balletje zich naargelang de zwaartekracht. Waar het balletje de kubus wanden raakt ontstaat er piezoelectrische stroom. De drie paar evenwijdige wanden van de kubus worden gekoppeld aan de dryimensionale X, Y en Z assen. Afhankelijk van de piezoelectrische stroom geproduceerd langs deze wanden kunnen we zo de versnelling in drie sizes bepalen.

Om een praktijkvoorbeeld te geven: В смартфоне есть стандартный акселерометр. Deze zorgt er onder andere for dat je scherm automatisch meedraait als je smartphone kantelt.

Шаг 5: АКСЕЛЕРОМЕТР - DE PRAKTIJK

АКСЕЛЕРОМЕТР - DE PRAKTIJK
АКСЕЛЕРОМЕТР - DE PRAKTIJK

Мы знаем, что акселерометр, разработанный в X, Y и Z, может быть использован в программном обеспечении Arduino, в котором мы храним данные, которые могут быть использованы. Om dit te doen ga je als volgt te werk:

Связь акселерометра с большей частью и схемой на Arduino Леонардо с компьютером

!!! Слово акселерометра, которое вы использовали, ван де нодиге пиннен ом макетной плате на макетной плате, маар дезе пиннен динен хорошо ног гесолдерд те слова. Je krijgt de optie om die haaks op je layout te plaatsen (bespaart plaats) из evenwijdig zoals in ons voorbeeld.

  • Лучше всего загрузите MPU6050_intro и откройте его в программном обеспечении Arduino.
  • Контролер je boardtype en poort nog steeds juist staan.
  • Нажмите на ссылку для загрузки, чтобы загрузить его.
  • Выбор через Hulpmiddelen> Seriële Monitor
  • Een nieuw venster opent met 3 kolommen met getallen, dit zijn de versnellingen in de X, Y en Z assen.
  • Beweeg je акселерометр om de versnellingen in all richtingen te zien.

Terwijl мы предоставляем исходные данные для игрового контроллера. Leg de Arduino на плате акселерометра на планшете и на заметке gemiddelde X en Y waarde (mag een ruwe schatting zijn). Onderneem daarna volgende stappen:

  • Кантел-де-акселерометр 45 ° naar rechts en noteer de gemiddelde X waarde.
  • Кантель акселерометра 45 ° наар ссылки и заметки де гемидделде X waarde.
  • Кантел-де-акселерометр 45 ° наар для заметки gemiddelde Y waarde.
  • Кантел-де-акселерометр 45 °, ахтер-нутер-де-гемидделде Y waarde.

Шаг 6: КОНТРОЛЛЕР ИГРЫ

ИГРОВОЙ КОНТРОЛЛЕР
ИГРОВОЙ КОНТРОЛЛЕР

Klaar voor het echte werk! Мы разработали один акселерометр так же, как и другие инструменты, которые можно найти в игре на собственном игровом контроллере. Koppel de Arduino и акселерометр лос-ан-боу-хет-э-э-э-э-э-э-а-а-а-а-а-а-а-а-а-а-а-а схема.

!!! Мини-кнопки hebben vaak een buiging in hun beentjes. Druk die plat met een punttang om ze makkelijker в je макетной плате te krijgen.

  • Лучше всего загрузите MPU6050_gamecontroller и откройте его в программном обеспечении Arduino.
  • Вы можете использовать Arduino в качестве компоновщика для работы с программой для загрузки.
  • Ардуино Леонардо изучил постоянную информацию на компьютере. Wil je de datavoer even pauzeren, koppel dan de jump wire op pin 12 even los, en verbind die opnieuw als je verder wilt gaan.
  • Профициат! Je hebt nu een base controller gemaakt, test het gerust eens uit op pacman.

Geen paniek als je controller niet metén doet wat je has verwacht. Dat betekent gewoon, что мы не можем калибровать werk hebben om de controller aan te passen naar onze noden. Daarvoor duiken мы в коде Arduino

Шаг 7: КОД - ИСПОЛЬЗУЕМЫЕ БИБЛИОТЕКИ

КОД - ИСПОЛЬЗУЕМЫЕ БИБЛИОТЕКИ
КОД - ИСПОЛЬЗУЕМЫЕ БИБЛИОТЕКИ

Het leuke aan Arduino код - это то, что это snel aanpasbaar is zonder dat je daarvoor een uitgebreide programmeerkennis moet hebben. Om je op weg te help overlopen we kort waar je wat vindt, en wat je kan aanpassen om je controller kalibreren.

В коде MPU6050_gamecontroller vind je een heleboel lichtgrijze tekst. Это текст, созданный с помощью кода, который может быть структурирован. Ook tekst die na // komt, staat los van de code en dient als verduidelijking. De eerste echte code vinden we terug onder de title 'Used Libraries', daar herken je meteen de libraries die we in stap drie geïnstalleerd hebben.

  • #включают geeft aan dat we de 'IC2dev' bibliotheek gaan gebruiken
  • const int ENABLE = 12 geeft aan, что мы закрепили 12 gebruiken как veiligheid. Is deze pin niet verbonden dan stop ons programma automatisch.
  • const int A_BUTTON = 6 geeft aan dat onze Кнопка aangesloten is op poort 5

!!! Код при настройке zijn afspraken tussen je Arduino en je computer over hoe deze communiceren, в ons geval laten мы делаем код gewoon zoals ze is.

Шаг 8: КОД: ПЕТЛЯ

КОД: ПЕТЛЯ
КОД: ПЕТЛЯ

На компьютере под названием «Loop» установлен код безостановочного рисования, как и на компьютере с 12-м контактом. Het is ook meteen het deel van de code waar we het meest kunnen aanpassen. Код на "кнопке A" и "кнопке B" вставлен в мини-кнопки с дверью в коде Keyboard.release ('a') enKeyboard.release ('a') twee maal de ('a') te vervangen door eender welke ander клавиатура toets.

!!! Sommige keyboardtoetsen moet kan je niet rechtstreeks intypen maar hebben een code. Zo zou je de 'Delete' knop moet ingeven as 'KEY_DELETE' of als decimale waarde '212'. Een lijst van dit soort uitzonderingen binnen arduino vind je via deze link. Wil je nog meer info дан kijk je best eens naar de ASCII tabel.

Направо, налево, вверх и вниз vind je vrij gelijkaardige code als bij de buttons, het grote verschil zit het if (accx <-20000) deel van de code. Dit verwijst naar de accelerometer: als de accelerometer naar rechts kantelt en een waarde kleiner dan -20000 leest dan wordt de rechter pijltoets (KEY_RIGHT_ARROW) ingeduwd. Kantel je opnieuw naar links en wordt de waarde groter dan -20000 dan laat hij de rechter pijltoets opnieuw los.

Hier komen de genoteerde waarden uit stap vijf van pas. Pas de waarden aan naargelang je noties om zo jou specifieke Accelerometer te kalibreren. Je kan deze waarden bijstellen naargelang je eigen speelstijl.

Tenslotte vinden we helemaal onderaan de code delay (50). Этот кодовый код позволяет вам использовать клавиатуру вместе с дверью компьютера. Merkje dat je controller te veel commando's doorgeeft dan verhoog je dit getal met enkele tientallen. Reageert alles te traag dan verklein je het getal wat.

Пробная версия ошибки - это de boodschap!

Рекомендуемые: