RC helicóptero cuadrotor (19 / 37 paso)

Paso 14: Arduino Demo: lectura del Sensor de

Este paso contiene un sketch de Arduino que se llevará a lecturas de los dos sensores (BMA180 acelerómetro y giroscopio de ITG-3200).

Estos dos sensores se conectan a tu microcontrolador mediante un bus I2C. Este tipo de bus está diseñado para permitir múltiples dispositivos a comunicarse usando solo dos cables.

También he unido las formas de onda de analizador de la lógica de las señales del bus I2C. (captura de pantalla y Saleae Logic 1.1.8 archivo de sesión)

Para más información:

El software de controlador de vuelo inicializará el acelerómetro por primer reajuste lo, luego configurar un filtro de paso bajo de 10Hz y ajuste la lectura a +-2 g. leer su hoja de datos y ver mi código de demostración para obtener más información acerca de cómo hacerlo. Hay otras características tales como interrupciones, grifo detección, etc., que no estamos utilizando.

El software de controlador de vuelo se inicialice el sensor giroscópico primer reajuste lo, luego configurar su filtro de paso bajo de 10Hz y diciéndole que use su propio oscilador interno. Leer su hoja de datos y ver mi código de demostración para obtener más información acerca de cómo hacerlo. Este sensor le permite usar un oscilador externo y también tiene salidas de digital de la temperatura, pero no utiliza esas características.

Aquí está el código:

#include < Wire.h >

void setup()
{
Serial.Begin(115200);
Wire.Begin();

Serial.println ("Demo iniciado, inicialización de los sensores");

AccelerometerInit();
GyroInit();

Serial.println ("sensores han sido inicializados");
}

void AccelerometerInit()
{
Wire.beginTransmission(0x40); Dirección del acelerómetro
restablecer el acelerómetro
Wire.Send(0x10);
Wire.Send(0xB6);
Wire.endTransmission();
Delay(10);

Wire.beginTransmission(0x40); Dirección del acelerómetro
filtro de paso bajo, ajustes de la gama
Wire.Send(0x0d);
Wire.Send(0x10);
Wire.endTransmission();

Wire.beginTransmission(0x40); Dirección del acelerómetro
Wire.Send(0x20); leer desde aqui
Wire.endTransmission();
Wire.requestFrom(0x40, 1);
datos byte = Wire.receive();
Wire.beginTransmission(0x40); Dirección del acelerómetro
Wire.Send(0x20);
Wire.Send (datos & 0x0F); filtro de paso bajo a 10 Hz
Wire.endTransmission();

Wire.beginTransmission(0x40); Dirección del acelerómetro
Wire.Send(0x35); leer desde aqui
Wire.endTransmission();
Wire.requestFrom(0x40, 1);
datos = Wire.receive();
Wire.beginTransmission(0x40); Dirección del acelerómetro
Wire.Send(0x35);
Wire.Send ((data & 0xF1) | 0 x 04); rango de +/-2g
Wire.endTransmission();
}

void AccelerometerRead()
{
Wire.beginTransmission(0x40); Dirección del acelerómetro
Wire.Send(0x02); conjunto Lee puntero a los datos
Wire.endTransmission();
Wire.requestFrom(0x40, 6);

leer en los datos de 3 ejes, cada uno es de 16 bits
imprimir los datos al terminal de
Serial.Print ("acelerómetro: X =");
breves datos = Wire.receive();
datos += Wire.receive() << 8;
Serial.Print(Data);
Serial.Print (", Y =");
datos = Wire.receive();
datos += Wire.receive() << 8;
Serial.Print(Data);
Serial.Print (", Z =");
datos = Wire.receive();
datos += Wire.receive() << 8;
Serial.Print(Data);
Serial.println();
}

void GyroInit()
{
Wire.beginTransmission(0x69); Dirección del giroscopio
restablecer el giro
Wire.Send(0x3E);
Wire.Send(0x80);
Wire.endTransmission();

Wire.beginTransmission(0x69); Dirección del giroscopio
filtro de paso bajo 10 Hz
Wire.Send(0x16);
Wire.Send(0x1D);
Wire.endTransmission();

Wire.beginTransmission(0x69); Dirección del giroscopio
Utilice el oscilador interno
Wire.Send(0x3E);
Wire.Send(0x01);
Wire.endTransmission();
}

void GyroRead()
{
Wire.beginTransmission(0x69); Dirección del giroscopio
Wire.Send(0x1D); conjunto Lee puntero
Wire.endTransmission();

Wire.requestFrom(0x69, 6);

leer en 3 ejes de datos, 16 bits cada una, imprimir en terminal
breves datos = Wire.receive() << 8;
datos += Wire.receive();
Serial.Print ("giro: X =");
Serial.Print(Data);
Serial.Print (", Y =");
datos = Wire.receive() << 8;
datos += Wire.receive();
Serial.Print(Data);
Serial.Print (", Z =");
datos = Wire.receive() << 8;
datos += Wire.receive();
Serial.Print(Data);
Serial.println();
}

void loop()
{
AccelerometerRead();
GyroRead();

Delay(500); reducir la velocidad de salida
}

Artículos Relacionados

Fairycopter – helicópteros de banda de goma

Fairycopter – helicópteros de banda de goma

yo estaba buscando un divertido proyecto de arte para ayudar a los niños a aprender sobre aeronáutica.  Me encontré en goma helicópteros Instructable de WYE_Lance y surgió el siguiente derivado basado en su diseño que utiliza tarjetas Disney hadas ju
Cómo volar un helicóptero de cuatro

Cómo volar un helicóptero de cuatro

¿necesita un nuevo pasatiempo?  ¿Quieres volar?  Hay múltiples instrucciones sobre cómo hacer un quad copter, pero ¿qué si usted quiere volar así?  Voy a mostrarles todo lo necesario para poder volar un helicóptero de quad.  La mejor parte es que, mi
Montaje de cámara en helicóptero

Montaje de cámara en helicóptero

En este instructable les mostraré cómo hacer una cámara de montaje de una cámara o video shot. Esto está diseñado para el punto y disparar las cámaras para que usted tenga que modificar para GoProPaso 1: Paso 1: reunir usted suplies Se necesita:gomas
Deporte de aluminio X helicóptero marco de diseño para resistencia, lightwieght y fácil.

Deporte de aluminio X helicóptero marco de diseño para resistencia, lightwieght y fácil.

Este helicóptero de aluminio X es fuerte, ligero y más fácil para la reparación de todos los marcos. Ya las piezas están fabricadas de aluminio plano, incluso si usted crash realmente duro, sólo consigue doblar, usted puede aplanar retroceda con un m
Ataque a helicóptero cometa - Rooivalk

Ataque a helicóptero cometa - Rooivalk

decidí hacer otro autogiro/kite instructable pero mejor que mi anterior. Ésta tarda más en hacer que mis otros gyros pero merece la pena el tiempo extra y se ve mucho mejor también.Así que decidí utilizar el helicóptero de apoyo táctico de Denel AH-2
Control remoto de 2 canales sin IC [bueno para helicópteros!]

Control remoto de 2 canales sin IC [bueno para helicópteros!]

Este Instructable le mostrará cómo hacer un control remoto de 2 canales que puede utilizar para sus helicópteros de control remoto!Para control remoto multi canal, puede utilizar un CD4017 tanto en el transmisor y los circuitos del receptor.Se necesi
Un helicóptero barato

Un helicóptero barato

vuelo RC helicóptero es realmente muy emocionante. Su versatilidad da un piloto un acceso completo al espacio tridimensional de tal modo que otras máquinas no pueden! Han jugado RC helicóptero por más de un año, pero todavía hay que acabo de enterarm
Mejorar drásticamente la velocidad, la vida y el rendimiento de su helicóptero de R/C

Mejorar drásticamente la velocidad, la vida y el rendimiento de su helicóptero de R/C

* voto por favor! Con un clic de un botón usted me podria ayudar ganar! Su fácil! *Cuando usted primero por un R/C helicóptero, es divertido, pero aviso que sería lento, duración de la batería puede durar unos minutos y habría que molesto resorte que
Tri-helicóptero barato de madera!

Tri-helicóptero barato de madera!

Construir un barato Tri-helicóptero de multi-rotor uso madera, abrazaderas de plástico y 8 tornillos!Estoy usando este tri-helicóptero para probar controladores de servo. Allí fueron unos desafíos para salir de esta tierra y esperemos que esto ayuda
Un RC de 3 canales (giro) helicóptero del vuelo.

Un RC de 3 canales (giro) helicóptero del vuelo.

Volar un helicóptero RC es fácil, pero uno con un giróscopo vuelo es mucho más fácil. Si no sabes es que un giróscopo. Te voy a contar en el primer paso. Se está presentando lo siguiente, carga muelle del acelerador, dirección, aterrizaje, lift off,
Cómo volar un helicóptero de juguete

Cómo volar un helicóptero de juguete

En este Instructable le mostrará cómo volar un helicóptero de R/C del juguete. Este tipo de helicóptero es un juguete con controles bastante simples. Puede tomar un tiempo para bajarse realmente buena, pero, como con un montón de cosas, la práctica h
Barato, accidente helicóptero de T portátil resistente (de aprox 200 USD)

Barato, accidente helicóptero de T portátil resistente (de aprox 200 USD)

Hola gente del mundo.Una mañana, desperté y decidió averiguar lo que está sucediendo en el mundo del aeromodelismo. Estaba sorprendido de ver que el mundo había sido superado por drones. Había multirotors por todas partes y todo el mundo estaba hacie
El LeapCopter! (Salto de movimiento para controlar el helicóptero de Quad)

El LeapCopter! (Salto de movimiento para controlar el helicóptero de Quad)

Hola a todos! Esta es mi primera esperanza instructable que usted disfrutará.   Lo que hice en este proyecto fue tomando la plataforma del movimiento de salto y había usado para controlar un quad copter con nada más que de gestos con las manos!   Uti
Agregar Radio a un helicóptero Syma S107 IR (o cualquier otro dispositivo de IR)

Agregar Radio a un helicóptero Syma S107 IR (o cualquier otro dispositivo de IR)

control remoto helicópteros y otros juguetes han convertido en increíblemente avanzados por un precio muy bajo, esto es parcialmente debido al mercado de dispositivos móviles enormes, que ha empujado a tecnología en baterías de alta energía pequeña a