جدول المحتويات:

جهاز تحكم التسارع: 8 خطوات
جهاز تحكم التسارع: 8 خطوات

فيديو: جهاز تحكم التسارع: 8 خطوات

فيديو: جهاز تحكم التسارع: 8 خطوات
فيديو: كيفية برمجة الريموت المتعدد علي كافة الاجهزة | عبدالله عياط | 2024, يوليو
Anonim
جهاز تحكم التسارع
جهاز تحكم التسارع

نص فورلوبيج …

الخطوة 1: المواد

المواد
المواد
  • Arduino Leonardo: وحدة تحكم لعبة Een Microcontroller-bord als brein van onze.
  • كابل Micro USB: وحدة تحكم لعبة om onze aan te sluiten aan een computer.
  • اللوح: zo hoeven we niet te solderen en blijft ons ontwerp makkelijk aanpasbaar.
  • أسلاك توصيل اللوح: om all alle componenten met elkaar te verbinden.
  • مقياس التسارع MPU6050: مستشعر een يموت في صيغة Richtingen de verschillende richtingen kan lezen ، zoals je vaak في الهواتف الذكية ، hoverboards en balancerende robots vindt.
  • أزرار الضغط الصغيرة المزدوجة: مقياس التسارع om knoppen te programmeren die los staan van onze.

Optioneel:

Breadboard en Arduino houder: om Compact te kunnen werken

الخطوة الثانية: برنامج أردوينو

Voor We kunnen startnen aan de bouw- en programmeerpret heben we de juiste software nodig om het brein van onze game controller ، een Arduino Leonardo ، te kunnen besturen. Om dit te installeren، ga je als volgt te werk:

  • Ga عبر volgende link naar de downloadpagina van Arduino:
  • Kies voor de juiste software op base de van je Operating system.
  • Klik المرجع تنزيل.
  • Je hebt nu een (.exe) bestand dat je uitvoert door er op te dubbel klikken om de installatie te vervolledigen.

!!! Wij heben onze controller gecreëerd مع برنامج gedownloade. نسخة من تطبيق Windows يمكن حتى أن يكون ، maar kleine verschillen hebben in aanpak.

  • برنامج Open de Arduino.
  • Connecteer je Arduino Leonardo met je micro USB kabel aan je computer، de Leonardo drivers worden automatisch geïnstalleerd (dit gebeurt enkel als het de eerst keer is dat je de Arduino aansluit).

تم تصميم هذا البرنامج مع برنامج Arduino ، من Je كونترولرت Graag eens من je Arduino Leonardo foutloos verbinding maakt met je computer ، dan kan je dat makkelijk testen met een voorbeeldprogramma:

  • Kies via Bestand> Voorbeelden> 01. Basics> Blink om een voorbeeldprogramma te openen.
  • Vervolgens kies je bij Hulpmiddelen> المجلس> 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.
  • Klik in 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.

!!! هذا ما تم تحميله من خلال التعليمات البرمجية. في dit geval gebruiken نحن foutloze voorbeeldcode، waardoor de fout bij de connectie tussen de Leonardo en je computer moet liggen.

الخطوة الثالثة: مجلد المكتبة

zijn في Arduino's staat om heel veel data te verwerken. Dit zorgt er for dat er ook veel code nodig is om deze data right compileren. Om deze code niet eindeloos lang en complex te schrijven، maken wij gebruik van Arduino Libraries، bibliotheken van code die bepaalde sensors gaan sturen en ons werk een stuk makkelijker maken. Ons project gebruik dée soortgelijke libraries: Wire، I2Cdev en MPU6050. برنامج De Arduino هو الأساس الذي تستند إليه مكتبات ingebouwd ، و bibliotheek (Wire) ، و 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 من om toegang te krijgen tot de bestanden.
  • في خريطة bekomen vind je عبر i2cdevlib-master> Arduino de folder 'I2Cdev' en MPU6050.
  • Kopieer beide mappen naar de Arduino map عبر 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.

  • Sluit de Arduino software af en start ze opnieuw op om toegang to de libraries te krijgen.
  • عبر Schets> Bibliotheek Gebruiken kan je controleren of nu ook I2Cdev en MPU6050 te vinden zijn.

الخطوة 4: مقياس التسارع - DE THEORIE

المسرع - DE THEORIE
المسرع - DE THEORIE

مقياس التسارع يعمل على أساس تأثير الضغط الكهربائي الانضغاطي. 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. وَر هيت باليه دي كوبوس واندين راكت على مستوى الكهرباء الضغطية. دي ديري بار إيفويجديج واندين فان دي كوبوس وردن جيكوبلد أن دي دي ديريدينسيونالي إكس ، واي أون زي أسين. Afhankelijk van de piezoelectrische stroom geproduceerd langs deze wanden kunnen we zo de versnelling in dry dimensies bepalen.

Om een praktijkvoorbeeld te geven: في الهاتف الذكي elke zit tegenwoordig ook standaard een التسارع. Deze zorgt er onder andere for dat je scherm automatisch meedraait als je smart kantelt.

الخطوة 5: مقياس التسارع - DE PRAKTIJK

مسرع - DE PRAKTIJK
مسرع - DE PRAKTIJK

لقد قمنا بترطيب مقياس التسارع في de X و Y en Z كما كان متينًا ، التقينا ببرنامج Arduino على الرغم من أننا نموت البيانات أو أي شيء آخر zien en opvolgen. Om dit te doen ga je als volgt te werk:

مقياس التسارع Sluit de aan volgens bovenstaand schema en verbind de Arduino Leonardo met je computer

!!! مقياس التسارع wordt voorzien van de nodige pinnen om makkelijk op een breadboard te prikken، maar deze pinnen dienen well 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' بشكل أفضل وفتح deze في برنامج de Arduino.
  • المتحكم في je boardtype en poort nog steeds juist staan.
  • Klik in de linkerbovenhoek op het pijltje om het programma up te loaden.
  • Selecteer عبر Hulpmiddelen> Seriële Monitor
  • التقى Een nieuw venster opent مع 3 kolommen met getallen، dit zijn de versnellingen in de X، Y en Z assen.
  • مقياس التسارع Beweeg je om de versnellingen in alle richtingen te zien.

Terwijl we onze versnellingsdata voor ons heben kunnen التقينا verkennend werk doen for onze game controller. Leg de Arduino en التسارع plat op de tafel en noteer gemiddelde X en Y waarde (mag een ruwe schatting zijn). Onderneem دارنا فولجيندي ستابن:

  • مقياس التسارع Kantel de 45 ° يسجل في noteer de gemiddelde X waarde.
  • Kantel de التسارع بزاوية 45 درجة على الروابط في noteer de gemiddelde X waarde.
  • Kantel de التسارع بزاوية 45 درجة عند ملاحظة في gemiddelde Y waarde.
  • مقياس التسارع Kantel de 45 ° إلى achter en noteer de gemiddelde Y waarde.

الخطوة 6: أداة التحكم في اللعبة

تحكم اللعبة
تحكم اللعبة

Klaar for het echte werk! نحن gebruiken onze التسارع samen التقى twee drukknoppen om het brein van onze eigen game controller te worden. Koppel de Arduino en التسارع los en bouw het geheel opnieuw op volgens bovenstaand schema.

!!! أزرار الضغط البسيطة هيبين فاك إيهين بويجينج في هون بينتجيس. Druk die plat met een punttang om ze makkelijker in je breadboard te krijgen.

  • قم بتنزيل 'MPU6050_gamecontroller' best and open deze في برنامج de Arduino.
  • Verbind je Arduino en klik in de linkerbovenhoek op het pijltje om het programma up te loaden.
  • ليوناردو دي أردوينو ستورت نو باب معلوماتي ثابت على الكمبيوتر. 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.
  • بروفيسيات! جي هيبت نو إن وحدة تحكم الأساس gemaakt ، اختبار هيت gerust eens uit op pacman.

Geen paniek als je controller niet metéén doet wat je had verwacht. ضع علامة على gewoon dat we nog calibratie werk hebben om de controller aan te passen naar onze noden. Daarvoor Duiken نحن في كود دي اردوينو

الخطوة 7: الكود - المكتبات المستعملة

كود - مكتبات مستعملة
كود - مكتبات مستعملة

كود Het leuke aan Arduino هو dat deze snel aanpasbaar هو zonder dat je daarvoor een uitgebreide programmeerkennis Moet hebben. Om je op weg te helpen overopen we kort waar je wat vindt، en wat je kan aanpassen om je controller kalibreren.

في كود 'MPU6050_gamecontroller' vind je een heleboel lichtgrijze tekst. Dat هو نوع من التعليمات البرمجية غير المقيدة ، يجب أن يكون رمزًا لهيكله. 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 libraries يموت نحن في stap dée geïnstalleerd hebben.

  • #يشمل Geeft aan dat we de مكتبة 'IC2dev' gaan gebruiken
  • const int ENABLE = 12 geeft aan dat we pin 12 gebruiken als veiligheid. هل برنامج deze pin niet verbonden dan stopt ons programma automatisch.
  • const int A_BUTTON = 6 geeft aan dat onze عقدة aangesloten هي نقطة التشغيل 5

!!! إعداد التعليمات البرمجية zijn afspraken tussen je Arduino en je computer over hoe deze connecteren ، في ons geval في وقت لاحق ، قمنا بتثبيت كود gewoon zoals ze هو.

الخطوة 8: الكود: LOOP

الكود: LOOP
الكود: 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. هذا هو أووك ميتين هيت ديل فان دي كود وار نحن أكثر من كونين أنباسن. De code onder 'button A' en 'button B' هو gekoppeld aan onze mini أزرار الضغط 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 'حذف' knop moet ingeven أيضًا 'KEY_DELETE' من als decimale waarde '212'. Een lijst van dit soort uitzonderingen binnen arduino vind je عبر رابط deze. 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 أيضًا أزرار bij de ، het grote verschil zit hem in het if (accx <-20000) deel van de code. تحقق من مقياس التسارع: مقياس التسارع أيضًا يشير إلى 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 التسارع te kalibreren. Je kan deze waarden bijstellen naargelang je eigen speelstijl.

Tenslotte vinden نحن helemaal onderaan de كود تأخير (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 met enkele tientallen. Reageert alles te traag dan verklein je het getal wat.

خطأ المحاكمة هو دي boodschap!

موصى به: