Innehållsförteckning:

Handhållen konsol med trådlösa kontroller och sensorer (Arduino MEGA & UNO): 10 steg (med bilder)
Handhållen konsol med trådlösa kontroller och sensorer (Arduino MEGA & UNO): 10 steg (med bilder)

Video: Handhållen konsol med trådlösa kontroller och sensorer (Arduino MEGA & UNO): 10 steg (med bilder)

Video: Handhållen konsol med trådlösa kontroller och sensorer (Arduino MEGA & UNO): 10 steg (med bilder)
Video: HOW TO CONNECT DUALSHOCK 4 / DOUBLESHOCK 4 WIRELESS TO PC 2024, November
Anonim
Image
Image
Anslut (pekskärmen)
Anslut (pekskärmen)

Vad jag använde

- Arduino MEGA

- 2x Arduino UNO

- Adafruit 3,5 TFT 320x480 pekskärm HXD8357D

- summer

- 4Ohm 3W högtalare

- 5 mm LED -lampor

- Ultimaker 2+ skrivare med svart PLA -filament

- Laserskärare med MDF -trä

- Svart sprayfärg (för träet)

- 3x nRF24L01+ trådlösa sändtagare

- 2x 16 mm knapp

- 2x trycksensorer

- 3x 9V batterihållare

- Brödbräda

- 2x 0,96 '' OLED I2C -skärmar

- Man - hona

- Lödstation

- Superlim

- 2x enkanals pekmodul (RÖD/BLÅ)

Steg 1: Anslut (pekskärmen)

Anslut (pekskärmen)
Anslut (pekskärmen)
Anslut (pekskärmen)
Anslut (pekskärmen)

Så vi kommer att göra detta till en handhållen konsol med två trådlösa kontroller.

Därför kommer vi att ha en huvudenhet (den största delen, med LCD -skärmen)

Huvudenheten körs med Arduino MEGA.

De två separata kontrollerna kommer var och en att köra en Arduino UNO.

Senare kommer vi att få Arduinos att kommunicera med varandra för att skicka kontrolldata.

Börja med att ansluta 320x480 -skärmen korrekt till din huvudskärmenhet (Arduino MEGA) som i den här självstudien. (Adafruit har en bra detaljerad handledning för kabeldragning och kod).

För ljud kopplade jag en summer och en 3W 4Ohm högtalare för att skilja digitala stift och GND.

med tonen (stift, frekvens, varaktighet); Du kan skapa några grundläggande monofoniska ljud.

Steg 2: Bekanta dig med biblioteken

Bekanta dig med biblioteken
Bekanta dig med biblioteken
Bekanta dig med biblioteken
Bekanta dig med biblioteken

Skärmen Adafruit 320x480 stöder motsvarande Adafruit_GFX- och Adafruit_TFTLCD -bibliotek.

Läs dokumentationen. Jag tror att det förklaras ganska bra där.

Se till att du har rätt inställningar i Arduino IDE:

Verktyg -> Bräda -> Arduino/Genuino MEGA eller MEGA 2560

Verktyg -> Port -> [Porten med '' Arduino MEGA '' i den]

Detta specifika skärmbibliotek stöder anpassade teckensnitt, grundläggande former och en mängd olika färger.

Något anmärkningsvärt kan vara att uppdateringsfrekvensen är för låg för smidig animering. Om du vill uppdatera skärmen varje bock blir det för långsamt att hantera omritning av varje pixel, och det kommer att flimra

Så jag föreslår att du arbetar kreativt kring detta, som hur några av de äldre handenheterna hanterade animering: med nyckelbilder. Mindre är mer! Och istället för att rita om allt varannan sekund, om du vill flytta en rektangel till vänster eller höger, kan du helt enkelt radera spåret det lämnar efter sig, istället för att radera hela objektet och rita om det.

Till exempel använde jag skärmflimmer som en blinkande effekt för karaktären vid introsekvensen.

Från Adafruit_GFX -biblioteket använde jag främst tft.fillRect (x, y, bredd, höjd, färg); och tft.print (text); funktioner.

Att experimentera är nyckeln.

Steg 3: Designa ett grafiskt användargränssnitt / huvudmeny

Utforma ett grafiskt användargränssnitt / huvudmeny
Utforma ett grafiskt användargränssnitt / huvudmeny
Utforma ett grafiskt användargränssnitt / huvudmeny
Utforma ett grafiskt användargränssnitt / huvudmeny

Efter att du fått kunskap inom biblioteket och känner till dess begränsningar/befogenheter kan du börja designa en huvudmenyskärm.

Återigen, tänk på rektanglar. Det var i alla fall vad jag gjorde.

Här är min kod för användargränssnittet

pastebin.com/ubggvcqK

Du kan skapa reglage för skärmens ljusstyrka, för att styra '' Lite '' -nålen på din Adafruit -pekskärm, genom en analog pin.

Steg 4: Anslut de två kontrollerna

Anslut de två kontrollerna
Anslut de två kontrollerna
Anslut de två kontrollerna
Anslut de två kontrollerna
Anslut de två kontrollerna
Anslut de två kontrollerna

För controller -delen är det faktiskt upp till dig vilken typ av sensorer du vill använda, beroende på vilket spel du planerar att göra

Okej, så för kontrollerna bestämde jag mig för att använda:

- En trycksensor

- En OLED -skärm

- En-kanals pekmodul som slås på eller av

- Gest -sensor (RobotDyn APDS9960)

- nRFL01+ sändtagare (för trådlös kommunikation)

- En tryckknapp

Obs: Gest -sensorn och OLED använder båda SCL / SDA -anslutningar. Det tog mig ett tag att inse att Arduino bara har två: A4 och A5. Men du kan helt enkelt ansluta dessa parallellt till brödbrädan och det kommer att fungera bra

Steg 5: Börja ansluta den trådlösa anslutningen

Börja ansluta den trådlösa anslutningen
Börja ansluta den trådlösa anslutningen
Börja ansluta den trådlösa anslutningen
Börja ansluta den trådlösa anslutningen
Börja ansluta den trådlösa anslutningen
Börja ansluta den trådlösa anslutningen

Det tog lite tid innan jag kopplade till nRF24L01+ -modulerna för att få det att fungera.

Jag var tvungen att ta till TMRh20 RF24 -biblioteket efter att jag inte kunde få rätt sensordata överförd till skärmen.

För att flera Arduinos ska kunna kommunicera med varandra måste vi se till att minst en av UNO: erna drivs, liksom MEGA.

Använd seriekonsolen för MEGA för att skriva ut resultaten du får från UNO och se om det fungerar.

Här är koden

Här är biblioteket

Steg 6: Gå vilt! Prova olika saker

Gå vild! Prova olika saker
Gå vild! Prova olika saker

En avgörande del av min utvecklingsprocess var att bara testa många saker!

Vilken typ av knappar vill du använda?

Vad lägger du i dina kontroller?

Titta runt på webbplatser, du hittar många komponenter förutom de vanliga '' A/B '' -knapparna eller analoga joysticks. Bli inspirerad och motiverad att prova!

När du väl fått en tydlig och fungerande idé om vad du vill lägga i styrenheterna kopplar du ihop komponenterna.

Beroende på hur de fungerar måste du använda digitala ingångar eller analoga ingångar.

OBS: Vissa komponenter kan behöva SCL / SDA -stift för att fungera korrekt. Och om du har två eller flera sensorer som båda behöver samma, kommer du förmodligen att få en panikattack som jag. Men du behöver inte oroa dig

Du kan sätta både sensorernas SDA- och SCL -stift i serie med varandra, gå in i A4 och A5 och det kommer att fungera

Steg 7: Design

Design
Design
Design
Design
Design
Design

När du fått en cool idé för de sensorer du vill använda, skissa några idéer för en design du gillar.

Efter det, gå in på några modelleringsprogram som Blender, Maya, Cinema 4D.

Jag använde Blender för att skapa en (grov) modell.

För att få tydliga mätningar i Blender kan du ändra enheten för rutstorleken till millimeter.

När du har gjort en modell, se till att du inte har några dubbla hörn och att du har räknat om dina normer.

Exportera filen som en.stl, om du vill använda en 3D -skrivare som jag.

OBS! I Blender måste du ställa in exportskalan till 0,1 om du vill ha den exakta storleken i Cura i nästa steg

Steg 8: 3D -utskrift av höljet

3D -utskrift av höljet
3D -utskrift av höljet
3D -utskrift av höljet
3D -utskrift av höljet
3D -utskrift av höljet
3D -utskrift av höljet

Denna modell trycktes med 2,85 mm svart PLA -filament på en Ultimaker 2+ -skrivare.

Ladda ner CURA

Ladda upp din. STL i Cura så visar det hur lång tid det tar.

För ett handhållet fodral kan det ta upp till 10 timmar att skriva ut, beroende på storlek.

Men för modeller med låg detalj kan du påskynda processen, vilket är vad jag gjorde.

Här är mina inställningar:

Lagerhöjd: 0,2

Väggtjocklek: 0,8

Övre/nedre tjocklek: 0,8

Munstycke: 0,4

Temperatur: 60 grader Celsius

Flöde: 100%

Brim: Var som helst som berör byggplattan

Påfyllningstäthet: 20%

Gradvis: 0

Munstycks temperatur: 220 C

Utskriftshastighet: 120%

Steg 9: Lödning och slutbehandling

Lödning och slutbehandling
Lödning och slutbehandling
Lödning och slutbehandling
Lödning och slutbehandling
Lödning och slutbehandling
Lödning och slutbehandling

Du har kommit långt.

Det sista steget är att skaffa en perfboard / veroboard och översätta dina breadboard -anslutningar till en del av en prototypplatta.

Se till att elektroniken passar inuti de tryckta höljena, och skär kanske lite trä -MDF för att få delar där knappar / styringångar sticker ut.

Jag använde en laserskärare för detta.

Det viktigaste är att skruva runt, prova på saker du aldrig gjort annars och ha kul!

Hoppas denna handledning var tillräckligt tydlig … Det var ett ganska svårt projekt, vilket gav ett bra resultat!:)

Steg 10: Förhandsgranska

Rekommenderad: