Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Arduino-Gamecontroller

Komponenten und Verbrauchsmaterialien

SparkFun Pro Micro - 5V/16MHz
× 1
Arduino Leonardo
× 1
SparkFun Drucktastenschalter 12 mm
× 12
Widerstand 10k Ohm
× 1
Benutzerdefinierte geätzte Leiterplatte
× 1
UTSOURCE Electronic Parts
× 1

Notwendige Werkzeuge und Maschinen

Eisenchloridpulver
3D-Drucker (generisch)
Bohrschrauber / Akkuschrauber

Apps und Onlinedienste

Arduino-IDE
Autodesk Fusion 360

Über dieses Projekt

VIDEO

EINFÜHRUNG

In diesem Beitrag geht es also um einen "DIY Gaming USB Controller" an dem wir kürzlich bei ElectroPunkz Labs gearbeitet haben.

Die Idee hier ist, einen billigen USB-Controller auf Atmega32U-Basis mit Tasten und analogen Joysticks herzustellen, der zum Spielen von Spielen verwendet werden kann

wie NFS, GTA, Halbwertszeit, LITTLE FIGHTER 2! usw.

Wir haben unseren Controller in zwei Formfaktoren hergestellt, der erste basiert auf der PS1- oder SNES-Konfiguration und der andere ist ein direkter Xbox-USB-Controller mit analogen Sticks und Tasten (noch nicht fertiggestellt)

Wir werden in diesem Beitrag V1 erstellen, den PS1-Layout-Controller!

Es ist besser, wenn Sie sich zuerst das Video des Projekts ansehen-

MATERIALIEN

die Hardware ist ziemlich einfach und leicht zu bekommen (mit Ausnahme der Platine können Sie Ihre eigene mit der beigefügten PDF-Datei von PCB erstellen)

  • Arduino Leonardo/ Pro Micro/ Atmega32U
  • Tasten (Tick-Tack-Schalter)
  • Individuell geätzte Leiterplatte (Buttonmatrix-PDF ist beigefügt)
  • 10K Widerstände
  • Überbrückungsdrähte

Danke UTSOURCE.net bietet elektronische Komponenten für dieses Projekt an! Sie können UTSOURCE.net überprüfen, sie handeln mit allen Arten von elektronischen Komponenten, wie zum Beispiel alle Komponenten, die in diesem Projekt verwendet werden!

ERSTELLTER PROZESS (Verkabelung, Montage , usw.)

Das erste, was wir tun müssen, ist das Basis-Setup vorzubereiten, das im Wesentlichen aus 12 Drucktasten besteht, die in einer Pulldown-Konfiguration mit einem Pro Micro verbunden sind, im Wesentlichen dies-

Wir haben dies auf einem Steckbrett getestet und dann eine Platine gemäß dem obigen Schema vorbereitet.

Nach der Herstellung der Leiterplatte (in OrCad-Kadenz) haben wir das PDF der TOP-Schicht auf ein Hochglanzpapier gedruckt.

Ich schneide das Glanzpapier entsprechend der PCB-Form und lege es auf eine kupferplattierte Platte und wende Wärme darauf an, um die Tinte vom Glanzpapier auf die kupferplattierte Platte zu übertragen. (Einfache Tonübertragungsmethode, sehen Sie sich mein Video zu diesem Thema an)

Nachdem wir die Platine vorbereitet hatten, ließen wir sie in eine Ätzlösung fallen und ätzten die Platine, danach bohrten wir nur Löcher für Komponenten und unsere DIY GAME CONTROLLER PCB war bereit!

Dann haben wir einfach alles nach Schema draufgelegt und die Schaltung war fertig.

Nachdem wir die Schaltung vorbereitet hatten, haben wir das PCB-Gehäuse/-Gehäuse für den Controller in Fusion360 entworfen und in 3D gedruckt.

Jetzt müssen wir nur noch den Code hochladen und ein paar Spiele damit spielen.

CODE

Laden Sie den bereitgestellten Code auf Ihrem Pro Micro hoch.

Ratschlag, testen Sie zuerst Ihr Board / Setup gründlich, überprüfen Sie den Widerstand und die Konnektivität der PCB-Leiterbahnen, denn wenn etwas fehlt, würde dies viele Tastaturfehler verursachen, da fehlende Masseleitungen unregelmäßige Signale an die Pins senden und Ihr Pro-Mikro hält beim Drücken von zufälligen Tasten, was die Neuprogrammierung des Pro micro sehr schwierig macht.

TESTEN

Das erste, was Sie tun müssen, ist Notepad zu öffnen, die Tasten Ihres Controllers zu drücken und zu überprüfen, ob die Tasten auf der Presse die richtigen Wörter anzeigen, die zugewiesen sind

oder verwenden Sie einfach eine beliebige Tastaturtest-App oder Web-App.

Wenn alles gemäß dem Code funktioniert, öffnen Sie ein beliebiges Spiel und spielen Sie es mit dieser DIY-SPIELKONSOLE!

schau dir das Video an-

WEITERE VERBESSERUNGEN

Nun, das erste, was ich zu diesem Setup hinzufügen werde, sind analoge Joysticks zum Spielen richtiger Spiele, die eine Maus zum Navigieren des Spielers verwenden, ähnlich wie die XBOX ONE CONSOLE.

V2 wird eine richtige Platine mit XBOX One Controller-Layout haben, also bleib dran.

Hinterlasse einen Kommentar, wenn du ein Problem hast!

Code

  • CODE
CODEC/C++
#include int WPin =2; // UP int SPin =3; // DOWNint APin =4; // LINKS int DPin =5; // RIGHTint UPLpin =7; // oberes linkes Qint UPRpin =9; // oben rechtsint Xpin =14; // xint Apin =10; // iint Ypin =15; // yint Bpin =16; // bvoid setup () {pinMode (WPin, INPUT); pinMode (SPin, EINGANG); pinMode (APin, EINGANG); pinMode (DPin, EINGANG); pinMode (UPLpin, EINGANG); pinMode (UPRpin, EINGANG); pinMode (Xpin, EINGANG); pinMode (Apin, EINGANG); pinMode (Ypin, EINGANG); pinMode (Bpin, EINGANG); digitalWrite (WPin, HOCH); digitalWrite (SPin, HIGH); digitalWrite (APin, HIGH); digitalWrite (DPin, HIGH); digitalWrite (UPLpin, HIGH); digitalWrite (UPRpin, HIGH); digitalWrite (Xpin, HOCH); digitalWrite (Apin, HIGH); digitalWrite (Ypin, HIGH); digitalWrite (Bpin, HIGH); Tastatur.begin(); }void loop () { if (digitalRead (WPin) ==0) { Keyboard.write ('W'); VerzögerungMikrosekunden(1); } if (digitalRead (SPin) ==0) { Keyboard.write ('S'); VerzögerungMikrosekunden(1); } if (digitalRead (APin) ==0) { Keyboard.write ('A'); VerzögerungMikrosekunden(1); } if (digitalRead (DPin) ==0) { Keyboard.write ('D'); VerzögerungMikrosekunden(1); } if (digitalRead (UPLpin) ==0) { Keyboard.write ('q'); VerzögerungMikrosekunden(1); } if (digitalRead (UPRpin) ==0) { Keyboard.write ('e'); VerzögerungMikrosekunden(1); } if (digitalRead (Xpin) ==0) { Keyboard.write ('x'); VerzögerungMikrosekunden(1); } if (digitalRead (Apin) ==0) { Keyboard.write ('i'); VerzögerungMikrosekunden(1); } if (digitalRead (Ypin) ==0) { Keyboard.write ('y'); VerzögerungMikrosekunden(1); } if (digitalRead (Bpin) ==0) { Keyboard.write ('b'); VerzögerungMikrosekunden(1); }} 

Kundenspezifische Teile und Gehäuse

Schaltpläne


Herstellungsprozess

  1. Arduino-Gyroskop-Spiel mit MPU-6050
  2. Arduino Digital Dice
  3. Arduino Nano Tetris-Spiel auf hausgemachter 16x8-Matrix
  4. Arduino-betriebene Wasserflasche
  5. Pixel-Chaser-Spiel
  6. Arduino Home Controller aktiviert von Alexa
  7. NeoMatrix Arduino Pong
  8. Smart Hand Handschuh
  9. DIY Arduino 1D Pong-Spiel mit WS2812 LED-Streifen
  10. Arduino DMX-512 Tester Controller