Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Arduino Atari-adapter

Componenten en benodigdheden

Arduino Micro
× 1

Benodigde gereedschappen en machines

Soldeerbout (algemeen)

Apps en online services

Arduino IDE

Over dit project

De laatste tijd ben ik meer en meer geïnteresseerd geraakt in vintage computertechnologie. Een van de meest interessante en invloedrijke klassieke stukjes technologie is de Atari 2600, die voor het eerst werd uitgebracht in 1977. Helaas heb ik als kind nooit de kans gekregen om dit te spelen, vooral omdat tegen de tijd dat ik oud genoeg was om te praten, het al ouder dan 20 jaar!

Onlangs heb ik wat gegraven en ben erin geslaagd om een ​​van deze online te vinden voor een redelijk goede prijs, maar zoals met veel oude technologie toen ik het inplugde, ging het gewoon poef .

Dat is een van de risico's als het gaat om het spelen en verzamelen van oude tech; omdat het zo oud is, is er geen garantie dat het zal werken en je kunt uiteindelijk veel geld uitgeven om je huis rokerig te maken. De voor de hand liggende oplossing is om gewoon een Atari-emulator te downloaden die het oude systeem kan emuleren. Voor het grootste deel werkt dit geweldig; het voelt echter niet zo authentiek aan als spelen op de originele hardware, vooral vanwege het toetsenbord.

Dus ik dacht dat een geweldige oplossing zou zijn om een ​​adapter te maken waarmee we een originele Atari-controller op onze computer kunnen aansluiten en op die manier kunnen spelen, en dat is wat we in dit project gaan bouwen!

Stap 1:In de controller kijken

Dus het absolute eerste dat we moeten doen, is kijken hoe de Atari-controller werkt, zodat we kunnen zien hoe we hem gaan aanpassen aan USB.

Dus toen ik de mijne opende, schrok ik toen ik zag dat het maar 5 knoppen waren! Nee, geen 5 knoppen en een regelcircuit, slechts 5 knoppen. Wat betekent dat het heel eenvoudig is om dit aan te passen aan USB met een microcontroller.

Terwijl ik het uit elkaar had, nam ik ook wat tijd om alle smurrie op te ruimen en alles goed schoon te maken.

Stap 2:Wat we nodig hebben

Nu, voordat we zelfs maar in de onderdelenlijst komen, is het de moeite waard om op te merken dat dit project niet zal werken op de Arduino Uno, Nano of Mega. We hebben een microcontroller nodig die kan fungeren als een HID (Human Interface Device). Microcontrollers met de ATmega32U4 zijn hiertoe in staat, en we kunnen een ATmega32U4 vinden in de Arduino Micro.

Onderdelenlijst:

  • Arduino Pro Micro (hier)
  • Mannelijke pin-headers
  • USB naar micro-USB-kabel
  • Projectomhulling (ik ga de mijne 3D-printen)

Stap 3:Welke pinnen doen wat?

Je zult zien dat de Atari-controller aan het uiteinde een 9-pins connector heeft, elke knop in de controller heeft zijn eigen pin op deze connector en er is één pin voor aarde. Dat betekent dat van deze 9-pins connector slechts 6 pins worden gebruikt. Om erachter te komen welke pinnen bij welke knoppen horen, kunnen we een multimeter nemen, in continuïteitsmodus zetten en kijken wat er is aangesloten. Als je geen zin hebt om door het gedoe te gaan, voeg dan een afbeelding van mijn bevindingen toe.

Dus op basis van dit diagram kunnen we zien dat, bijvoorbeeld, als ik op de vuurknop op de controller zou drukken, het de oranje draad zou verbinden met aarde, wat een druk op de knop is, we kunnen onze Arduino gebruiken om dit te detecteren en terug te sturen toetsenbordcommando's naar de computer op basis van welke knop wordt ingedrukt.

Stap 4:De zaak

Het is dus een behoorlijk lange tijd geleden sinds de laatste 9-pins connector is gemaakt en daarom is het voor ons best moeilijk om er een te vinden om in onze adapter te gebruiken. Dus de oplossing, zoals bij de meeste dingen, is 3D-printen. Ik ga de behuizing voor een 9-pins connector afdrukken en dan gewoon wat mannelijke pin-headers erin schuiven om contact te maken met de 9-pins connector op de Arduino. De 3D-printbare bestanden zijn hieronder te vinden.

De manier waarop we deze 9-pins connector maken, is door eerst de mannelijke pinnen in de Atari 9-pins connector te schuiven, vervolgens de connector te schuiven die we daarover hebben geprint en vervolgens de laatste lijm aan de achterkant van de mannelijke pinnen aan de achterkant van de connector die we hebben afgedrukt. Als we nu de connectoren uit elkaar trekken, moeten de pinnen in de pin blijven steken die we hebben afgedrukt en perfect zijn uitgelijnd.

Atari%2BAdapter_2831_29.stl

Stap 5:Alles aansluiten

Dus om alles aan te sluiten, moeten we het als volgt doen (vergeet niet om te controleren welke kleur overeenkomt met welke pin op de 9-pins connector):

  • De Zwarte draad gaat naar Grond op de Arduino
  • De Oranje draad gaat naar pin 3 op de Arduino
  • De Groene draad gaat naar pin 4 op de Arduino
  • De Bruine draad gaat naar pin 5 op de Arduino
  • De Blauwe draad gaat naar pin 6 op de Arduino
  • De Witte draad gaat naar pin 7 op de Arduino

Als dit verwarrend is, bekijk dan het bedradingsschema voor een beetje duidelijkheid.

Stap 6:Code uploaden

De code die we gaan gebruiken vind je hieronder. We gaan profiteren van de toetsenbordbibliotheek in deze code. Wat er gebeurt, is dat we een aantal if-statements hebben waarin staat dat als een bepaalde knop laag wordt, de bijbehorende toets op het toetsenbord moet worden ingedrukt.

Nu is de toetsenbordbibliotheek gelukkig supergemakkelijk te gebruiken, bijvoorbeeld om Keyboard.press(119); te coderen. geeft aan dat de klaviertoets 119 (119 is ascii voor W) wordt ingedrukt en dat de code Keyboard.release(119); geeft aan dat klaviertoets 119 nu is losgelaten. Dus we hebben Als uitspraken die aangeven of de pin HOOG . is om op de toets te drukken en als de pin LAAG . is om de toets los te laten.

We maken ook gebruik van interne pull-up-weerstanden in onze code, zodat we ons geen zorgen hoeven te maken over het solderen in ons circuit. Als je meer wilt weten over de code, open deze dan in de Arduino IDE en je zou moeten zien dat het meeste is becommentarieerd.

Vervolgens uploaden we de code naar de Arduino Pro Micro en gaan we verder met de volgende stap.

AtariController.ino

Stap 7:De zaak samenstellen

Dus de 3D-afdrukbestanden van de vorige stap hebben niet alleen de 3D-afdrukbare 9-pins connector, maar ook een boven- en onderstuk dat eromheen past en waarin alle circuits zijn ingesloten. Dus om af te werken of een project te maken, moeten we deze twee stukken afdrukken.

Vervolgens lijmen we Arduino aan de binnenkant van het onderste stuk (het stuk met ruimte voor een USB-microkabel) en vervolgens lijmen we aan de 9-pins connector aan de voorkant van het onderste stuk. Zodra deze zowel veilig als op hun plaats zijn, kunnen we het bovenste stuk vastlijmen om het project af te ronden! Voordat ik dit deed, heb ik eigenlijk een overtollige hoeveelheid hete lijm aan de binnenkant toegevoegd, omdat dit het een beetje sterker maakt, maar ook wat gewicht aan het apparaat toevoegt, waardoor het niet te dun aanvoelt.

Als deze stukken allemaal bij elkaar zijn, merk je misschien dat het er een beetje ruw uitziet, vooral als je een budget 3D-printer zoals ik gebruikt. Om dit te repareren en de afdrukken er heel netjes uit te laten zien, gaan we schuren en dan de buitenkant schilderen geval. Ik keek naar de Atari-controller en de hoes voor inspiratie over de kleuren van mijn apparaat, ik besloot er een te maken met een roodachtige strook en de andere met wat houtnerf om bij het lichaam van de Atari te passen.

Stap 8:Het gebruiken

Nu we het hebben gemaakt, laten we eens kijken hoe we het kunnen gebruiken!

Dus eerst willen we onze Atari-controller op onze adapter aansluiten, dan pluggen we de micro-USB-kabel in onze computer en je zou een melding moeten krijgen dat je een toetsenbord hebt aangesloten (onthoud dat vanwege de toetsenbordbibliotheek de computer denkt dat dit is een toetsenbord)

De manier waarop de toetsen nu worden toegewezen, is als volgt:

Omhoog is W

Links is A

Juist is D

Omlaag is S

en Vuur is spatiebalk

Dus de kans is groot dat je naar je emulator moet gaan en wat toetsbinding moet doen om ervoor te zorgen dat alles goed werkt. Dit werkt ook op Android-telefoons als je een OTG-kabel hebt.

Heel erg bedankt voor het lezen. Als je vragen hebt, beantwoord ik ze graag!

Code

  • AtariController.ino
AtariController.inoArduino
Geen voorbeeld (alleen downloaden).

Aangepaste onderdelen en behuizingen

Atari%2BAdapter_2831_29.stl

Productieproces

  1. Arduino Spybot
  2. FlickMote
  3. Zelfgemaakte tv B-Gone
  4. Hoofdklok
  5. Vind mij
  6. Arduino Power
  7. Tech-TicTacToe
  8. Arduino Quadruped
  9. Arduino-joystick
  10. CNC-machine
  11. Earth_Analyzer