Button Box Programma

Hallo iedereen

Ik ben nieuw in dit forum en heb niet zoveel ervaring met Arduino.. Vroeger wel eens mee gespeeld maar me nooit echt in verdiept.

Nu ben ik een button box aan het maken voor enkele simulatie games die ik regelmatig speel.
De box zit ondertussen al samen en alles is reeds gesoldeerd volgens een matrix en om 'Ghosten' te voorkomen heb ik voor iedere button een diode geplaatst. Ik hoef enkel maar de draden op mijn bordje (Arduino Pro Micro) te solderen en de code erin te steken.
Daar begint bij mij het probleem al.. De code.. Ik heb zero verstand van programmeren of coderen, heb het zelf eens geprobeerd, maar zonder veel succes, het lijkt voor mij veel te omslachtig en de informatie die ik vind via google en fora, is of niet van toepassing voor mijn box of begrijp ik helemaal niet hoe ik ze moet toepassen in mijn situatie..

Ik voeg hierbij even een paint tekening toe van hoe de box eruitziet, welke knoppen ik gebruik en hoe ik hem bedraad heb. (Tis in paint dus tis niet perfect)
Waar ik vooral vast kom te zitten is met de Toggle Switches (SPST type).

Alvast bedankt
Kevin

Hallo Kevin,

Met wat je hier gemaakt hebt zul je vrijwel zeker nooit nog een extra input nodig hebben. Maar de vraag is wat je nu precies wil bereiken, hardware gewijd en software matig. Je zult ons toch wat meer informatie moeten verschaffen. Waarvoor dient elke schakelaar en dan zo verder.

Mvg

Mike

Hallo Mike

Bedankt voor de reactie alvast!

Ik begrijp helaas niet goed wat je wilt bedoelen met extra info.
Het is eigenlijk de bedoeling om meer simulatie in mijn games te verkrijgen en zodat mijn toetsenbord ook aan de kant kan tijdens het gamen. Het gaat hem vooral over de games Euro Truck Simulator 2 en American Truck Simulator. De buttons en switches zullen dan ook dienen om verschillende functies uit te voeren, tractor/trailer brake, beacons,...
Software matig is het de bedoeling dus om vershillende toetsslagen over te zetten naar de button box..

Edit: Ik hoef geen volledig aan mijn button box aangepaste code, enkel de hoofdcodes zodat ik zelf de toetsen in de code kan steken, aangezien ik ook nog niet precies weet welke switch welke toetsaanslag zal vervangen, wat voor beide games ook verschillend zal zijn.

Ik hoop dat je hier wat verder mee geholpen bent.

Kevin

Hoi Kevinn1995, welkom.

Je hebt een mooi plaatje getekend met 21 knoppen.
De aanpak die je lijkt te volgen staat 25 knoppen toe, dus ik hoop dat je dat in je kastje ook toegelaten hebt zodat je altijd nog kunt uitbreiden wanneer je daartoe ineens de behoefte zou gaan voelen.

Het uitlezen van de knoppen is eigenlijk heel simpel (maar daar is wel wat aan te doen hoor.. :wink: ).
Je zet op 1 van de 5 pinnen die de draden in jouw tekening rechtsom hebben aangesloten een HIGH.
Vervolgens ga je op alle 5 de pinnen die linksom zijn aangesloten kijken of je ook die HIGH ziet aankomen.
Dan weet je welke knop er ingedrukt is.
Vervolgens stuur je dat via de USB naar de PC; je moet dan de PC wel hebben laten weten dat het aangesloten apparaat niet een Arduino is, maar een HID keyboard.
Das natuurlijk wel heel simpel gesteld, en dit programmeren vergt wat tijd.

Maar er zijn al meerdere mensen die je hierin voor zijn geweest en dat al voor je hebben geprogrammeerd.
Daarom zou je eens moeten kijken naar de Keypad library.
In de IDE ga je dan naar de menu balk, daar klik je Sketch, dan wijs je Include Libraries aan, en dan klik je Manage Libraries.
Sorry, ik gebruik de Engelse taal in mijn IDE dus als jij 'm in het Nederlands met je laat communiceren zul je de betreffende Nederlandse termen bij moeten zoeken.
Hierna krijg je een venstertje waarin je een Lirbary kunt kiezen, maar je kunt er ook zoeken zodat je niet de hele lijst 3 keer af hoeft de scrollen.
Type daar keypad in, en je krijgt 'm al te zien.
In de library staat ook de beschrijving van hoe het uitlezen gaat.
Maar het word dan ook duidelijk hoe je kunt instellen dat je niet 4 rijen en 3 kolommen hebt, maar 5 bij 5.
Wanneer je nog geen geoefend coder bent, zal het vast wel pittig zij dit op te pakken.
Maar het moet eigenlijk best te doen zijn.
Daarna moet je nog gaan uitzoeken hoe je je Arduino een HID kunt laten zijn, en daarna hoe je deze beide zaken kunt combineren.

Aangezien ik erg druk met werk ben, zal ik je geen kant en klare code aanreiken.
Maar als jij laat zien wat je al hebt en aan kunt geven wat er fout gaat, dan kijk ik graag met je mee hoor.

Hey MAS3

Bedankt voor de reactie!

Heb vroeger nog technisch tekenen gehad, (wel niet in paint :D) dus kwam wel handig te pas bij het maken van een schema. Zonder schema werd het al snel een warboeltje ook..
Zoals het op de tekening staat qua knoppen en aansluitingen is het ook in realiteit, maw, ik heb nog wel plaats inderdaad voor eventueel nog een uitbreiding links en rechts toe te passen.

Wat het coderen betreft,
Ik zal er mij dit weekend eens mee bezig houden. Aan de librarys enzo was ik ook al gekomen, maar vandaar liep het compleet fout haha..
Nu ik gepakt en gezakt ben met wat extra info, ga ik het nog maar eens een poging wagen.

Ik hou jullie op de hoogte hoe het verder verloopt!

Cheerz
Kevin

Hallo,
Even een update
Ik heb het geprobeerd, zonder weinig resultaat. Het probleem is eigenlijk dat ik niet goed weet waar ik moet beginnen. Het uitlezen van de buttons lukt mij niet eens. Verschillende sketches geprobeerd, ook kant en klare, het gaat me gewoon helemaal niet. Ook heb ik de tijd en de moed niet om van nul af te leren hoe ik codeer.
Ik begin er spijt van te krijgen dat ik geen simpeler bordje gebruikt heb om mijn button box aan te sturen. Arduino leek me wel leuk omwille van het coderen, maar daar heb ik ondertussen al spijt van.
Dus denk ik om mijn Arduino te vervangen door een simpeler (zero delay joystick, arcade,...) bordje, zodanig ik toch al met de box kan werken. In de toekomst kan ik nog altijd leren hoe je een Arduino codeert.
Bedankt voor de tips en tricks alvast.

Kevin

Kevinn1995:
Hallo,
Even een update
Ik heb het geprobeerd, zonder weinig resultaat...

Nou fantastisch, gefeliciteerd !

Voor een coder ziet dat er namelijk als volgt uit:

zonder weinig resultaat = met veel resultaat

Maar wat daar dan weer niet duidelijk in is, is of die vele resultaten ook positief zijn.

Ik had je in mijn antwoord er al op gewezen dat het wel eens pittig zou kunnen zijn als je hier mee wil beginnen, en ook dat er wel wat tijd overheen zou gaan.
Leuke ideeën zat, maar daardoor word de verleiding om meteen met die ideeën aan de slag te gaan wel groot.
Beter zou het zijn als je jezelf de discipline op kunt leggen om eerst eens met de basis dingen aan de slag te gaan om het programmeren te leren.

Als je uiteindelijk zo ver bent om met de toetsen aan de slag te gaan, ga dan eerst met 1 kolom beginnen om te zien of je de juiste rij kunt detecteren.
Als je dat voor mekaar hebt, dan kun je met een 2e kolom aan de gang.
En zo ga je dat langzaam uitbreiden.
Dus probeer niet meteen alle 5 kolommen en 5 rijen ineens te kunnen doen.

Natuurlijk raak je gefrustreerd als het niet lukt.
Maar je hebt er meer aan als je probeert te achterhalen wat er dan mis gaat.
Daarvoor is het van belang dat je weet wat je van je code verwachtte, maar ook wat je er dan voor in de plaats kreeg.
Dat is informatie waarmee je meestal wel kunt achterhalen wat er mis ging, en waar we hier ook vaak wat mee kunnen om je te proberen te helpen.
Met "het lukt niet", wat je dan natuurlijk denkt en wil roepen, is er wat weinig houvast om je verder te helpen.

Ik heb het coderen van een Arduino beetje onderschat denk ik, hoewel ik wel van een uitdaging hou is dit me toch iets te pittig inderdaad. Nou niets aan te doen, lesje geleerd! En ik ga in de toekomst inderdaad maar eens een paar lesjes Arduino voor Dummies volgen, en van nul af beginnen.
En mij hebben ze inderdaad altijd geleerd: niet gaan bestaat niet, moeilijk gaan wel! Dus eerst maar eens in de boeken kruipen en we zien wel hoe het verder gaat.
Kevin