f Acelerometro ( ADXL3xx) y Memsic 2125 Arduino ~ Ingenieria a nivel industrial

Visita mi canal de youtube

sábado, 24 de septiembre de 2016

Acelerometro ( ADXL3xx) y Memsic 2125 Arduino

En este tutorial se muestra cómo leer una serie Analog Devices ADXL3xx (por ejemplo ADXL320, ADXL321, ADXL322, ADXL330) acelerómetro y comunicar la aceleración a la de un ordenador personal a través del monitor de serie del software de Arduino (IDE) u otra aplicación que recibe datos a través de el puerto serie.

Este tutorial ha sido desarrollado usando las tablas de grupo de trabajo de Sparkfun. El tablero del desbloqueo adafruit acelerómetro también funciona, aunque hay que conectado de manera diferente.

El ADXL3xx da salida a la aceleración en cada eje como una tensión analógica entre 0 y 5 voltios. Para leer esto, todo lo que necesita es la función analogRead ().

hardware necesario

Arduino o Genuino
ADXL3xx Acelerómetro
Circuito

El acelerómetro consume muy poca corriente, por lo que puede colocarse en la tabla y ejecutar directamente fuera de la salida de los pines de salida digitales. Para ello, utilizará tres de los pines de entrada analógicas como digitales pines E / S, por el poder y suelo para el acelerómetro, y para el pasador de autocomprobación. Vamos a usar las otras tres entradas analógicas para leer las salidas analógicas del acelerómetro.



Schematic:




Breakout Board PinSelf-TestZ-AxisY-AxisX-AxisGroundVDD
Arduino Analog Input Pin012345

O, si usted está usando sólo el acelerómetro:

DXL3xx PinSelf-TestZOutYOutXOutGroundVDD
Arduino PinNone (unconnected)Analog Input 1Analog Input 2Analog Input 3GND5V
Código

Las conexiones del acelerómetro se definen como constantes en el comienzo del boceto, utilizando los dos pines analógicos 4 y 5 como fuente de energía. Esto se logra utilizando como E / S digitales pasadores 18 y 19. Si es necesario, A0 es D14, D15 es A1 y así sucesivamente.

const int groundpin = 18;
const int powerpin = 19;

La espiga de ajuste 19 (A5) como HIGH y el pin 18 (A4) lo más bajo proporciona los 5V con pocos miliamperios que necesita el acelerómetro para trabajar.

pinMode(groundpin, OUTPUT);
pinMode(powerpin, OUTPUT);
digitalWrite(groundpin, LOW);
digitalWrite(powerpin, HIGH);

Esta solución permite a las juntas de grupo de trabajo de Sparkfun para ser conectados directamente 
a la placa Arduino o Genuino. Diferentes tablas pueden estar conectados a 5V estándar - o 3,3 V -y
 pines GND. En este último caso, el código puede ser modificado comentando las líneas por encima
 de la sección en el void setup ().

/*
 ADXL3xx

 Reads an Analog Devices ADXL3xx accelerometer and communicates the
 acceleration to the computer.  The pins used are designed to be easily
 compatible with the breakout boards from Sparkfun, available from:
 http://www.sparkfun.com/commerce/categories.php?c=80

 http://www.arduino.cc/en/Tutorial/ADXL3xx

 The circuit:
 analog 0: accelerometer self test
 analog 1: z-axis
 analog 2: y-axis
 analog 3: x-axis
 analog 4: ground
 analog 5: vcc

 created 2 Jul 2008
 by David A. Mellis
 modified 30 Aug 2011
 by Tom Igoe

 This example code is in the public domain.

*/


// these constants describe the pins. They won't change:
const int groundpin = 18;             // analog input pin 4 -- ground
const int powerpin = 19;              // analog input pin 5 -- voltage
const int xpin = A3;                  // x-axis of the accelerometer
const int ypin = A2;                  // y-axis
const int zpin = A1;                  // z-axis (only on 3-axis models)

void setup() {
  // initialize the serial communications:
  Serial.begin(9600);

  // Provide ground and power by using the analog inputs as normal
  // digital pins.  This makes it possible to directly connect the
  // breakout board to the Arduino.  If you use the normal 5V and
  // GND pins on the Arduino, you can remove these lines.
  pinMode(groundpin, OUTPUT);
  pinMode(powerpin, OUTPUT);
  digitalWrite(groundpin, LOW);
  digitalWrite(powerpin, HIGH);
}

void loop() {
  // print the sensor values:
  Serial.print(analogRead(xpin));
  // print a tab between values:
  Serial.print("\t");
  Serial.print(analogRead(ypin));
  // print a tab between values:
  Serial.print("\t");
  Serial.print(analogRead(zpin));
  Serial.println();
  // delay before next reading:
  delay(100);
}


Datos



Estas son algunas de las lecturas del acelerómetro recogidos por el posicionamiento del eje y de un acelerómetro ADXL322 2g en varios ángulos de suelo. Los valores deben ser los mismos para los demás ejes, pero varían en función de la sensibilidad del dispositivo. Con el eje horizontal (es decir, paralelo a tierra o 0 °), la lectura acelerómetro debe estar alrededor de 512, pero los valores en otros ángulos será diferente para un acelerómetro diferente (por ejemplo, el ADXL302 5g uno).


Angle-90-80-70-60-50-40-30-20-100
Acceleration662660654642628610589563537510
Angle0102030405060708090
Acceleration510485455433408390374363357355



DESCARGA ¡¡ GRATIS !! —–> LIBROS DE
ARDUINO
 –>ENTRA AQUI PARA VER

Acelerómetro MEMS 2125

La MEMS 2125 (ficha técnica) es un acelerómetro de dos ejes capaz de medir la aceleración hasta más o menos 2 g. Tiene una interfaz digital simple: dos pasadores (una para cada eje) emiten impulsos cuya duración corresponde a la aceleración de dicho eje. Mediante la medición de la longitud de ese pulso, en microsegundos, utilizando la función de pulseIn (), es posible determinar la tasa de aceleración y de utilizar que los datos para sus propósitos.

hardware necesario

Arduino o Genuino
Acelerómetro MEMS 2125
alambras interconexion
tablero de circuitos

Circuit


Utilice el pequeño triángulo en la parte MEMS para orientar adecuadamente el sensor en su placa. Conectar los pines de 5V y GND del MEMS 2125 a los puertos de alimentación y tierra en el tablero. Conectar pin digital 2 de la tarjeta a la X el pasador del acelerómetro, y el pin digital 3 a la clavija Y a cabo.

Su Arduino o Genuino deben estar conectados a su ordenador con el fin de que la transmisión de datos en serie.

Schematic



Código

Abrir el monitor de serie del software de Arduino (IDE) para ver los valores leídos de la posición del acelerómetro.

/*
   Memsic2125

   Read the Memsic 2125 two-axis accelerometer.  Converts the
   pulses output by the 2125 into milli-g's (1/1000 of earth's
   gravity) and prints them over the serial connection to the
   computer.

   The circuit:
    * X output of accelerometer to digital pin 2
    * Y output of accelerometer to digital pin 3
    * +V of accelerometer to +5V
    * GND of accelerometer to ground

   http://www.arduino.cc/en/Tutorial/Memsic2125

   created 6 Nov 2008
   by David A. Mellis
   modified 30 Aug 2011
   by Tom Igoe

   This example code is in the public domain.

 */


// these constants won't change:
const int xPin = 2;     // X output of the accelerometer
const int yPin = 3;     // Y output of the accelerometer

void setup() {
  // initialize serial communications:
  Serial.begin(9600);
  // initialize the pins connected to the accelerometer
  // as inputs:
  pinMode(xPin, INPUT);
  pinMode(yPin, INPUT);
}

void loop() {
  // variables to read the pulse widths:
  int pulseX, pulseY;
  // variables to contain the resulting accelerations
  int accelerationX, accelerationY;

  // read pulse from x- and y-axes:
  pulseX = pulseIn(xPin, HIGH);
  pulseY = pulseIn(yPin, HIGH);

  // convert the pulse width into acceleration
  // accelerationX and accelerationY are in milli-g's:
  // earth's gravity is 1000 milli-g's, or 1g.
  accelerationX = ((pulseX / 10) - 500) * 8;
  accelerationY = ((pulseY / 10) - 500) * 8;

  // print the acceleration
  Serial.print(accelerationX);
  // print a tab character:
  Serial.print("\t");
  Serial.print(accelerationY);
  Serial.println();

  delay(100);
}


DESCARGA ¡¡ GRATIS !! —–> LIBROS DE
ELECTRONICA
 –>ENTRA AQUI PARA VER


DESCARGA SOFTWARE PARA SIMULAR CIRCUITOS ELECTRONICOS HACIENDO CLICK AQUI.




0 comentarios:

Publicar un comentario