Comment graphiquement un Accéléromètre Avec Arduino

July 29

Comment graphiquement un Accéléromètre Avec Arduino


Les accéléromètres sont des composants électroniques qui mesurent l'accélération, d'inclinaison ou la vibration d'un objet lorsqu'il est connecté à un autre appareil. Vous pouvez interpréter les données fournies par un accéléromètre en le connectant à un microcontrôleur Arduino. L'Arduino lit les valeurs à partir des broches de sortie de l'accéléromètre et les transmet à un ordinateur. L'ordinateur affiche les données sous forme numérique. Vous pouvez également représenter graphiquement les données en les transmettant à une application de programmation, tels que Max / MSP ou traitement, où il peut être tracé en temps réel.

Instructions

Branchez le Accéléromètre à l'Arduino

1 Placez l'accéléromètre sur la maquette avec ses broches sur des pistes séparées.

2 Connecter les broches de l'axe de l'accéléromètre à des entrées analogiques ou numériques de l'Arduino avec fil. Utilisez une entrée par broche. la fiche technique de l'accéléromètre, vous qui broches fournissent les données de l'axe et si les données sont analogiques ou numériques dit.

3 Connectez la broche de tension d'alimentation de l'accéléromètre à la sortie de tension appropriée sur le Arduino avec du fil. la fiche technique de l'accéléromètre vous indique la quantité d'énergie dont il a besoin.

4 Connectez la broche de terre de l'accéléromètre à la borne de masse sur le Arduino avec du fil.

5 Branchez un câble USB sur le connecteur USB de l'Arduino.

6 Branchez l'autre extrémité du câble USB dans un port USB sur un ordinateur.

Ecrire le code Arduino

7 Affecter les variables aux entrées Arduino connectés aux sorties de l'accéléromètre. Votre code pourrait ressembler à ceci:
int xPin = 2;
int yPin = 3;
Les variables "xPin" et "yPin" sont affectés aux broches reliées à l'X de l'accéléromètre et les sorties Y.

8 Initier la communication série entre l'ordinateur et l'Arduino. Votre code pourrait ressembler à ceci:
void setup() {
Serial.begin (9600);
La première ligne de code est nécessaire pour tous les programmes. La accolade marque le début de la «configuration». "Serial.begin (9600)" établit la communication à 9600 bits par seconde.

9 Définir les broches d'entrée de l'Arduino sous "configuration". Votre code pourrait ressembler à ceci:
pinMode (xPin, INPUT);
pinMode (yPin, INPUT);
}
Pins 2 et 3 sur l'Arduino sont maintenant définies comme entrées. L'accolade marque la fin de "setup".

dix Affecter des variables pour stocker des données d'axe et d'accélération entrants. Votre code pourrait ressembler à ceci:
void loop () {
int pulseX, pulseY;
int accelerationX, accelerationY;
La première ligne de code indique à l'Arduino que le code suivant est constitué de fonctions qu'il doit effectuer dans une boucle. Le premier ensemble de nombres entiers stocker les données provenant des broches d'entrée, tandis que la seconde stocke les résultats des calculs qui convertissent les données entrantes en valeurs représentant l'accélération de l'accéléromètre.

11 Lire les données à partir des entrées de l'Arduino et le stocker dans les variables appropriées. Votre code pourrait ressembler à ceci si votre accéléromètre fournit des données numériques:
pulseX = pulseIn (xPin, HIGH);
pulseY = pulseIn (yPin, HIGH);
Le code "pulseIn (xPin, HIGH)" raconte l'Arduino d'attendre la broche à lire "HIGH" et lancer le chronomètre. Lorsque la broche se lit «LOW», l'Arduino arrête de synchronisation et stocke la valeur dans "pulseX." La deuxième ligne de code fonctionne de la même manière.

Votre code pourrait ressembler à ceci si votre accéléromètre fournit des données analogiques:
pulseX = analogRead (xPin);
pulseY = analogRead (yPin);
Ce code lit les valeurs à partir des entrées de l'Arduino et les stocke dans "pulseX" et "pulseY."

12 Convertir les données stockées dans "pulseX" et "pulseY" en accélération. le fabricant de l'accéléromètre doit fournir une équation ou d'une table de valeurs à utiliser pour la conversion.

13 Imprimer les données d'accélération dans le moniteur de série, et l'envoyer à un programme compatible pour le graphisme. Votre code pourrait ressembler à ceci:
Serial.print ( "X");
Serial.print (accelerationX);
Serial.println ();
Serial.print ( "Y");
Serial.print (accelerationY);
Serial.println ();
Les lignes commençant par "Serial.print" imprimer les valeurs stockées dans les variables assignées ou les lettres apparaissant entre guillemets. "Serial.println ()", ajoute le retour chariot entre les variables imprimées, de sorte qu'ils ne semblent pas sur la même ligne.

14 Ajouter un délai avant que l'Arduino remonte à la première ligne de code. Votre code pourrait ressembler à ceci:
retard (50);
}
La première ligne de code définit le délai de 50 millisecondes. L'accolade marque la fin de «boucle» et raconte l'Arduino pour revenir à la première ligne de code.

15 Cliquez sur le bouton "Télécharger" pour télécharger le code à l'Arduino.

Graphiquement l'accélération

16 Lancer un environnement de programmation tels que Max / MSP, traitement ou Pure Data, qui accepte des données en série.

17 Écrire un code qui indique au programme de surveiller et d'accepter des données série entrantes de l'Arduino. Le code que vous écrivez dépend de l'environnement de programmation que vous utilisez. Spécifiez la vitesse de transmission que vous avez utilisé dans le code Arduino lors de la configuration de communication série.

18 Écrire un code qui met en place un graphique avec un axe X et Y. Dessiner et étiqueter les axes avec des valeurs appropriées pour votre accéléromètre. Vous pouvez utiliser les valeurs maximales et minimales prévues par l'accéléromètre pour définir la longueur de chaque axe.

19 Écrire un code qui sépare les données provenant de l'Arduino dans les valeurs de l'axe X et l'axe Y appropriés. Par exemple, vous pouvez attribuer la valeur numérique reçue après "X" à l'axe X sur votre graphique et la valeur reçue après "Y" à l'axe Y.

20 Écrire un code qui trace des points sur le graphique en utilisant les données fournies par l'Arduino.

21 Écrire un code qui dessine des lignes entre les points tracés.