Tout d’abord un peu d’informations de base :
Gyromètres mesurent le mouvement de rotation en degrés par seconde. Ils pas directement vous diront d’informations sur tilt, seul mouvement autour d’un axe. Accélération de accéléromètres de mesure, vous pouvez facilement utiliser cette information pour calculer l’inclinaison d’un objet en soustrayant les données actuelles d’accéléromètre d’une valeur que vous savez pour être zéro inclinaison.
Pour ce projet, j’ai utilisé les 5 degrés de liberté IDG500/ADXL335 pension de Sparkfun. J’aime ce forum car il copie les données de l’accéléromètre et gyroscope comme 5 tensions analogiques qui peuvent facilement être lues à l’aide de cinq des broches d’entrée analogiques de l’Arduino. Certains accéléromètres et gyroscopes sortie données numériquement par ce codage dans une largeur d’impulsion (PWM) signal de modulé. Si vous êtes court sur les broches d’entrée analogiques sur votre Arduino, il peut être une bonne idée d’utiliser l’une de ces puces numériques, mais les circuits analogiques sont gentils parce qu’ils nécessitent un minimum d’effort pour le faire fonctionner.
Liste des pièces :
IMU analogiques Combo Conseil - 5 degrés de liberté IDG500/ADXL335 Sparkfun SEN-11072
Arduino Uno Sparkfun DEV-11021
broches mâles en-tête Sparkfun PRT-00116
fil de calibre 22
carte de prototypage
Étapes à suivre :
Souder les broches d’en-tête au Conseil d’accéléromètre/gyroscope. Sur une maquette 5V de l’Arduino « RAW » pin, Arduino terre à terre, puis le raccorder la tige étiquetée X-Acc à A0, A1 Y-CAC et Z-Acc à A2
Le code ci-dessous affiche l’accélération X, Y et Z BOF votre planche dans le serial monitor (ctrl/commande + Maj + M). J’ai essayé centrer les valeurs autour d’un point zéro en introduisant la variable « zéro » dans mon code et ensuite soustraire toutes mes données entrantes provenant de ce numéro. Ainsi lorsque le Conseil se tient en parallèle au sol, l’accélération de X et Y les deux lire 0. Lorsque le jury est pressenti pour X positif elle affiche un nombre positif, et quand il se renversait pour X négatif elle montrera un nombre négatif (idem pour Y). Ce code d’accéléromètre permet de déterminer l’orientation de votre planche dans l’espace 3D.
//Analog Accerometer w Serial //by Amanda Ghassaei
Parfois, vous pouvez utiliser un gyroscope pour obtenir des informations rotationnels sur votre Conseil d’administration qui ne peut être calculé avec un accéléromètre. Sur une maquette raccorder la tige étiquetée Vref à A0, yRate a1, le taux de change à A2, y4.5 à A3 et x4.5 à A4.
Vous demandez peut-être sur la différence entre le X / YRate et X / sorties Y4.5. Gyromètres mesurent degrés par seconde, ce gyroscope génère une tension basée sur les degrés de mouvement par seconde, si on peut dire qu’elle est sortie volts par degrés par seconde (V / ° /s). De la fiche technique du gyroscope, nous pouvons voir que le X / YRate est sortir des données avec la sensibilité 2.0mV/°/s et X / Y4.5 est sortir des données avec environ 4,5 fois la sensibilité, ou 9.1mV/°/s.
Télécharger le code suivant pour afficher la sortie de chacun des ces (fig 6).
//Analog Gyro w Serial //by Amanda Ghassaei
Je tenais à zéro ce code comme je l’ai fait avec le code d’accéléromètre ci-dessus. Je m’attendais à la sortie de x et y gyro pour égaler la sortie de Vref, tandis que l’appareil est maintenu immobile, mais comme vous pouvez le voir sur la Fig. 6, ce n’est pas le cas (si quelqu'un a une explication pour cela je serais ravi de l’entendre!). Comme Vref n’était pas une référence de Dieu pour moi à zéro ma sortie à, j’ai utilisé quelques valeurs prédéfinies basées sur les données de la figure 6, vous pouvez les trouver dans mon impression énoncés dans le code ci-dessous. J’ai aussi enlevé la surveillance de Vref, puisqu’il semble être stable, peu importe combien je me suis déplacé l’appareil, cela aussi m’a sauvé un pin d’entrée analogique sur l’Arduino.
//Analog Gyro w Serial //by Amanda Ghassaei
Les résultats du présent code sont indiquées à la figure 7. Rotation autour de x et y axes vont changer les valeurs des taux de change, x4.5, yRate et y4.5.
J’ai utilisé cet accéléromètre/gyroscope dans un contrôleur MIDI axée sur l’Arduino, sur que j’ai travaillé. Voici le code pour les deux applications que j’ai fait une démo dans la vidéo en haut de cette instructable. J’ai branché les 3 axes de l’accéléromètre et les sorties de deux 4.5gyro pour ce projet.
seul pixel se déplaçant autour, déclenchement MIDI (n’utilise que x et y accéléromètre) :
//accelerometer test- single pixel //by Amanda Ghassaei 2012
quatre pixels rebondir (utilise uniquement x accéléromètre, utilisations x gyro pour effacer des pixels) :
//accelerometer test- bounce //by Amanda Ghassaei 2012