Knoppen toevoegen aan uw X52-Pro-joystick met een Arduino Micro (4 / 12 stap)

Stap 4: Schrijf uw test-schets


Je moet nu het schrijven van een schets op de Arduino test uw knoppen. U wilt om de code te schrijven debug output naar de seriële poort te laten zien dat elke knop werkt zoals verwacht. Kortom, voor elke invoer pin moet gewoon u de pincode instellen om te laten invoeren en kijken naar de PIN-code om te zien wanneer het gaat van hoge (+ 5v/Vcc) naar laag (0v/Gnd). Doe dit 12 keer en je gouden, recht? Het leven is helaas niet zo eenvoudig.

Ten eerste moet u ervoor zorgen dat wanneer de knop niet is ingedrukt, de PIN-code krijgt een gestage 5v, en wanneer deze wordt ingedrukt 0v krijgt. Dit vereist het gebruik van een pull-up weerstand. Als je nieuw bij elektronica bent dit klinkt misschien een beetje vreemd, maar het is zinvol als u erover nadenkt. Meer informatie over pull-up weerstanden hier: https://learn.sparkfun.com/tutorials/pull-up-resistors. De Arduino Micro heeft gelukkig de mogelijkheid om interne pull-up weerstanden, zodat u niet hoeft te doen het zelf. Voor elke invoer pin zoals set de PIN-code in de functie void setup:

 pinMode(2, INPUT_PULLUP); // The number represents the pin number 

Dus in mijn geval doorlopen ik een array van pinnen als volgt:

 const int switchCount = 12; void setup() { for (int i=0; i <= (switchCount -1); i++) { // Make the pushButton pin an input pinMode(i, INPUT_PULLUP); } } 

Nu moet je om te lezen van de status van de knoppen. In theorie is dit een eenvoudige. Om te lezen van de Braziliaanse deelstaat pin 2 functie u enkel de digitalRead():

 switch2State = digitalRead(2); 

Echter wanneer een knop is gedrukt krijg je over het algemeen een beetje ruis voor een paar milliseconden en dit kan worden weergegeven als de knop snel wordt ingedrukt. Hierdoor leven vaak moeilijk om te zeggen het minst. Wat u moet doen is naar 'debounce' van de knop. In wezen leest u de toestand van een knop, als de Braziliaanse veranderd dan u een beetje wachten voordat opnieuw wordt gelezen. Dit moet geven u de werkelijke status van de knop zonder het klapperen waanzinnig. Zie http://arduino.cc/en/Tutorial/Debounce voor meer info.

Dit krijgt een beetje harig voor meer dan een paar knoppen dus ik gebruik gemaakt van de Bounce2 bibliotheek zaken te vereenvoudigen. Zie http://playground.arduino.cc/Code/Bounce voor meer details. Alles wat u hoeft te doen is download het bestand Bounce2-master.zip van de vorige koppeling en zet deze neer in de omslag van de bibliotheken van de Arduino voordat de IDE. Vervolgens deze regel toe te voegen aan de bovenkant van uw schets:

 #include <Bounce2.h> // http://playground.arduino.cc/Code/Bounce 

U kunt vervolgens een uitsmijter-object koppelen aan elke pin aan het debounce en een schone lezing te krijgen wanneer de knop wordt ingedrukt of losgelaten.

 // create a bouncer objectBounce tempBouncer = Bounce(); tempBouncer.attach(2); // Attach pin 2 to the Bouncer object tempBouncer.interval(10); // Set the DeBounce timeout in milliseconds 

Nu u netjes elke knop vindt hoeft je alleen te houden een nota van het de stand telkens wanneer u lezen de pin en iets te doen als de status wordt gewijzigd. De bijgevoegde schets toestaat u om te lezen 12 knoppen en zal output een debug-lijn telkens wanneer een knop wordt ingedrukt of losgelaten. Alleen het uploaden van de schets aan de Raad, en zodra u de LED licht druk op CMD + SHIFT + M (Mac) of CTRL + SHIFT + M (Win) om te openen de seriële Monitor ziet. Er zijn tal van opmerkingen inline u te laten weten wat er gaande is.

Gerelateerde Artikelen

Knoppen toevoegen aan uw muis

Knoppen toevoegen aan uw muis

Ik heb spelen FPS games op mijn PC voor een tijdje nu, en ik vond mezelf vaak behoefte aan meer knoppen op mijn muis. Dat is waarom ik kocht in één keer een Logitech G9, maar in sommige spellen zelfs die de knoppen op het extra 4 die leek te zijn paa
Tekst als watermerk toevoegen aan uw YouTube-video's met AVS Video Editor 7.1

Tekst als watermerk toevoegen aan uw YouTube-video's met AVS Video Editor 7.1

Tekst als watermerk toevoegen aan uw YouTube-video's met AVS Video Editor 7.1
Met behulp van een joystick met je Arduino

Met behulp van een joystick met je Arduino

Joysticks zijn een grote bron van input voor een project. Vooral voor Robotica. Als hardware hackers hebben de meesten van ons hield altijd dit soort dingen. Behalve de nieuwe jongens daartoe vindt het misschien moeilijk te begrijpen van het concept
Controle LED's met een Arduino van een C# programma

Controle LED's met een Arduino van een C# programma

heb je ooit wilde om te controleren enkele LED's met je Arduino vanuit een programma dat u hebt geschreven? Nou ben ik hier om u te helpen met dat.. Dit is mijn eerste ' kunnen dus please help me uit als ik langs de weg omhoog knoeien. En voel je vri
ZAPpelin, of hoe om te trainen uw luchtballon met een Arduino en IR afstandsbediening

ZAPpelin, of hoe om te trainen uw luchtballon met een Arduino en IR afstandsbediening

Is het vliegen van seal? Een fladderende vreemdeling?Nee het is een ZAPpelin, een Arduino gecontroleerde indoor blimp, setup om te leren in de signalen van een externe IR naar commando.Dit project kwam tot leven op de derde Arduino Jam Februari 15e t
Hoe te meten van de temperatuur zeer nauwkeurig met een Arduino en een TSYS01 Temperatuur Sensor Board.

Hoe te meten van de temperatuur zeer nauwkeurig met een Arduino en een TSYS01 Temperatuur Sensor Board.

Tijdens zijn studie in de Universiteit werden we uitgedaagd als onderdeel van een cursus werken in het ontwerpen van een doos met zeer nauwkeurige temperatuurregeling. Mocht het project te doen slagen, moesten meerdere vakken worden gebouwd en gebrui
ARD-e: de robot met een Arduino als een brein

ARD-e: de robot met een Arduino als een brein

het maken van een opensource gecontroleerd Arduino robot voor onder $100.Hopelijk na het lezen van dit instructable u zal zitten kundig Neem uw eerste stap in de robotica. ARD-e kost ongeveer 90 dollar tot $130 afhankelijk van hoeveel vrije elektroni
Beheersing van een MIDI-CC in Ableton Live met een Arduino Uno

Beheersing van een MIDI-CC in Ableton Live met een Arduino Uno

In dit instructable zullen we gebruiken een potentiometer op een Arduino Uno om controle van een MIDI-CC in Ableton Live. Een MIDI CC staat voor continue Controller, dat wil zeggen een getal in het bereik van 0 tot 127 inclusieve te moduleren iets me
Controle van een Camera met een Arduino en RS232 Shield

Controle van een Camera met een Arduino en RS232 Shield

Dit leerprogramma zal u tonen hoe u kunt controleren vele verschillende aspecten van de werking van een camera's met een Arduino. Deze bewerking kan worden de pan en tilt camera, zoom en focus van de lens, en RGB kenmerken. De Arduino zal gebruik mak
Beheersing van een RC Servo motor met een Arduino en twee pulsschakelaars

Beheersing van een RC Servo motor met een Arduino en twee pulsschakelaars

de naam zegt het al. Beheersing van een RC auto servomotor met een Arduino en sommige weerstanden, jumper draden en twee tactiele schakelaars. Ik maakte dit de tweede dag kreeg ik mijn Arduino, dus ik erg trots op mezelf ben.Stap 1: Onderdelenlijst O
Programmering Arduino met een Arduino

Programmering Arduino met een Arduino

Dit is mijn eerste Instructable. In dit Instructable ga ik u tonen hoe te programmeren van een Arduino met een Arduino. Er zijn geen stuurprogramma's nodig! Dit Instructable is ook handig voor het uploaden van schetsen aan de Chinese ArduinoStap 1: D
Beheersing van een stappenmotor met een Arduino

Beheersing van een stappenmotor met een Arduino

Dit leerprogramma zal u tonen hoe te bedienen van een stappenmotor die werd gered van een oude printer met een Arduino.Stap 1: Wat is een Stepper Motor? Een stappenmotor bestaat uit twee delen, een rotor en een stator. De rotor is het deel van de mot
Lage hoogte milieubewaking met een Arduino gebaseerd weer Instrument en Remote Sensing Platform van Aeropod

Lage hoogte milieubewaking met een Arduino gebaseerd weer Instrument en Remote Sensing Platform van Aeropod

ProjectoverzichtStudenten op New Lothrop High School in Michigan hebben samengewerkt om te bouwen van een lage hoogte remote sensing platform genaamd een "Aeropod" en het uitgerust met een "Arduino" gebaseerd weer instrument om sfeervo
Controle van EL draad met een Arduino

Controle van EL draad met een Arduino

In dit instructable ik zal u tonen hoe u kunt besturen van EL draad met een Arduino.Wat u zult moeten:EL Wire en omvormer - adviseer ik http://ez-el.com/ez-el-wire/10ft-ez-el-wire-3v-inverter-kit/Arduino of een micro-controller die een relay kunt bep