Étape 4: I2C accéléromètre-Gyroscope le programme d’installation
TL; DR :
1. NE RACCORDEZ PAS DE 5V.
2. ne pas paniquer.
3. utiliser cette bibliothèque : https://github.com/jrowberg/i2cdevlib
4. ne pas souder votre planche en jusqu'à ce que vous avez exécuté un étalonnage.
Nous avons utilisé un MPU6050 de SparkFun, https://www.sparkfun.com/products/11028. Ceux-ci peuvent être trouvés sur Amazon pour seulement 10 $ et je l’ai sur la bonne parole qu’ils fonctionnent très bien, mais le câblage sera un peu différent sur les photos. Cette étape servira un fond générique et un tutoriel pour installer et utiliser un accéléromètre I2C, étant donné que la plupart de ces informations sont dispersées parmi les discussions du forum une douzaine.
Ce qui est I2C ?
Vous avez peut-être vu des conseils simples tels que des https://www.sparkfun.com/products/9269 avec des sorties analogiques pour X, Y et Z. Ceux de sens ; chaque sortie correspond à un axe de l’accéléromètre. Ensuite, vous voyez une carte I2C et paniquer un peu à l’intérieur. I2C est un standard de communication où l’Office communique beaucoup d’informations à l’aide d’impulsions logiques numériques au lieu de sorties analogiques. Le MPU6050 a 6-axes (3-gyroscope, accéléromètre 3) donc si ils étaient analogiques qu’ils utiliseraient tous les ports sur votre Arduino. La ligne du bas est l’Arduino envoie un signal de commande numérique au Conseil d’administration et se lit en informations numériquement les broches d’entrée.
Câblage :
Le câblage pour notre MPU6050 spécifique est la suivante. Notez le code de bibliothèque suppose que ce sont les intrants utilisés. Autres conseils seront similaires.
DMV -> 3.3V
GND -> sol
INT -> numérique 2
SCL -> A5
SDA -> A4
VIO -> sol
En cours d’exécution 5v à travers le Conseil peut et va casser, alors ne pas. Certains conseils de MPU6050 ont des régulateurs de tension qui devraient protéger, mais il ne vaut pas le risque. Si votre Conseil a une tige de AD0, il doit être connecté à la masse. Sur notre Conseil d’administration que du port VIO est connecté à un interne AD0, donc elle sert la broche AD0. Si le AD0/VIO est connecté au sol ou DMV détermine en fait l’adresse de mémoire que le jury est interfacé avec l’Arduino (0x68 ou 0x69). Si c’est déroutant, ne vous inquiétez pas, juste il fil à la masse. Si vous avez des problèmes, essayez VIO/AD0 de commutation du sol à la DMV.
Code :
Maintenant les choses deviennent un peu délicates. J’espère que vous avez un petit codage / jouer avec expérience de logiciel. Si vous n’avez pas, il suffit d’aller lentement et google tout ce que vous ne connaissez pas. Il y a beaucoup d’informations là-bas. Je vais essayer d’être aussi clair que possible, mais je ne peux pas couvrir tous problèmes
Une fois que vous avez votre MPU câblé à l’Arduino, allumez-le et télécharger ce code d’analyseur I2C : http://playground.arduino.cc/Main/I2cScanner#.Uxh...
Faites défiler vers le bas et copiez-collez le code dans une esquisse vide et exécutez-le. Ouvrez le moniteur série (outils -> Serial Monitor) et assurez-vous que vous êtes sur le port 9600 (en bas à gauche). C’est dans le code, mais vous n’a pas le lire quand même.
Si tout fonctionne, il doit trouver un périphérique I2C et vous donner une adresse de mémoire de 0x68 ou 0x69. Notez-le. Si vous obtenez des erreurs Vérifiez le câblage.
Maintenant, vous allez vouloir installer le code qui en réalité s’entretient avec l’accéléromètre/gyroscope. Il y a un tas de trucs là-bas mais j’ai trouvé qui fonctionne le mieux est celui https://github.com/jrowberg/i2cdevlib. Cliquez sur « Télécharger Zip », me souviens plus où vous mais il (probablement de bureau) et puis décompressez-le. Ouvrez le programme Arduino IDE. Maintenant, allez à esquisser -> Bibliothèque d’importation -> Ajout de bibliothèque. Vous devez ajouter le dossier I2Cdev et les dossiers de MPU6050 en tant que bibliothèques (ils sont sous Arduino dans le dossier).
Une fois qu’ils sont installés, vous devez ouvrir vers le haut de la MPU6050_DMP6 (il est sous MPU6050 -> exemples) fichier dans Arduino. Je suggère la lecture il (même si vous ne savez pas beaucoup de code), il est bien commenté et a une certaines options de comment elle génère les lectures de l’Office. Si vous avez obtenu à 0x69 du scanneur, vous devez décommenter une ligne en haut du code (après les #includes ; il suffit de lire les commentaires stupides) étant donné que la valeur par défaut est 0x68. Le programme devrait maintenant compiler.
Télécharger le code, ouvrir le port série (115200 cette fois) et suivez les instructions. Bravo, vous devriez faire fonctionner lectures du Conseil d’administration. S’il semble à la dérive dans un premier temps, ne vous inquiétez pas il a besoin environ 10sec d’être encore à venir à un repos. Aussi la sortie de lacet bouge (un peu), car il n’a aucun cadre de référence. La Commission utilise l’accéléromètre pour obtenir la gravité et de trouver « down » qui agissent comme une référence pour le pitch et de rouler. Certains conseils fantaisistes contiennent une boussole pour référence.
Maintenant, avant que vous bougez, vous aurez envie de calibrer votre planche. Trouver une surface plane et assurez-vous que votre Conseil est plat avec l’étiquette vers le haut.
Vous devez ensuite exécuter ce code de calibration de la main-dandy disponible en haut, grâce à Luis Ródenas. Encore une fois, la valeur par défaut il 0x68, mais vous pouvez changer cela. Assurez-vous que vous notez les valeurs de décalage qu'il vous donne. Vous pouvez et devez utiliser ceux-ci comme les offsets dans le code de MPU6050_DMP6 (et plus tard notre code quadcopter).
Vous avez maintenant un accéléromètre/gyroscope fonctionnel et utile. Je vous suggère maintenant vous passer du temps de jouer avec le code MPU6050_DMP6 et essayer les types de sorties différentes.