สารบัญ:

ตัวควบคุมเกมมาตรความเร่ง: 8 ขั้นตอน
ตัวควบคุมเกมมาตรความเร่ง: 8 ขั้นตอน

วีดีโอ: ตัวควบคุมเกมมาตรความเร่ง: 8 ขั้นตอน

วีดีโอ: ตัวควบคุมเกมมาตรความเร่ง: 8 ขั้นตอน
วีดีโอ: Gain วอลุ่มเพาเวอร์เร่งเท่าไหร่? เร่งมิกซ์เท่าไหร่ให้เสียงที่ดี ไม่แตก 2024, พฤศจิกายน
Anonim
ตัวควบคุมเกมมาตรความเร่ง
ตัวควบคุมเกมมาตรความเร่ง

ข้อความ Voorlopige…

ขั้นตอนที่ 1: วัสดุ

วัสดุ
วัสดุ
  • Arduino Leonardo: en microcontroller-bord als brein van onze game controller.
  • สาย Micro USB: ตัวควบคุมเกม om onze ใช้งานได้กับคอมพิวเตอร์
  • เขียงหั่นขนม: zo hoeven we niet te solderen en blijft ons ontwerp makkelijk aanpasbaar.
  • สายจัมเปอร์เขียงหั่นขนม: om alle componenten พบกับ elkaar te verbinden
  • MPU6050 มาตรความเร่ง: เซ็นเซอร์ตรวจจับการตายในที่ต่างๆ ที่หลากหลาย ริชทิงเกน แคน lezen, zoals je vaak ในสมาร์ทโฟน, hoverboards en balancerende หุ่นยนต์ vindt.
  • ปุ่มกดขนาดเล็ก Twee: om knoppen te programmeren die los staan van onze accelerometer

ตัวเลือก:

เขียงหั่นขนมและ Arduino houder: om compact te kunnen werken

ขั้นตอนที่ 2: ซอฟต์แวร์ ARDUINO

เริ่มต้นขึ้น โปรแกรมเมอร์เพร็ท hebben we de juiste software nodig om het brein van onze game controller, en 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 ซอฟต์แวร์ op พื้นฐาน van je ระบบปฏิบัติการ
  • คลิ้กดาวน์โหลด.
  • Je hebt nu een (.exe) bestand dat je uitvoert door er op te dubbel คลิก om de installatie te vervolledigen.

!!! Wij hebben onze controller gecreëerd พบกับ het gedownloade programma สำหรับ Windows App เทียบกับเดิม maar kan kleine verschillen hebben ใน aanpak

  • เปิดซอฟต์แวร์ Arduino
  • Connecteer je Arduino Leonardo พบกับ je micro USB กับคอมพิวเตอร์, ไดรเวอร์ 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 ผ่าน Bestand > Voorbeelden > 01. Basics > Blink om een voorbeeldprogramma te openen.
  • รายละเอียดเพิ่มเติมเกี่ยวกับ Hulpmiddelen > Board > Arduino Leonardo om de software te laten weten welk type board wij gaan gebruiken.
  • ตัวเลือกแบบต่างๆ ที่น่าสงสาร Hulpmiddelen > Poort > COMx (Arduino Leonardo te kiezen. Dit doe je om aan te geven via welke USB poort je Arduino communiceert.
  • คลิกลิงก์จากลิงก์โบเวนฮุก op het pijltje symbool om het voorbeeldprogramma te uploaden.
  • ลิงก์ที่ได้รับ zie je een บ่งชี้ว่า 'อัปโหลด voltooid' สำเร็จแล้ว

!!! ในขณะที่อัปโหลด niet lukt en een ขี่ม้า foutmelding geeft dan ligt dit vaak aan een fout ในรหัส ใน dit geval gebruiken เรา een foutloze voorbeeldcode, waardoor de fout bij de connectie tussen de Leonardo en je computer moet liggen

ขั้นตอนที่ 3: โฟลเดอร์ไลบรารี

zijn ของ Arduino ใน staat om heel veel data te verwerken Dit zorgt er voor dat er ook veel code nodig is om deze data correct te คอมไพเลอร์ Om deze code niet eindeloos lang en complex te schrijven, maken wij gebruik van Arduino Libraries, bibliotheken van code die bepaalde เซ็นเซอร์ gaan sturen en ons werk een stuk makkelijker maken. ในโครงการ gebruik drie soortgelijke ห้องสมุด: Wire, I2Cdev en MPU6050 ซอฟต์แวร์ Arduino พื้นฐานสำหรับไลบรารี ingebouwd, ยังok onze eerste (Wire) บรรณานุกรม, ผู้ดูแลระบบ, เราติดตั้ง:

  • Volg deze link ที่คลิก op 'Clone or Download' en download de ZIP file
  • ไฟล์ ZIP Pak uit om toegang te krijgen tot de bestanden.
  • ในแผนที่ vind je ผ่าน i2cdevlib-master > Arduino de folders 'I2Cdev' en MPU6050
  • Kopieer beide mappen กับ Arduino map ผ่าน C > Program Files > Arduino > Libraries

!!! อินเดีย 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 ก่อนเริ่มใช้งาน op om toegang tot de libraries ก่อนใช้งาน
  • Via Schets > บรรณานุกรม Gebruiken kan je controleren of nu ook I2Cdev en MPU6050 te vinden zijn.

ขั้นตอนที่ 4: เครื่องวัดความเร่ง - DE THEORIE

มาตรความเร่ง - DE THEORIE
มาตรความเร่ง - DE THEORIE

มาตรความเร่ง werkt op พื้นฐาน van het piezoelectrisch effect. Stel je een kubusvormig doosje voor waar een klein balletje in zit (zoals in de bovenstaande ภาพประกอบ) 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 driedimensionale X, Y en Z อัสเซน Afhankelijk van de piezoelectrische stroom geproduceerd langs deze wanden kunnen we zo de versnelling in drie dimensies bepalen. เพิ่มเติม

Om een praktijkvoorbeeld te geven: ในสมาร์ทโฟน elke zit tegenwoordig ook มาตรฐานและมาตรความเร่ง Deze zorgt er onder andere voor dat je scherm automatisch meedraait als je สมาร์ทโฟน kantelt

ขั้นตอนที่ 5: เครื่องวัดความเร่ง - DE PRAKTIJK

เครื่องวัดความเร่ง - DE PRAKTIJK
เครื่องวัดความเร่ง - DE PRAKTIJK

เราใช้เครื่องวัดความเร่งใน de X, Y en Z อย่างที่เป็นกัน, maar ได้พบกับซอฟต์แวร์ Arduino kunnen onze เราตาย data ok echt zien en opvolgen Om dit te doen ga je als volgt te werk:

มาตรวัดความเร่งของเครื่องวัดความเร่ง aan volgens bovenstaand schema en verbind de Arduino Leonardo พบกับคอมพิวเตอร์

!!! ตัวตรวจวัดความเร่งของคำว่า 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) ของ evenwijdig zoals ใน ons voorbeeld

  • ดาวน์โหลดบน 'MPU6050_intro' ที่ดีที่สุดและเปิด deze ในซอฟต์แวร์ Arduino
  • ผู้ควบคุมของประเภทบอร์ด en poort nog steeds juist staan
  • คลิกลิงก์จากลิงก์โบเวนฮุก op het pijltje om het programma up te loaden.
  • Selecteer ผ่าน 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 ใน alle richtingen te zien.

เราเปิดข้อมูลทั้งหมดสำหรับตัวควบคุมเกม hebben kunnen เราพบผู้ควบคุมเกม ขา Arduino en accelerometer plat op de tafel en noteer gemiddelde X en Y waarde (mag een ruwe schatting zijn) Onderneem daarna volgende stappen:

  • ตัวตรวจวัดความเร่ง 45° กับ rechts en noteer de gemiddelde X waarde
  • ตัวตรวจวัดความเร่ง 45° ที่ลิงก์ en noteer de gemiddelde X waarde
  • ตัวตรวจวัดความเร่ง 45° กับ en noteer de gemiddelde Y waarde
  • ตัวตรวจวัดความเร่ง 45° กับ acter en noteer de gemiddelde และ waarde

ขั้นตอนที่ 6: ตัวควบคุมเกม

ตัวควบคุมเกม
ตัวควบคุมเกม

Klaar voor het echte werk! เรา gebruiken onze accelerometer Samen พบกับ 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 ใน hun beentjes. Druk die plat met een punttang om ze makkelijker in je เขียงหั่นขนม te krijgen.

  • ดาวน์โหลดบน 'MPU6050_gamecontroller' ที่ดีที่สุดและเปิด deze ในซอฟต์แวร์ Arduino
  • คำศัพท์ที่ใช้กับ Arduino แบบคลิกบนลิงค์จากลิงค์ op het pijltje om het programma up te loaden
  • 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 ตัวควบคุมพื้นฐาน gemaakt ทดสอบ het gerus eens uit op pacman

Geen paniek als je controller niet metééen doet wat je had verwacht. Dat betekent gewoon dat we nog calibratie werk hebben om de controller aan te passen ที่ onze noden. Daarvoor duiken เราอยู่ในรหัส Arduino

ขั้นตอนที่ 7: รหัส - ห้องสมุดที่ใช้แล้ว

รหัส - ห้องสมุดที่ใช้แล้ว
รหัส - ห้องสมุดที่ใช้แล้ว

Het leuke aan รหัส Arduino คือ dat deze snel aanpasbaar is 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 กาลิเบรเรน

ในรหัส '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 โครงสร้าง Ook tekst ตาย na // komt, staat los van de code en dient als verduidelijking. ดูรายละเอียดโค้ด vinden we terug onder de titel 'Used Libraries', daar herken je meteen de Libraries die we in stap drie 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 on programma automatisch.
  • const int A_BUTTON = 6 geeft aan dat onze A knop aangesloten นั้นไม่ดี 5

!!! เปิดใช้งานโค้ดบน ตั้งค่า zijn afspraken tussen je Arduino en je computer over hoe deze communiceren, in ons geval laten we dit deel code gewoon zoals ze is.

ขั้นตอนที่ 8: รหัส: LOOP

รหัส: LOOP
รหัส: LOOP

ชื่อเรื่อง 'Loop' กับโค้ดที่ตายตัว ไม่หยุดทำงาน และเปิดใช้งาน Arduino Leonardo verbonden ถูกพบจากคอมพิวเตอร์และพิน 12 คือ aangesloten Het is ook meteen het deel van de code waar we het meest kunnen อานพาสเซน. รหัส onder 'ปุ่ม A' กับ 'ปุ่ม B' คือ gekoppeld aan onze ปุ่มกดขนาดเล็ก kan je aanpassen ประตูในรหัส Keyboard.release ('a') enKeyboard.release ('a') ทวี maal de ('a') te vervangen ประตู eender welke และคีย์บอร์ด toets

!!! Sommige keyboardtoetsen moet kan je niet rechtstreeks intypen maar hebben een code. ซอมมิจ Zo zou je de 'Delete' เคาะ moet ingeven als 'KEY_DELETE' ของ als ทศนิยม 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 ตาราง

ทางขวา ซ้าย ขึ้นและลง vind je vrij gelijkaardige code als bij de buttons, het grote verschil zit hem in het if (accx < -20000) deel van de code. ขอบเขตของมาตรวัดความเร่ง: มาตรวัดความเร่งและตัววัดความเร่งและตัววัดความเร่ง - -20000 และตัววัดความเร่ง (KEY_RIGHT_ARROW) ในตัว ลิงก์ไปยังลิงก์ที่ลิงก์โดยใช้คำค้นหาและที่อยู่ -20000 และอีกจำนวนมาก

Hier komen de genoteerde waarden uit stap vijf van pas. เพิ่มเติม ข้อมูลที่เกี่ยวข้อง 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 code vertraagt het aantal คีย์บอร์ด toetsen die je คอมพิวเตอร์ doorkrijgt. Merkje dat je controller te veel commando's doorgeeft และ verhoog je dit getal met enkele tientallen. Reageert อัลเลส te traag dan verklein je het getal wat.

ข้อผิดพลาดในการทดลองใช้คือ de boodschap!

แนะนำ: