Mục lục:

Bộ điều khiển trò chơi gia tốc kế: 8 bước
Bộ điều khiển trò chơi gia tốc kế: 8 bước

Video: Bộ điều khiển trò chơi gia tốc kế: 8 bước

Video: Bộ điều khiển trò chơi gia tốc kế: 8 bước
Video: Arduino | Cảm biến gia tốc góc nghiêng MPU6050 2024, Tháng bảy
Anonim
Bộ điều khiển trò chơi gia tốc kế
Bộ điều khiển trò chơi gia tốc kế

Văn bản Voorlopige…

Bước 1: MATERIAAL

MATERIAAL
MATERIAAL
  • Arduino Leonardo: bộ điều khiển trò chơi een microcontroller-bord als brein van onze.
  • Micro USB kabel: om onze game controller aan te sluiten aan een computer.
  • Breadboard: zo hoeven we niet te selleren en Blijft ons ontwerp makkelijk aanpasbaar.
  • Dây jumper bảng mạch: om alle componenten met elkaar te verbinden.
  • Máy đo gia tốc MPU6050: cảm biến een die versnellingen in de verschillende richtingen kan lezen, zoals je vaak trong smartphone, hoverboards en balancerende robot vindt.
  • Twee các nút ấn mini: om knoppen te programmeren die los staan van onze gia tốc kế.

Optioneel:

Breadboard vi Arduino houder: om compact te kunnen werken

Bước 2: PHẦN MỀM ARDUINO

Voor we kunnen beginnen aan de bouw- en programmeerpret hebben we de juiste software gật đầu om het brein van onze game controller, een Arduino Leonardo, te kunnen besturen. Om dit te installeren, ga je als volgt te werk:

  • Ga qua liên kết volgende naar de downloadpagina van Arduino:
  • Kies voor de juiste phần mềm op cơ sở van je vận hành hệ thống.
  • Tải xuống Klik op.
  • Je hebt nu een (.exe) bestand dat je uitvoert door er op te dubbel klikken om de installatie te vervolledigen.

!!! Wij hebben onze controller gecreëerd met het gedownloade programmma. De Windows App versie kan dit evengoed, maar kan kan kleine verschillen hebben in aanpak.

  • Mở phần mềm de Arduino.
  • Connecteer je Arduino.

Als je nog niet zo vertrouwd bent gặp phần mềm Arduino, của je controlleert graag eens của je Arduino Leonardo foutloos verbinding maakt met je computer, dan kan je dat makkelijk testen met een voorbeeldprogramma:

  • Kies qua Bestand> Voorbeelden> 01. Basics> Blink om een voorbeeldprogramma te openen.
  • Vervolgens kies je bij Hulpmiddelen> Bo mạch> Arduino Leonardo om de phần mềm te laten làm ướt bo mạch loại hàn wij gaan gebruiken.
  • Selecteer de juiste seriële poort door bij Hulpmiddelen> Poort> COMx (Arduino Leonardo te kiezen. Dit doe je om aan te geven via Welke USB poort je Arduino Communiceert.
  • Klik trong de linkerbovenhoek op het pijltje symbool om het voorbeeldprogramma te uploaden.
  • Liên kết beneden zie je een indicatie die aantoont dat het programmma aan het uploaden is, gevolgd door de boodschap 'uploaden voltooid' bij succes.

!!! Als het uploaden niet lukt en een rode foutmelding geeft dan ligt dit vaak aan een fout in de code. Trong dit geval gebruiken we een foutloze voorbeeldcode, waardoor de fout bij de Connectie tussen de Leonardo en je máy tính moet liggen.

Bước 3: THƯ VIỆN THƯ VIỆN

Zijn của Arduino trong dữ liệu tĩnh mạch gót chân staat om te verwerken. Dit zorgt er voor dat er ook veel code gật gù là om deze data correct te compileren. Om deze code niet eindeloos lang en complex te schrijven, maken wij gebruik van Arduino Thư viện, bibliotheken van code die bepaalde sensor gaan sturen en ons werk een stuk makkelijker maken. Thư viện gebruik drie soortgelijke của dự án Ons: Wire, I2Cdev en MPU6050. Phần mềm De Arduino heeft een goede cơ sở aan các thư viện ingebouwd, alsook onze eerste (Wire) bibliotheek, maar de twee andere dienen we zelf nog te installeren:

  • Volg deze link en klik op 'Clone or Download' en download de ZIP file
  • Pak de ZIP tập tin uit om toegang te krijgen tot de bestanden.
  • Trong bản đồ de bekomen vind je qua i2cdevlib-master> Arduino de thư mục 'I2Cdev' en MPU6050.
  • Bản đồ Kopieer beide mappen naar de Arduino thông qua 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.

  • Phần mềm Sluit de Arduino af en start ze opnieuw op om toegang tot de library te krijgen.
  • Via Schets> Bibliotheek Gebruiken kan je controlleren of nu ook I2Cdev en MPU6050 te vinden zijn.

Bước 4: KHÁCH HÀNG - DE THEORIE

ACCELEROMETER - DE THEORIE
ACCELEROMETER - DE THEORIE

Een gia tốc kế werkt op cơ sở van het hiệu ứng piezoelectrisch. Stel je een kubusvormig doosje voor waar een klein balletje in zit (zoals in de bovenstaande illustratie) waar elke đũa phép gemaakt là 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 gian phòng. De drie paar thậm chíwijdige wanden van de kubus worden gekoppeld aan de dryimensionale X, Y en Z assen. Afhankelijk van de piezoelectrische stroom gep productionerd langs deze Wanden kunnen we zo de versnelling in drie size bepalen.

Om een praktijkvoorbeeld te geven: Trong điện thoại thông minh elke zit tegenwoordig ook gia tốc kế chuẩn. Deze zorgt er onder andere voor dat je scherm automatisch meedraait als je smartphone kantelt.

Bước 5: KHÁCH HÀNG - DE PRAKTIJK

ACCELEROMETER - DE PRAKTIJK
ACCELEROMETER - DE PRAKTIJK

Chúng tôi làm ướt nu dat een gia tốc kế de versnelling in de X, Y en Z as kan meten, maar met onze Arduino software kunnen we die data ook echt zien en opvolgen. Om dit te doen ga je als volgt te werk:

Sluit de gia tốc kế aan volgens bovenstaand schema en verbind de Arduino Leonardo gặp máy tính je

!!! De gia tốc kế wordt voorzien van de nodige pinnen om makkelijk op een breadboard te prikken, maar deze pinnen dienen han nog gesoldeerd te loden. Je krijgt de optie om die haaks op je breadboard te plaatsen (ô vuông đặt riêng) của những con zoals chẵn lẻ trong voorbeeld.

  • Tải xuống ons 'MPU6050_intro' tốt nhất và mở deze trong phần mềm de Arduino.
  • Bộ điều khiển je boardtype en poort nog steeds juist staan.
  • Klik trong de linkerbovenhoek op het pijltje om het chương trình up te loaden.
  • Selecteer qua Hulpmiddelen> Seriële Monitor
  • Een nieuw venster opent met 3 kolommen met getallen, dit zijn de versnellingen in de X, Y en Z assen.
  • Máy đo gia tốc Beweeg je om de versnellingen in alle richtingen te zien.

Terwijl we onze versnellingsdata voor ons hebben kunnen we meteen verkennend werk doen voor onze game controller. Leg de Arduino en gia tốc kế Plat op de tafel en noteer gemiddelde X en Y waarde (mag een ruwe schatting zijn). Onderneem daarna volgende stappen:

  • Gia tốc kế Kantel de 45 ° naar rechts en noteer de gemiddelde X waarde.
  • Gia tốc kế Kantel de 45 ° liên kết naar en noteer de gemiddelde X waarde.
  • Gia tốc kế Kantel de 45 ° naar voor en noteer de gemiddelde Y waarde.
  • Gia tốc kế Kantel de 45 ° naar achter en noteer de gemiddelde Y waarde.

Bước 6: BỘ ĐIỀU KHIỂN TRÒ CHƠI

NGƯỜI ĐIỀU KHIỂN TRÒ CHƠI
NGƯỜI ĐIỀU KHIỂN TRÒ CHƠI

Klaar voor het echte werk! Chúng tôi gebruiken onze gia tốc kế samen gặp twee drukknoppen om het brein van onze eigen game controller te loden. Koppel de Arduino en gia tốc kế los en bouw het geheel opnieuw op volgens bovenstaand giản đồ.

!!! De mini nút bấm hebben vaak een buiging trong hun beentjes. Druk die plat gặp een punttang om ze makkelijker trong je breadboard te krijgen.

  • Tải xuống 'MPU6050_gamecontroller' tốt nhất và mở deze trong phần mềm de Arduino.
  • Verbind je Arduino en klik in de linkerbovenhoek op het pijltje om het chương trình up te loaden.
  • De Arduino Leonardo stuurt nu máy tính không đổi thông tin. Wil je de datavoer chẵn pauzeren, koppel dan de jump wire op pin 12 chẵn thua, en verbind die opnieuw als je verder wilt gaan.
  • Thành thạo! 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 had verwacht. Dat betekent gewoon dat we nog calibratie werk hebben om de controller aan te passen naar onze noden. Daarvoor duiken chúng tôi trong mã de Arduino

Bước 7: MÃ - THƯ VIỆN ĐÃ SỬ DỤNG

MÃ - THƯ VIỆN ĐÃ SỬ DỤNG
MÃ - THƯ VIỆN ĐÃ SỬ DỤNG

Het leuke aan Mã Arduino là dat deze snel aanpasbaar là zonder dat je daarvoor een uitgebreide programmeerkennis moet hebben. Om je op weg te helpen overlopen we kort waar je wat vindt, en wat je kan aanpassen om je controller kalibreren.

Trong mã 'MPU6050_gamecontroller' vind je een heleboel lichtgrijze tekst. Dat is tekst die geen invloed heeft op de code, maar die dient om de code wat te structureren. Ook tekst die na // komt, staat los van de code en dient als verduidelijking. De eerste echte code vinden we terug onder de titel 'Đã sử dụng thư viện', daar herken je meteen de thư viện die we in stap drie geïnstalleerd hebben.

  • #bao gồm geeft aan dat we de 'IC2dev' bibliotheek gaan gebruiken
  • const int ENABLE = 12 geeft aan dat chúng tôi ghim 12 gebruiken als veiligheid. Là deze pin niet verbonden dan stopt trên chương trình tự động.
  • const int A_BUTTON = 6 geeft aan dat onze A knop aangesloten is op poort 5

!!! De code onder Setup zijn afspraken tussen je Arduino en je computer over hoe deze communiceren, trong ons geval laten chúng tôi dit deel code gewoon zoals ze is.

Bước 8: MÃ: LOOP

MÃ: LOOP
MÃ: LOOP

Onder de titel 'Loop' vind je lijnen code die non stop draaien als onze Arduino Leonardo verbonden is met de computer en pin 12 is aangesloten. Het la ook meteen het deel van de code waar we het meest kunnen aanpassen. Nút de code onder 'button A' en 'button B' is gekoppeld aan onze mini push button kan je aanpassen door in de code Keyboard.release ('a') enKeyboard.release ('a') twee maal de ('a') te vervangen cửa eender hàn bộ toets bàn phím ander.

!!! Sommige keyboardtoetsen moet kan je niet rechtstreeks intypen maar hebben een code. Zo zou je de 'Xóa' knop moet ingeven als 'KEY_DELETE' của als decimale waarde '212'. Een lijst van dit soort uitzonderingen binnen arduino vind je via deze link. Wil je nog meer info dan kijk je best eens naar de ASCII tabel.

Onder de right, left, up en down vind je vrij gelijkaardige code als bij de button, het grote verschil zit hem trong het if (accx <-20000) deel van de code. Dit verwijst naar de Accrometer: als de Accrometer 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 gia tốc kế te kalibreren. Je kan deze waarden bijstellen naargelang je eigen Speelstijl.

Tenslotte vinden we helemaal onderaan de code delay (50). Dat stukje code vertraagt het aantal keyboard toetsen die je computer doorkrijgt. Merkje dat je controller te veel commando doorgeeft dan verhoog je dit getal gặp enkele tientallen. Reageert alles te traag dan verklein je het getal wat.

Thử nghiệm vi lỗi là de boodschap!

Đề xuất: