Portée de Spotter (5 / 9 étapes)

Étape 5: Arduino Sketch

WhatItDoes : Mon esquisse SpotterLevel affiche la rubrique ou portant que le champ d’application est pointée vers. Le compas magnétique standard est divisé en 360 degrés nord à 0, est à 90, Sud à 180 et ouest à 270. Le titre est la direction que le champ d’application est pointée vers en degrés.

Pour la boussole sur cette photo, le titre est d’environ 123 degrés.

Également affiché sont le x, les valeurs y et z de l’accéléromètre en degrés avec le niveau à 0 et tout droit vers le haut à 90. Si parfaitement niveau serait de 0, 0, 90,0.

J’utilise les bibliothèques Adafruit pour le module LCD5110.

Avertissement : Quand j’ai upgradé 1.6.1 pour Arduino, j’ai dû mettre à jour les bibliothèques Adafruit_GFX et Adafruit_PCD8544 :

https://Learn.Adafruit.com/Adafruit-gfx-Graphics-Library

https://github.com/Adafruit/Adafruit-PCD8544-Nokia-5110-LCD-Library

Comme déjà dit :

Mise en garde : Mon PCB utilise un Atmega328 programmé avec Pro-MINI 8 MHZ 3, 3V bootloader. Si vous construisez ce PCB, vous devez programmer il avec le Pro-MINI 8 MHZ 3, 3V bootload et devez la sélectionner lors de l’utilisation de l’environnement Arduino.

Arduino environnement Version 1.6.4 :

Sélectionner, sélectionnez Port correct

Select, sous les planches, sélectionnez (Arduino Pro ou Pro Mini)

Sélectionnez, sous processeur, (Atmega328 (3, 3V, 8 Mhz))

Remarque : Les anciennes versions n’avons sélection processeur mais avons un AtMega328 Mini Pro (3, 3V, 8 MHz) sélection dans le cadre de conseils.

Le PCB est conçu pour utiliser un adaptateur USB-BUB, ou, je me sers, un équivalent de PL2303.

Mon esquisse de SpotterLevel doit être modifié pour vos valeurs d’étalonnage dans la dernière étape :

Du programme d’étalonner , branchez les valeurs min/max SpotterLevel esquisse, remplaçant les valeurs dans les lignes suivantes :

Compass.m_min = (LSM303::vector) {-433, -600,-546} ;

Compass.m_max = (LSM303::vector) {570, 488, 579} ;

Cela devrait améliorer les relevés de position.

Dans le programme AccelCal , branchez les valeurs min/max SpotterLevel esquisse, remplaçant les valeurs dans les lignes suivantes :

Calibrage de l’accéléromètre {x, y, z}

const long acmin [3] = {-17008,-16432,-17120} ;

const long acmax [3] = {16064, 16480, 18176} ;

Cela devrait améliorer les mesures de niveau.

LSM303dlhc Orientation : Il y a un autre paramètre de logiciel qui peut devoir être ajustée selon comment le module LSM303dlhc est orienté et la direction dans laquelle vous êtes intéressé. Dans le champ d’application de l’observateur, je veux savoir dans quelle direction pointe l’étendue. Lors de la fixation du module, vous voulez vous assurer c’est parallèle ou perpendiculaire à la direction, vous êtes intéressé. Dans ce cas la flèche de X est orientée dans le sens que je suis intéressé. La ligne suivante reprend cette disposition :

position = compass.heading((LSM303::vector) {1, 0, 0}) ;

Si vous êtes intéressé dans la direction opposée, comme le X est orientée, vous utiliseriez :

position = compass.heading((LSM303::vector) {-1, 0, 0}) ;

Si vous êtes intéressé dans la même direction que le Y est orientée, vous utiliseriez :

position = compass.heading((LSM303::vector) {0, 1, 0}) ;

Si vous êtes intéressé par la direction vers le bas (Z), vous utiliseriez :

position = compass.heading((LSM303::vector) {0, 0, -1}) ;

Pour résumer, les trois valeurs sont X, Y et Z. Seul d'entre eux peut être différent de zéro. Si c’est la même direction que celle qu’il est 1. Si c’est le sens inverse qu’il est -1.

TECHNOBABBLE : Je crois que c’est en utilisant algèbre linéaire et calcul vectoriel. (Beurk!)

Malheureusement, il y a quelques calibrage plus pour faire. L’IC LSM303dlhc est attaché à l’interface de PCB. Le jury est boulonné à la plaque supérieure. Toutes ces contraintes sur l’IC affectera l’accéléromètre lecture alors zéro ne sera pas zéro. Alors j’ai ajouté un petit facteur de correction dans mon sketch.

Procédure de calibrage final :

Ouvrez le dessin SpotterLevel pour l’édition. Assurez-vous que les valeurs dans cette ligne sont tous 0,0 :

double ac_off [3] = {0.0, 0.0, 0.0} ; Utilisez-les pour calibrer.

Charger le croquis à l’Arduino.

Fixez l’ensemble sur un trépied.

Niveau de la plaque supérieure de l’Assemblée. J’ai un petit niveau de T-bulle là-dessus. Plupart des trépieds ont quelques ajustements de l’ajuster pour le niveau.

C’est difficile à faire. Ce que je fais est d’aligner le niveau en parallèle avec un des ajustements. Effectuer le réglage puis pivoter 180 degrés et vérifier. Pivoter l’ensemble de 90 degrés, puis répétez pour l’autre rajustement.

Attention : le roulement a un grand nombre de jouer dedans, afin de s’assurer que l’Assemblée se repose uniformément sur le palier.

Une fois que vous avez la plaque supérieure au niveau que vous pouvez l’obtenir, tourner sur l’Arduino. Maintenant lentement tourner la plaque autour et obtenir les valeurs minimale et maximale pour x, y, z. Prenez ensuite la moyenne. Voici ce que j’ai obtenu, une fois :

X Y Z

Max-0.0 83,7 0,4

Min -1,6 -1,0 83,3

Ave -0,8 -0,3 83,5

Pour le Z, il faut soustraire 90 de celle-ci (-6,5)

Branchez ces derniers dans l’esquisse

double ac_off [3] = {-0,8, 0,3, -6,5} ;

Vous avez enfin fini avec étalonnage!!

Articles Liés

Arduino ultrasonique « Parking Spotter »

Arduino ultrasonique « Parking Spotter »

pour mon premier instructable, je voudrais vous présenter le Parking Spotter. Ce n'est pas un concept nouveau, je sais. Cependant, cette version a été faite spécifiquement en fonction de mes besoins/désirs/matériaux déjà en ma possession. En règle gé
Découpé au laser géométriques porte-crayons

Découpé au laser géométriques porte-crayons

Vous aurez besoin :Coupe au laser1/8" boisColleÉtape 1: Laser CutDécouper les pièces en utilisant le fichier « Géométriques porte-crayon » fourni. Les fichiers sont fournis en .svg et .ai.Nous avons utilisé la 5e Gen Hobby Laser pour couper notre fic
Terrasse extérieure porte

Terrasse extérieure porte

Nous avions besoin d'une porte pour garder notre chien parqué sur notre nouvelle terrasse, l'empêcha de munit vers le bas de l'allée ou effrayer le chien du voisin. J'ai voulu cette porte d'oscillation non seulement mais aussi être amovible.Maintenan
Intérieure porte pour animaux

Intérieure porte pour animaux

L'été dernier, j'ai adopté mon premier chat:) À l'époque où le temps était un peu plus chaud, nous ne dérangerait pas d'avoir que l'ouverture des portes entre le garage et le reste de la maison tout le temps, pour Mlle moustaches peuvent aller partou
Auto porte de mangeoire poulet

Auto porte de mangeoire poulet

Toute personne qui a des poulets a probablement connu des rats ou des souris à un certain stade. Ils aiment à entrer dans l'alimentation des poulets dans la nuit et faire un gâchis. La plupart des rats j'ont pris au piège et ont effacé mais je sais p
Bébé/Pet portes du bois de palette : Super facile!!

Bébé/Pet portes du bois de palette : Super facile!!

J'ai fait une paire de portes pour mon enfant en bas âge et le chien pour le coût de la peinture, de tache et de polyuréthane, de balustrades de palette bois et clôture. Vous pouvez utiliser bois standard de votre magasin de grande surface, mais ce n
Caché la chatière dans le panneau de porte

Caché la chatière dans le panneau de porte

Nous avions besoin d'une porte de petit chat pour notre chat puisse aller dans et hors de notre sous-sol, gardant la porte (humaine) fermée afin que nos enfants ne tombent pas dans les escaliers (ils sont maladroit que le chat).J'ai regardé dans les
PetCurfew II : An Automated chat porte mettant en vedette le Photon et IFTTT

PetCurfew II : An Automated chat porte mettant en vedette le Photon et IFTTT

Il s'agit d'un suivi de mon « couvre-feu : An Arduino contrôlée Pet chatière » instructable publié il y a quelques années dans lequel un Arduino Nano, servo et horloge temps réel ont été ajoutés à une porte petit chat pour limiter les heures au cours
Éclairage de la porte de Neopixel réactive

Éclairage de la porte de Neopixel réactive

Devinez quoi ? Maintenant vous porte peut avoir lumières là-dessus aussi !Mais attendez, il n'y a plus! Ces lumières sont réactifs car ils sentiment lorsque vous fermez la porte et éteignez automatiquement, vous permet d'économiser les deux puissance
Porter de nuit élégant collier

Porter de nuit élégant collier

Voici quelques idées sur la façon de créer un élégant pendentif qui brille doucement pendant la nuit. Il est très facile de créer et peut faire à peu de frais. La forme simple, rectangulaire s'adapte très bien à n'importe quel look que vous souhaitez
Mot de passe Arduino débloquer porte sécurité système

Mot de passe Arduino débloquer porte sécurité système

Salut! Dans ce guide de Instructables, je vais vous montrer comment faire votre propre mot de passe à déverrouiller le système de porte à l'aide de la carte de Arduino uno. J'ai fait mon propre circuit en utilisant le microcontrôleur ATmega328 mais i
Ouvre-porte de poulet automatique avec PICAXE

Ouvre-porte de poulet automatique avec PICAXE

À l'aide de la superbe PICAXE 08M puce 2 j'ai mis en place un ouvreur de porte automatique coop (nommé le Cluck-O-Matic) donc je n'ai pas de se lever si tôt dans la matinée pour laisser les poulets sortir de leur cage. Cette ouvre seulement de poulet
Simple automatique Chicken Coop porte

Simple automatique Chicken Coop porte

Dans ce Instructable je vais montrer comment faire un simple poulet automatique coop gâche.Pour toute personne qui élève des poulets, la menace toujours présente d'animaux prédateurs comme les renards est toujours un sujet d'inquiétude. Récemment, no
Unloker système de porte sans fil

Unloker système de porte sans fil

clés sont anciennes façons d'ouvrir une porte, et il sera difficile de l'utiliser en conditions de faible éclairage afin que pourquoi j'ai déménagé à wirless avec 20 mètres plageEtape 1: Le premier systhem Le premier système composait d'un interphone