Eerst een beetje basisgegevens:
Gyrokompassen maatregel roterende beweging in graden per seconde. Ze zullen niet direct vertellen u informatie over tilt, enige beweging rond een as. Versnellingsmeters maatregel versnelling, gemakkelijk kunt u deze informatie voor de berekening van de schuine stand van een object door de huidige versnellingsmeter-gegevens uit een waarde die u zeker weet nul tilt af te trekken.
Voor dit project gebruikte ik de 5 graden van vrijheid IDG500/ADXL335 bord van Sparkfun. Ik houd dit board omdat het de versnellingsmeter en gyroscoop gegevens output als 5 analoge spanningen die gemakkelijk kunnen worden gelezen met behulp van vijf van de analoge input pinnen van de Arduino. Sommige versnellingsmeters en gyrokompassen output gegevens digitaal door het coderen in een pulsbreedte gemoduleerd (PWM) signaal. Als u kort op de analoge input pinnen op je Arduino, het wellicht een goed idee om één van deze digitale chips te gebruiken, maar de analoge chips zijn leuk omdat ze vereist minimale inspanning om te werken.
Onderdelenlijst:
IMU Analog Combo bestuur - 5 graden van vrijheid IDG500/ADXL335 Sparkfun SEN-11072
Arduino Uno Sparkfun DEV-11021
mannelijke kop spelden Sparkfun PRT-00116
22 gauge draad
breadboard
Stappen:
Soldeer kop pinnen aan de versnellingsmeter/gyro-bestuur. Op een breadboard verbinden met 5V van de Arduino Arduino aan grond, pin "RAW" en sluit de pin label X-Acc tot A0 en Y-Acc a1, Z-Acc a2
De onderstaande code verschijnt de X, Y, en Z versnelling fro uw bord in de seriële monitor (ctrl/command + shift + M). Ik probeerde te centreren de waarden rond een nulpunt door de invoering van de variabele "nul" in mijn code en vervolgens af te trekken van al mijn inkomende gegevens van dit nummer. Deze manier wanneer de Raad van bestuur wordt gehouden parallel aan de grond, lezen de versnelling X en Y beide 0. Als de Raad van bestuur is getipt om positieve X een positief getal wordt weergegeven, en wanneer het is getipt om negatieve X een negatief getal (hetzelfde geldt voor Y) zal tonen. Deze code versnellingsmeter kunt u bij het vaststellen van de richting van je board in 3D-ruimte.
//Analog Accerometer w Serial //by Amanda Ghassaei
Soms wilt u gebruiken een gyroscoop in de vruchtwisseling opgenomen informatie krijgen over je board die niet kan worden berekend met een versnellingsmeter. Sluit de pin label Vref tot A0, yRate a1, a2 xRate, y4.5 tot A3 en x4.5 tot A4 op een breadboard.
U kunt benieuwd zijn over het verschil tussen de X / YRate en X / Y4.5 uitgangen. Gyrokompassen maatregel graden per seconde, deze gyroscoop uitgangen een spanning op basis van de mate van beweging per seconde, zodat we zeggen kunnen dat het is outputten volt per graden per seconde (V / ° /s). Vanuit het gegevensblad van de gyroscoop kunnen we zien dat de X / YRate is de uitvoer van gegevens met 2.0mV/°/s gevoeligheid en de X / Y4.5 is de uitvoer van gegevens met ongeveer 4.5 keer de gevoeligheid, of 9.1mV/°/s.
Upload de volgende code om de output van elk van deze (fig 6) weer te geven.
//Analog Gyro w Serial //by Amanda Ghassaei
Ik wilde deze code nul als ik deed met de bovenstaande code van de versnellingsmeter. Ik had verwacht dat de output van de x- en y gyro op de uitvoer van Vref gelijke terwijl het apparaat stationaire wordt gehouden, maar zoals u in fig 6 zien kunt, dit is niet het geval (als iedereen heeft een verklaring hiervoor zou ik graag horen!). Aangezien Vref was niet een verwijzing van de god voor mij op mijn output naar nul, ik gebruikte sommige vooraf ingestelde waarden op basis van de gegevens van de fig 6, je kunt ze vinden in mijn print verklaringen in de onderstaande code. Ik verwijderde ook het toezicht op Vref omdat het leek te zijn stabiel maakt niet uit hoeveel ik het apparaat verhuisde, zulks uitgezonderd mij ook een analoge input pin op de Arduino.
//Analog Gyro w Serial //by Amanda Ghassaei
De resultaten van deze code worden weergegeven in figuur 7. Rotatie rond de x- en y assen zal veranderen de waarden van xRate, x4.5, yRate en y4.5.
Ik gebruikte deze versnellingsmeter/gyro in een Arduino gebaseerde MIDI-controller die ik heb gewerkt. Hieronder is de code voor de twee toepassingen die ik in de video bij de bovenkant van dit demoed instructable. Ik heb verbonden alle drie assen van de versnellingsmeter en de twee 4.5gyro-uitgangen voor dit project.
één pixel verplaatsen, MIDI triggering (gebruikt alleen x en y versnellingsmeter):
//accelerometer test- single pixel //by Amanda Ghassaei 2012
vier pixels stuiteren (gebruikt alleen x versnellingsmeter, gebruik x gyro wissen pixels):
//accelerometer test- bounce //by Amanda Ghassaei 2012