Descripción

January 18, 2018 | Author: richard | Category: Arduino, Gyroscope, Usb, Accelerometer, Computing
Share Embed Donate


Short Description

Descripción: descripcion...

Description

Descripción: Aquí en SparkFun, nos negamos a dejar "losuficientemente bueno" solo. Es por eso que estamos añadiendo a nuestra línea de microcontroladores compatibles con Arduino una vez más! El Pro Micro es similar al Pro Mini excepto con un ATmega32U4 a bordo. El transceptor USB dentro de la 32U4 nos permite agregar conectividad USB a bordo y acabar con el voluminoso interfaz USB externo. Esta minúscula pizarra hace todos los trucos de Arduino que te son familiares: 4 canales de ADC de 10 bits, 5 pines de PWM, 12 DIOs, así como conexiones serie de hardware Rx y Tx. Corriendo a 8MHz y 3.3V, este tablero le recordará mucho de sus otros tableros favoritos compatibles con Arduino, pero este pequeño tipo puede ir a cualquier lugar.

Esta es la versión 3.3V así que, como siempre, tenga en cuenta los límites del voltaje del sistema y así sucesivamente. El voltaje inferior del sistema también tiene sus ventajas, sin embargo, como la facilidad de uso con muchos sensores comunes de 3.3V. Hay un regulador de voltaje en el tablero así que puede aceptar el voltaje hasta 12VDC. Si está suministrando energía no regulada al tablero, asegúrese de conectarse al pin "RAW" en no VCC. ¿No sabes qué mesa Arduino o compatible con Arduino es la adecuada para ti? Echa un vistazo a nuestra Arduino Guía de compra ! Nota: Consulte el enlace de GitHub a continuación para obtener soporte con el IDE de Arduino.

RRRRRRRRRRRRRRRRRRRRRRRRRR Si ya la versión Pro Mini de Arduino era interesante por su tamaño y su bajo precio, el Arduino Pro Micro puede ser incluso mejor! A cambio de costar un poco más el Pro Micro (2€ y 3,5€ respectivamente) cuenta con el microcontrolador del Arduino Leonardo y sus mejoras: entre ellas 0,5KiB más de memoria SRAM, llegando ahora a un total de 2,5KiB, y soporte para USB nativo por lo que ahora en el mismo espacio también se cuenta con un conector MicroUSB evitando así la necesidad de un programador externo, sin olvidar que el USB nativo nos permite que el Arduino se comporte como un teclado, ratón o gamepad con el ordenador. Este modelo en concreto cuenta con 18 pines para datos, cada uno con unas u otras funciones según el pin. Como se ve en la siguiente imagen cuenta con 18 salidas/entradas digitales de las cuales 5 tienen función PWM, 9 funcionan también como entradas analógicas, 2 como puerto UART, 2 más para el puerto I2C, y 3 para el puerto ISP. Es decir, tiene de todo!

Un detalle del que no me di cuenta hasta tener la placa es que cuenta con tres leds: Encendido, RX y TX. No cuenta con un led especifico para el pin 13 como tienen todos los Arduinos, pero ojo, que eso no quiere decir que no podamos hacer un ¡Hola mundo!, todo lo contrario, con este Arduino podemos usar el pin RX y TX como leds programables, ambos!

Instalación Actualización 2016/01/24: A partir de la versión 1.5 del IDE de Arduino es suficiente con añadir la siguiente URL como repositorio de placas para poder instalarla desde el gestor de placas. https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_B oard_Manager/package_sparkfun_index.json Esa URL se añade en el campo “Gestor de URLs adicionales de tarjetas” en el menú: Archivo > Preferencias. A diferencia del Arduino Leonardo o Micro, el Arduino Pro Micro no viene incluido de serie en el IDE, eso hace que no podamos usarlo hasta que configuremos correctamente el IDE. Para ello es necesario agregar unos ficheros de configuración que tienen datos sobre el hardware de la placa, asi el IDE puede saber el tipo de procesador, posición de sus registros, cantidad de memoria, etc. Estos ficheros podemos bajarlos desde la web de Sparkfun o desde aquí. Si usamos una versión del IDE 1.0.X se pueden emplear las instrucciones que acompañan a los ficheros. En

el caso de usar una versión mayor sera necesario hacerlo de otra forma ya que la estructura de menús y configuraciones del IDE cambio drásticamente en versiones posteriores. Como me encuentro en esa situación al usar el IDE versión 1.5.4 (beta) explico a continuación los pasos que hay que seguir. Un pequeño apunte, existen dos versiones de la placa, la que funciona a 5V con una frecuencia de procesador de 16Mhz, y la de 3.3V a 8Mhz, dependiendo de la placa los ficheros a copiar son diferentes, diferenciándose en la coletilla del nombre que acaba o bien en 16 o bien en 8. 

Primero bajamos los ficheros mencionados.



Copiamos el fichero: “driver/ProMicro.inf” en “arduino-1.5.4-r2\drivers”



Después el fichero: “bootloaders/caterina/Caterina-promicro16.hex” en “arduino-1.5.4r2/hardware/arduino/avr/bootloaders/caterina”



Luego hay que copiar el directorio promicro de: “/variants/promicro” a “arduino-1.5.4r2/hardware/arduino/avr/variants”



Por ultimo hay que añadir las características del hardware del fichero “boards.txt” dentro de: “arduino-1.5.4-r2/hardware/arduino/avr/boards.txt” pero es necesario introducir los nuevos datos siguiendo la estructura de variables del IDE, es decir, debemos de pegar esto en el fichero del IDE:

Tutorial Arduino: Acelerómetro 3 ejes ADXL335 +/3G Publicado por Alex TC @TCRobotics en Tutoriales el 22/07/2011 Comentarios:

Esta semana en el tutorial de Arduino veremos como conectar el Acelerómetro de 3 ejes ADXL335. Antes de nada despejemos las siguientes dudas que a todos nos han surgido: ¿Que es un acelerómetro? Un acelerómetro es un tipo de sensor que nos mide aceleraciones lineales. Las aceleraciones con estos sensores se suelen medir utilizando la unidad "G" que no es más que la unidad de referencia de la aceleración gravitatoria de la tierra. Ese 9.81.... que nos hicieron aprender desde pequeños. En estos casos es una buena unidad de medida pues podemos igualarla a la medida que nos da el acelerómetro en reposo, ya que en la tierra todos sufrimos esa aceleración. ¡No os perdais el resto del tutorial asi como el vídeo de montaje y funcionamiento después del salto!

Pantallas LCD gráficas y de texto







































PrevNext

¿Que es un eje? Un eje es una dirección del espacio. Con dos ejes puedes medir un plano, con 3 todo el espacio tridimensional. ¿Pero entonces que mide un giroscopio? Un giroscopio mide también aceleraciones pero angulares, vamos, la aceleración de un giro. Yo lo que quiero es medir la orientación de un objeto, ¿entonces que necesito? Pues según. Con un acelerómetro de tres ejes y suponiendo el objeto en reposo podemos encontrar su orientación en el espacio ya que sabiendo que esta sujeto a una aceleración de 1G, y con la ayuda de la trigonometría podemos definir su orientación solo con las tres medidas de los ejes. ¿Y para que sirve un giroscopio? Si giramos alrededor de un eje del acelerómetro no nos variará la medida, esto no lo mide el acelerómetro, los giros los mide el giroscopio. Si combinamos un acelerómetro de 3 ejes con un giroscopio de tres ejes tendremos perfectamente

definida la orientación de el objeto en el espacio y respecto del espacio (tendríamos un IMU de 6 ejes). Si le añadimos además una brújula digital o magnetometro de 3 ejes, también tendremos la orientación respecto a los polos magnéticos. Este sistema completo seria un IMU de 9 ejes. Y de ahí saltaríamos al gps, altímetro...

Ahora que tenemos todo mas claro, el ADXL335 es un acelerómetro de 3 ejes que nos permite medir aceleraciones del rango de +3G -3G. La interfaz para leer esta medida no puede ser mas sencilla. Se trata de un sensor analógico por lo que nos proporcionará mediante 3 pines, tres voltajes proporcionales a la aceleración de cada eje. Algo muy importante es que se trata de un dispositivo que se alimenta a 3.3v, por lo que hay que tener cuidado al conectarlo a nuestro Arduino de no hacerlo a la salida de 5v, ya que dañaríamos el sensor irreparablemente. Para este tutorial he diseñado un circuito que nos permite ver en tiempo real la aceleración en cada uno de los ejes. Podríamos añadirle a este sistema una shield SD y ya tendríamos un logger de Gs con el que irnos a nuestra montaña rusa favorita:) No lo he implementado para no complicar mucho el tutorial y centrarlo en el sensor. Así es como he realizado las conexiones del proyecto:

Uno de los interruptores nos encenderá o apagará nuestro medidor, mientras que el otro nos permitirá parar la gráfica en cualquier momento. Podeis descargaros el código del proyecto. Dentro veréis que el código de lectura esta dentro de un IF que nos controlará la pausa del graficado. Medimos la aceleración con un simple analogRead() para luego adaptar los datos a nuestra gráfica con un map(). También aproveché a utilizar las funciones para controlar la pantalla gráfica de el anterior tutorial Arduino. Y por último os dejo con el vídeo, animándoos a que mandéis vuestros proyectos y esperando que os haya gustado. ¡Un saludo! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%55

Este diminuto componente de baja potencia, es un aceleró metro analógico completo de 3 ejes con señales reguladas de voltaje de salida. Mide la aceleración con una escala de ± 3G y utiliza un nivel de tensión de 3.3 V. Se puede medir la aceleración de la gravedad estática en aplicaciones de detección de inclinación, así como la aceleración dinámica resultante del movimiento, choque o vibraciones. ( hoja de datos ). ¿Que es un Aceleró metro? Un aceleró metro es un es un tipo de sensor analógico transductor que detecta el movimiento o el giro, es decir, es capaz de responder con una señal eléctrica ante una perturbación inducida por la aplicación de una

fuerza o la gravedad. Este dispositivo es capaz de detectar si está en horizontal o vertical o por ejemplo si los agitamos en el aire.

El ADXL335 proporcionará a Arduino, tres voltajes proporcionales a la aceleración de cada eje X, Y y Z. Algo muy importante es que se trata de un dispositivo que se alimenta a 3.3 V, por lo que hay que tener cuidado al conectarlo a nuestro Arduino de no hacerlo a la salida de 5v, ya que dañaríamos el sensor. Conexión:

Código: //Pines analogicos de lectura const int xPin = 0; const int yPin = 1; const int zPin = 2;

// Valores mínimos y máximos del acelerometro en reposo

int minVal = 265; int maxVal = 402;

// para guardar los valores calculados double x; double y; double z;

void setup ( ) { Serial.begin(9600); } void loop ( ) { //Lee los valores analogicos del acelerometro int xRead = analogRead(xPin); int yRead = analogRead(yPin); int zRead = analogRead(zPin); // mapea los valores leidos a un rango -90 a 90 grados (-π a π ) int xAng = map(xRead, minVal, maxVal, -90, 90); int yAng = map(yRead, minVal, maxVal, -90, 90); int zAng = map(zRead, minVal, maxVal, -90, 90); //Convertimos los x = RAD_TO_DEG * y = RAD_TO_DEG * z = RAD_TO_DEG *

radianes a grados (atan2(-yAng, -zAng) + PI); (atan2(-xAng, -zAng) + PI); (atan2(-yAng, -xAng) + PI);

//Imprimimos en el monitor serial los caluculos Serial.print("x Serial.print(x); Serial.print(" | y: "); Serial.print(y);

Serial.print(" | z: "); Serial.println(z); delay(100); }

//Espera 1 decima de segundo

Anuncios

U so del acelerómetro de 3 ejes ADXL335 con Arduino Hoy os traemos un tutorial muy sencillo para usar el acelerómetro ADXL335 con Arduino. El acelerómetro ADXL335 es un sensor de alta calidad que incluye unos condensadores de desacoplo en la placa para su óptimo funcionamiento y que ya viene preparado para usarse en cualquier tipo de proyecto con microcontroladores incluyendo proyectos de robótica. Este acelerómetro devuelve una tensión proporcional a la aceleración detectada por el sensor, con lo que podemos interpretar las señales fácilmente con Arduino o con nuestro microcontrolador favorito mediante los pines analógicos.

Esquema y conexiones Alimentaremos el módulo desde el pin de 3.3v del Arduino y conectaremos el pin GND del sensor a cualquier pin GND del Arduino. Los pines X, Y y Z del sensor van conectados a los pines A1, A2 y A3 del Arduino respectivamente, y con esto, ya lo tenemos todo preparado para subir el sketch de prueba.

Sketch de prueba Este es un sketch de prueba muy sencillo para probar el acelerómetro ADXL335, está comentado línea a línea para que sea muy fácil de entender:

1 //Definimos en 3 constantes los pines del Arduino que vamos a usar para obtener las lecturas 2 const int xpin = A1;

// Eje X del acelerometro

3 const int ypin = A2;

// Eje Y del acelerometro

4 const int zpin = A3;

// Eje Z del acelerometro

5 6 int Pausa = 500; //Pausa en milisegundos entre lecturas 7 8 void setup() 9 { 1 0 1 1 1 2

//Iniciamos la comunicacion serie Serial.begin(9600); //Nos aseguramos que el conversor analogico-digital toma el voltaje de referencia desde el pin AREF analogReference(EXTERNAL);

1 //Definimos los pines que usaremos para obtener los valores del acelerometro como entrada 3 (input) 1 4 1 5

pinMode(xpin, INPUT); pinMode(ypin, INPUT); pinMode(zpin, INPUT);

1 } 6 1 7 void loop() 1 8 { 1 9 2 0

//Mostramos en el monitor serie el valor que obtenemos del eje X Serial.print(analogRead(xpin)); Serial.print("\t"); //Espaciado entre caracteres

2 1 2 2 2 3 2

//Pequeña pausa delay(1);

//Mostramos en el monitor serie el valor que obtenemos del eje Y

4 2 5 2 6 2 7 2 8 2 9 3 0

Serial.print(analogRead(ypin)); Serial.print("\t"); //Espaciado entre caracteres

3 1 3 2

//Pequeña pausa delay(1);

3 3 Serial.print(analogRead(zpin)); 3 4 3 5 3 6

Serial.print("\n"); //Cambio de linea

//Pequeña pausa entre lecturas definida por la variable "Pausa" delay(Pausa);

3 } 7 3 8 3 9 4 0 4 1 4 2

Una vez subido el sketch podemos ver en el monitor serial del IDE de Arduino los valores que nos lanza el sensor para cada eje. Os ha gustado el tutorial?, fácil verdad?. Si os ha gustado compartidlo en vuestras redes sociales!.

Compartir en redes sociales:

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF