Después de una larga búsqueda de sensores, analizando las características y la disponibilidad de estos, se consiguieron los siguientes sensores.
Gyro
ITG-3200
Gyro de 3 ejes.
Este gyro tiene interfaz I2C.
Explicación de los Registros
Addr Hex |
Addr Decimal |
Register Name |
R/W |
Bit7 |
Bit6 |
Bit5 |
Bit4 |
Bit3 |
Bit2 |
Bit1 |
Bit0 |
||
0 |
0 |
WHO_AM_I |
R/W |
- |
ID |
- |
|||||||
15 |
21 |
SMPLRT_DIV |
R/W |
SMPLRT_DIV |
|||||||||
16 |
22 |
DLPF_FS |
R/W |
- |
- |
- |
FS_SEL |
DLPF_CFG |
|||||
17 |
23 |
INT_CFG |
R/W |
ACTL |
OPEN |
LATCH_INT_EN |
INT_ANYRD_2CLEAR |
- |
INT_RDY_EN |
- |
RAW_RDY_EN |
||
1A |
26 |
INT_STATUS |
R |
- |
- |
- |
- |
- |
ITG_RDY |
- |
RAW_DATA_RDY |
||
1B |
27 |
TEMP_OUT_H |
R |
TEMP_OUT_H |
|||||||||
1C |
28 |
TEMP_OUT_L |
R |
TEMP_OUT_L |
|||||||||
1D |
29 |
GYRO_XOUT_H |
R |
GYRO_XOUT_H |
|||||||||
1E |
30 |
GYRO_XOUT_L |
R |
GYRO_XOUT_L |
|||||||||
1F |
31 |
GYRO_YOUT_H |
R |
GYRO_YOUT_H |
|||||||||
20 |
32 |
GYRO_YOUT_L |
R |
GYRO_YOUT_L |
|||||||||
21 |
33 |
GYRO_ZOUT_H |
R |
GYRO_ZOUT_H |
|||||||||
22 |
34 |
GYRO_ZOUT_L |
R |
GYRO_ZOUT_L |
|||||||||
3E |
62 |
PWR_MGM |
R/W |
H_RESET |
SLEEP |
STBY_XG |
STBY_YG |
STBY_ZG |
CLK_SEL |
1 #define WHO 0x00
2 #define SMPL 0x15
3 #define DLPF 0x16
4 #define INT_C 0x17
5 #define INT_S 0x1A
6 #define TMP_H 0x1B
7 #define TMP_L 0x1C
8 #define GX_H 0x1D
9 #define GX_L 0x1E
10 #define GY_H 0x1F
11 #define GY_L 0x20
12 #define GZ_H 0x21
13 #define GZ_L 0x22
14 #define PWR_M 0x3E
15
Configuración para nuestra aplicación
- WHO, 0x00, No usado
- SMPL, 0x15, Sample rate register, valor = 0
- DLPF, 0x16, DLPF-Full Scale, valor = 00011000b
- FS_SEL = 3 , (+-)2000 [º/s], Full scale selection for gyro sensor data
DLPF_CFG = 0 , LPF = 256Hz y SampleRate = 8KHz, Digital low pass filter configuration and internal sampling rate configuration
- INT_C, 0x17, Control de Interrupción, valor = 0
- PWR_M, 0x3E, Power management, valor = 00000001b
- H_RESET = 0, dispositivo no reseteado
- SLEEP = 0, desactivar modo de bajo consumo
- STBY_XG = 0, gyro eje x en modo normal ( no standby )
- STBY_YG = 0, gyro eje y en modo normal ( no standby )
- STBY_ZG = 0, gyro eje z en modo normal ( no standby )
- CLK_SEL = 001b, clock de referencia eje x
Los siguientes son de sólo lectura.
- INT_S, 0x1A, Estado de la Interrupción
- TMP_H, 0x1B, Temperatura bit alto
- TMP_L, 0x1C, Temperatura bit bajo
- GX_H, 0x1D, Gyro eje x bit alto
- GX_L, 0x1E, Gyro eje x bit bajo
- GY_H, 0x1F, Gyro eje y bit alto
- GY_L, 0x20, Gyro eje y bit bajo
- GZ_H, 0x21, Gyro eje z bit alto
- GZ_L, 0x22, Gyro eje z bit bajo
Acelerómetro
ADXL345
Acelerómetro de 3 ejes.
ADXL202
Acelerómetro de 2 ejes.