INHOUDSOPGAWE:

Versnellingsmeter -spelbeheerder: 8 stappe
Versnellingsmeter -spelbeheerder: 8 stappe

Video: Versnellingsmeter -spelbeheerder: 8 stappe

Video: Versnellingsmeter -spelbeheerder: 8 stappe
Video: How an Accelerometer Works ⚡ 6 Types of Accelerometers 2024, Julie
Anonim
Versnellingsmeter spelbeheerder
Versnellingsmeter spelbeheerder

Voorlopige teks …

Stap 1: MATERIAAL

MATERIAAL
MATERIAAL
  • Arduino Leonardo: 'n mikrokontroller-bord as 'n brein van ons spelbeheerder.
  • Mikro -USB -kabel: ons spelbeheerder kan op 'n rekenaar gesluit word.
  • Breadboard: hoe ons dit nie kan oplos nie en ons ontwerp kan maklik aangepas word.
  • Breadboard jumper wires: om alle komponente met mekaar te verbind.
  • MPU6050 versnellingsmeter: 'n sensor wat verskillende weergawes in verskillende rigtings kan gebruik, soos gereeld in slimfone, hoverboards en balanserende robots.
  • Twee mini -drukknoppies: om die programmeerders wat ons versnellingsmeter bied, te laat funksioneer.

Opsioneel:

Breadboard en Arduino houder: om kompakte te kan werk

Stap 2: ARDUINO SOFTWARE

Vir ons kan ons 'n ontwikkelingsprogrammeer vir die regte sagteware nodig hê om ons spelbeheerder, 'n Arduino Leonardo, te bestel. Om dit te installeer, moet u ook volg:

  • Gaan via die volgende skakel na die aflaai -bladsy van Arduino:
  • Kies die regte sagteware vir u bedryfstelsel.
  • Klik op aflaai.
  • U het 'n (.exe) bestand wat u kan uitvoer om op te dubbelklik om die installasie te vervolmaak.

!!! Ons het ons beheerder met die gedownloade program beheer. Die weergawe van die Windows -app kan selfs goed wees, maar daar kan 'n klein verskil in die pakket wees.

  • Maak die Arduino -sagteware oop.
  • Verbind u Arduino Leonardo met u mikro -USB -kabel op u rekenaar, die Leonardo -bestuurders word outomaties geïnstalleer (dit gebeur eenvoudig as die eerste keer dat die Arduino -aansluiting is).

As u nog nie 'n betroubare verbinding met Arduino -sagteware het nie, kan u ook 'n enkele van u probleme met Arduino Leonardo foutloos verbind met u rekenaar:

  • Kies via Bestand> Voorbeelden> 01. Basics> Knip 'n voorbeeldprogram oop.
  • Vervolgens kies u by Hulpmiddels> Bord> Arduino Leonardo om die sagteware te laat weet, kan ons gebruik.
  • Kies die regte seriële poort by Hulpmiddels> Poort> COMx (Arduino Leonardo het gekies. Dit kan u aan ons gee via watter USB -poort u Arduino kommunikeer.
  • Klik in die linkerbovenhoek op die simbool waarmee u die program kan oplaai.
  • Skakels kan u 'n aanduiding gee dat die program opgelaai kan word, gevolglik deur die boodskap 'opgelaai' tot sukses.

!!! As dit nie opgelaai word as 'n fout foutmelding gee nie, kan dit dikwels 'n fout in die kode veroorsaak. In hierdie geval gebruik ons 'n foutlose voorbeeldkode, wat die fout kan veroorsaak tussen die verbinding tussen Leonardo en u rekenaar.

Stap 3: BIBLIOTEEKMAPPER

Arduino's is in staat om baie data te verwerk. Dit is nodig dat hierdie kode ook nodig is om hierdie data korrek op te stel. Hierdie kode is nie eindeloos vir ons om te skryf nie, ons kan gebruik maak van Arduino Libraries, biblioteektekens van sekere sensors wat 'n stuk werk en 'n werk kan maak. Ons projek gebruik drie soortgelyke biblioteke: Wire, I2Cdev en MPU6050. Die Arduino -sagteware het 'n goeie basis vir die ingeboude biblioteke, maar ook ons eerste (draad) biblioteek, maar die twee ander dienste kan ons self nog installeer:

  • Volg hierdie skakel en klik op 'Klone of aflaai' en laai die zip -lêer af
  • Pak die zip -lêer vir toegang tot die lêers.
  • In die bekende kaart vind u dit via i2cdevlib-master> Arduino de folders 'I2Cdev' en MPU6050.
  • Kopieer beide kaartjies na die Arduino -kaart via C> programlêers> Arduino> biblioteke.

!!! As u die sagteware self installeer, kan u 'n ander plek spesifiseer. Dit is nie die bedoeling dat u self 'n kaart kan aanpas nie.

  • Sluit die Arduino -sagteware af en begin weer toegang tot die biblioteke kry.
  • Via Schets> Bibliotheek Gebruik kan u ook I2Cdev en MPU6050 beheer.

Stap 4: ACCELEROMETER - DE THEORIE

ACCELEROMETER - DE THEORIE
ACCELEROMETER - DE THEORIE

'N Versnellingsmeter werk op die basis van die piëzo -elektriese effek. Stel u 'n kubusvormige doosje vir waar 'n klein balletjie in 'n sit (soos in die buitengewone illustrasie) waar elke wand gemaak word uit piëzo -elektroniese kristalle. Wanneer u die kubus kan verplaas, kan die balletjie na die swaartekracht kom. Waar die balletje van die kubus die raakt kan ontplooi, is daar piëzo -elektriese stroom. Die drie paar selfs wydige wande van die kubus word gekoppel aan die gedroogde dimensionele X, Y en Z assen. Afsonderlik van die piëzo -elektriese stroom kan saamgestel word terwyl ons dit in drie dimensies kan bepaal.

Om 'n praktiese voorbeeld te gee: In elke slimfoon is ook 'n versnellingsmeter standaard. Hierdie sorg is onder andere vir die skerm wat u outomaties kan gebruik as u smartphone.

Stap 5: ACCELEROMETER - DE PRAKTIJK

ACCELEROMETER - DE PRAKTIJK
ACCELEROMETER - DE PRAKTIJK

Ons weet dat 'n versnellingsmeter in die X, Y en Z as 'n ander kan gebruik word, maar met ons Arduino -sagteware kan ons data ook werklik en opvolgen sien. Om dit te doen, kan u ook volg:

Sluit die versnellingsmeter volgens die boonste skema en verbind die Arduino Leonardo met u rekenaar

!!! Die versnellingsmeter kan van die nodige pinne gebruik gemaak word om op 'n broodbord te werk, maar hierdie pinne kan ook nog nie gesoek word nie. U kry die beste opsie om u broodbord te plaas (bespaart plek) of selfs in ons voorbeeld.

  • Laai ons 'MPU6050_intro' -lêer af en maak hierdie in die Arduino -sagteware oop.
  • Beheerder van jou bordtipe en poort nog steeds staan staan.
  • Klik in die linkerbovenhoek op die program om dit te laai.
  • Kies via hulpmiddels> Seriële monitor
  • Een nuwe venster kan met 3 kolomme met getalle, dit is die versnellings in X, Y en Z assen.
  • U kan die versnellingsmeter in alle rigtings sien.

Terwyl ons ons versnellingsdata vir ons het, kan ons werkende werk doen vir ons spelbeheerder. Leg die Arduino en versnellingsmeter op die tafel en gemiddelde gemiddelde X en Y waarde (mag 'n ruwe skatting wees). Onderneem daarna volgende stappe:

  • Kantel van die versnellingsmeter 45 ° na regs en noteer die gemiddelde X waarde.
  • Versnellingsmeter 45 ° na skakels en gemiddelde gemiddelde waarde.
  • Kantel van versnellingsmeter 45 ° na gemiddelde gemiddelde waarde.
  • Kantel van versnellingsmeter 45 ° na agter en noteer die gemiddelde Y waarde.

Stap 6: SPELBEHEERDER

SPELBEHEERDER
SPELBEHEERDER

Klaar vir die werklike werk! Ons gebruik ons versnellingsmeter saam met twee drukknoppies om ons eie spelbeheerder te gebruik. Koppel die Arduino en versnellingsmeter vir die bou van die geheel weer volgens die boonste skema.

!!! Die mini -drukknoppies het baie keer 'n buiging in sy buurte. Druk die plat met 'n punt om hulle te maak in u broodbord.

  • Laai ons 'MPU6050_gamecontroller' -lêer af en maak hierdie in die Arduino -sagteware oop.
  • Verbind u Arduino en klik in die linkerbovenhoek om die program op te laai.
  • Die Arduino Leonardo stuur nou konstante inligting na u rekenaar. As u die data selfs kan aanskakel, dan kan u die draad op pin 12 selfs verbind, en dit kan weer verbind word as u verder gaan.
  • Proficiat! U het nou 'n basiese kontroleerder gemaak, en u kan dit eers op 'n pacman uitvind.

Geen paniek as u kontroleerder nie meteén doen wat u benodig nie. Dit dui bloot aan dat ons nie die kalibrasie vir die bestuurder kan gebruik om ons nommer te gebruik nie. Daarvoor duiken ons in die Arduino -kode

Stap 7: KODE - GEBRUIKTE BIBLIOTEKE

KODE - GEBRUIKTE BIBLIOTEKE
KODE - GEBRUIKTE BIBLIOTEKE

Die leuke aan Arduino -kode is dat hierdie snel aanpasbaar is sonder dat jy 'n uitgebreide programmeerkennis moet hê. Om u te help om oorlopen, kan ons kortliks vind wat u vind, en wat u kan aanpas om u kontroleerder te kalibreer.

In die 'MPU6050_gamecontroller' -kode vind u 'n volledige tekst vir die lig. Dit is 'n tekst wat geen invloed op die kode kan hê nie, maar dit moet die kode struktureer. Ook tekst wat na // kom, kan die kode en funksies as verduideliking vereis. Die eerste werklike kode vind ons terug onder die titel 'Gebruikte biblioteke', en daar is 'n aantal biblioteke wat ons in die drie beste installasies kan hê.

  • #insluit gee aan dat ons die 'IC2dev' bibliotheek gaan gebruik
  • const int ENABLE = 12 gee aan dat ons 12 as veiligheid gebruik. Is hierdie pin nie outomaties gestop nie.
  • const int A_BUTTON = 6 gee aan dat 'n knop aangesloten op poort 5 is

!!! Die kode onder die opset is 'n afsprake tussen u rekenaar en u rekenaar oor hierdie kommunikasie, maar in die geval dat ons hierdie kode gebruik, kan dit net soos dit is.

Stap 8: KODE: LOOP

KODE: LOOP
KODE: LOOP

Onder die titel 'Lus' vind u die lynkode sonder om te stop as ons Arduino Leonardo -woord met die rekenaar en pin 12 aangeskakel word. Dit is ook 'n deel van die kode waar ons die meeste kan aanpas. Die kode onder 'knoppie A' en 'knoppie B' is gekoppeld aan ons mini -drukknoppies en u kan die deur in die kode Keyboard.release ('a') enKeyboard.release ('a') twee maal de ('a') aanskakel vervang deur deur watter ander sleutelbord toets.

!!! Sommige sleutelbordtoetsen moet u nie regstreeks kan invoer nie, maar ons het slegs 'n kode. 'Zou' die knop 'Wis' moet insluit as 'KEY_DELETE' van die desimale waarde '212'. Een lys van hierdie soort uitsonderings binne hierdie vind u via hierdie skakel. Wil u nog meer inligting en dan kan u die beste keer na die ASCII -tabel kyk.

Onder die regterkant, links, op en af vind u 'n vrye kode as by die knoppies, die groot verskil kan in die as (accx <-20000) deel van die kode wees. Dit verwys na die versnellingsmeter: as die versnellingsmeter na regterkant en 'n waarde kleiner dan -20000 word dit dan deur die rechter pyltoets (KEY_RIGHT_ARROW) ingedien. Kantels word weer na skakels verander en die waarde groter dan -20000 word, en dit kan die regte posisies weer verander.

Hier kom die genoteerde waardering uit stap vyf van pas. U kan kennis neem van die spesifieke versnellingsmeter vir kalibrering. U kan hierdie waardering vir u self instel.

Tenslotte vind ons heeltemal onder die kode vertraging (50). Hierdie stuk kode vertaal die aantal sleutelbordtoetsen waarmee u die rekenaar kan deurskakel. Merk dat die beheerder baie kommando se deurwagte en groter kan word met enkele tye. Reageer alles wat jy kan doen en wat jy kan doen.

Proef en fout is die boodskap!

Aanbeveel: