সুচিপত্র:

অ্যাকসিলরোমিটার গেম কন্ট্রোলার: 8 টি ধাপ
অ্যাকসিলরোমিটার গেম কন্ট্রোলার: 8 টি ধাপ

ভিডিও: অ্যাকসিলরোমিটার গেম কন্ট্রোলার: 8 টি ধাপ

ভিডিও: অ্যাকসিলরোমিটার গেম কন্ট্রোলার: 8 টি ধাপ
ভিডিও: Vivo Y53s Unboxing Bangla |First look & review | Camera & Gaming Phone| Ram 8gb+3gb, Rom 128gb 2024, নভেম্বর
Anonim
অ্যাক্সিলারোমিটার গেম কন্ট্রোলার
অ্যাক্সিলারোমিটার গেম কন্ট্রোলার

Voorlopige টেক্সট…

ধাপ 1: উপাদান

উপাদান
উপাদান
  • Arduino Leonardo: een microcontroller-bord als brein van onze game controller।
  • মাইক্রো ইউএসবি ক্যাবেল: ওম ওনজে গেম কন্ট্রোলার
  • ব্রেডবোর্ড: zo hoeven we niet te solderen en blijft ons ontwerp makkelijk aanpasbaar।
  • ব্রেডবোর্ড জাম্পার ওয়্যারস
  • MPU6050 অ্যাকসিলরোমিটার: een sensor die versnellingen in de verschillende richtingen kan lezen, zoals je vaak in smartphones, hoverboards en balancerende robots vindt।
  • Twee মিনি ধাক্কা বোতাম: om knoppen te programmeren die los staan van onze accelerometer।

বিকল্প:

Breadboard en Arduino houder: om compact te kunnen werken।

ধাপ 2: ARDUINO সফটওয়্যার

Voor we kunnen beginnen aan de bouw- en programmeerpret hebben we de juiste software nodig om het brein van onze game controller, een Arduino Leonardo, te kunnen besturen। ওম দিত তে ইন্সটলারেন, গা জে আলস ভোলগটি তে কাজ:

  • ভোলজেন্ডে লিঙ্কের মাধ্যমে গা ডাউনলোড করুন পেজ ভ্যান আরডুইনো:
  • Kies voor de juiste software op ভিত্তিক ভ্যান জে অপারেটিং সিস্টেম।
  • ডাউনলোড ক্লিক করুন।
  • Je hebt nu een (.exe) bestand dat je uitvoert door er op te dubbel klikken om de installatie te vervolledigen।

!!! উইজ হেববেন অনজ কন্ট্রোলার জেক্রেইয়ার্ড মেট হিট গেডাউনলোড প্রোগ্রাম। De Windows App versi kan dit evengoed, maar kan kleine verschillen hebben in aanpak।

  • Arduino সফটওয়্যার খুলুন।
  • সংযোগকারী Je Arduino Leonardo met micro USB kabel aan je computer, de Leonardo ড্রাইভার worden automatisch geïnstalleerd (dit gebeurt enkel als het de eerst keer is dat je de Arduino aansluit)।

Als je nog niet zo vertrouwd bent met Arduino software, of je controleert graag eens of je Arduino Leonardo foutloos verbinding maakt met je computer, dan kan je dat makkelijk testen met een voorbeeldprogramma:

  • Kies by Bestand> Voorbeelden> 01. Basic> Blink om een voorbeeldprogramma te openen।
  • 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 aan te geven via welke USB poort je Arduino communiceert।
  • De linkerbovenhoek op het pijltje symbool om het voorbeeldprogramma te uploaden এ ক্লিক করুন।
  • লিঙ্ক beneden zie je een indicatie die aantoont dat het programma 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। Dit geval gebruiken এ আমরা een foutloze voorbeeldcode, waardoor de fout bij de connectie tussen de Leonardo en je computer moet liggen।

ধাপ 3: লাইব্রেরি ফোল্ডার

Arduino এর zijn in staat om heel veel data te verwerken। Dit zorgt er voor dat er ook veel code nodig is om deze data correct te compileren। Om deze code niet eindeloos lang en complex te schrijven, maken wij gebruik van Arduino Library, bibliotheken van code die bepaalde sensors gaan sturen en ons werk een stuk makkelijker maken। Ons প্রকল্প gebruik drie soortgelijke লাইব্রেরি: ওয়্যার, I2Cdev এবং MPU6050। De Arduino সফটওয়্যার এর আগে গোয়েডের ভিত্তিতে একটি লাইব্রেরি আছে,

  • Volg deze link en klik op 'Clone or Download' en download de ZIP ফাইল
  • Pak de ZIP file uit om toegang te krijgen tot de bestanden।
  • I2cdevlib-master> Arduino de folders 'I2Cdev' en MPU6050 এর মাধ্যমে de bekomen মানচিত্রে vind je।
  • C> প্রোগ্রাম ফাইল> Arduino> লাইব্রেরির মাধ্যমে Kopieer beide mappen naar de Arduino মানচিত্র।

!!! 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।

  • Sluit de Arduino সফটওয়্যার af en start ze opnieuw op om toegang tot de libraries te krijgen।
  • Via Schets> Bibliotheek Gebruiken kan je controleren of nu ook I2Cdev en MPU6050 te vinden zijn।

ধাপ 4: অ্যাকসেলরোমিটার - ডি থিওরি

ACCELEROMETER - ডি থিওরি
ACCELEROMETER - ডি থিওরি

Ene accelerometer werkt op base van het piezoelectrisch effect। 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 dimensies bepalen।

E pra pra pra pra smartphone smartphone Deze zorgt er onder andere voor dat je scherm automatisch meedraait als je smartphone kantelt।

ধাপ 5: ACCELEROMETER - DE PRAKTIJK

ACCELEROMETER - DE PRAKTIJK
ACCELEROMETER - DE PRAKTIJK

আমরা ডিএইচ, ইউ এন জেড হিসাবে এক্স এক্সেলরোমিটার ডি ভার্সনেলিং ভেজা করি, মার মেট অনজ আরডুইনো সফ্টওয়্যার কুনেন আমরা ডেটা ওকে ইচট জিয়েন এন অপভোলজেন। ওম দিত তে দোয়েন গা জে আলস ভোলগটি তে কাজ:

Sluit de accelerometer aan volgens bovenstaand schema en verbind de Arduino Leonardo met je computer।

!!! De accelerometer wordt voorzien van de nodige pinnen om makkelijk op een breadboard te prikken, maar deze pinnen dienen wel nog gesoldeerd te worden। Je krijgt de optie om die haaks op je breadboard te plaatsen (bespaart plaats) of evenwijdig zoals in ons voorbeeld।

  • 'MPU6050_intro' ডাউনলোড করুন এবং Arduino সফটওয়্যারে ওপেন ডিজে ডাউনলোড করুন।
  • জে বোর্ড টাইপ এন পোর্ট নগ স্টিডস জুইস্ট স্ট্যানের কন্ট্রোলার।
  • লিঙ্কারবোভেনহোক অপ্ট হেট পিজল্টজে ওএম হিট প্রোগ্রামার আপ লোডেন এ ক্লিক করুন।
  • 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 accelerometer 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। লেগ ডি আরডুইনো এন এক্সিলরোমিটার প্ল্যাট অপ ডি টাফেল এন নোটার জেমিডেলডি এক্স এন ওয়াই ওয়ার্ডে (ম্যাগ ইয়েন রুয়ে স্ক্যাটিং জিজান)। Onderneem daarna volgende stappen:

  • Kantel de accelerometer 45 ° naar rechts en noteer de gemiddelde X waarde।
  • Kantel de accelerometer 45 ° naar link en noteer de gemiddelde X waarde।
  • Kantel de accelerometer 45 ° naar voor en noteer de gemiddelde Y waarde।
  • Kantel de accelerometer 45 ° naar achter en noteer de gemiddelde Y waarde।

ধাপ 6: গেম কন্ট্রোলার

গেম কন্ট্রোলার
গেম কন্ট্রোলার

Klaar voor het echte werk! আমরা gezebruiken onze accelerometer samen met twee drukknoppen om het brein van onze eigen game controller te worden। Koppel de Arduino en accelerometer los en bouw het geheel opnieuw op volgens bovenstaand schema।

!!! ডি মিনি ধাক্কা বোতাম hebben vaak een buiging in hun beentjes। Druk die plat met een punttang om ze makkelijker in je breadboard te krijgen।

  • আরডুইনো সফটওয়্যারে 'MPU6050_gamecontroller' ডাউনলোড করুন।
  • Verbind je Arduino en klik in de linkerbovenhoek op het pijltje om het programma up te loaden।
  • De Arduino Leonardo stuurt nu ধ্রুবক তথ্যপ্রযুক্তি দরজা কম্পিউটার। Wil je de datavoer এমনকি 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 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 আমরা ডি Arduino কোড

ধাপ 7: কোড - ব্যবহৃত লাইব্রেরি

কোড - ব্যবহৃত লাইব্রেরি
কোড - ব্যবহৃত লাইব্রেরি

Het leuke aan Arduino code is dat deze snel aanpasbaar is zonder dat je je daarvoor een uitgebreide programmeerkennis moet hebben। ওম জে ওপ ওয়েগ তে হেল্পেন ওভারলোপেন উই কর্ট ওয়ার জে জে ওয়াট ভিন্ট, এন ওয়াট জে কান আনপাসেন ওম জে কন্ট্রোলার কালিব্রেন।

'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 'Used Libraries', daar herken je meteen de লাইব্রেরি আমরা stap drie geïnstalleerd hebben এ মারা যাই।

  • #অন্তর্ভুক্ত geeft aan dat we de 'IC2dev' bibliotheek gaan gebruiken
  • const int ENABLE = 12 geeft aan dat আমরা 12 gebruiken als veiligheid পিন করি। Is deze pin niet verbonden dan stopt ons programma automatisch।
  • 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, ons geval laten আমরা dit deel code gewoon zoals ze is।

ধাপ 8: কোড: লুপ

কোড: লুপ
কোড: লুপ

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 is ook meteen het deel van de code waar we het meest kunnen aanpassen। De code onder 'button A' en 'button B' is gekoppeld aan onze mini push buttons kan je aanpassen door in de code Keyboard.release ('a') enKeyboard.release ('a') twee maal de ('a') te vervangen door eender welke ander keyboard toets।

!!! Sommige keyboardtoetsen moet kan je niet rechtstreeks intypen maar hebben een code। Zo zou je de 'Delete' knop moet ingeven als 'KEY_DELETE' of als decimale waarde '212'। Een lijst van dit soort uitzonderingen binnen arduino vind je 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 in 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 link 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 কোড বিলম্ব (50)। Dat stukje কোড vertraagt het aantal keyboard toetsen die je computer doorkrijgt। 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।

ট্রায়াল এন ত্রুটি হল ডি বুডশ্যাপ!

প্রস্তাবিত: