Interfaz de BMG160 de Sensor giroscopio de 3 ejes con frambuesa Pi (4 / 5 paso)

Paso 4:3-eje giroscopio medida de código Java:

La ventaja de usar frambuesa pi es, que le proporciona la flexibilidad del lenguaje de programación en la que desea programar el tablero para interfaz del sensor con él. Aprovechando esta ventaja de esta junta, estamos demostrando aquí su programación en Java. El código Java para BMG160 puede ser descargado de nuestra comunidad de github que es Comunidad de Control de todo.

Así como por la facilidad de los usuarios, nos estamos explicando el código aquí también: como el primer paso de la codificación es necesario descargar la biblioteca de pi4j en el caso de java, porque esta biblioteca es compatible con las funciones utilizadas en el código. Por lo tanto, para descargar la biblioteca puede visitar el siguiente enlace:

http://pi4j.com/install.html

Puede copiar el código java de trabajo para este sensor de aquí también:

 import com.pi4j.io.i2c.I2CBus;import com.pi4j.io.i2c.I2CDevice;import com.pi4j.io.i2c.I2CFactory;import java.io.IOException;public class BMG160{ public static void main(String args[]) throws Exception{ // Create I2C bus I2CBus bus = I2CFactory.getInstance(I2CBus.BUS_1); // Get I2C device, BMG160 I2C address is 0x68(104) I2CDevice device = bus.getDevice(0x68);// Select range register // Configure full scale range, 2000 dps device.write(0x0F, (byte)0x80); // Select bandwidth register // Bandwidth 200 Hz device.write(0x10, (byte)0x04); Thread.sleep(500); // Read 6 bytes of data // xGyro lsb, xGyro msb, yGyro lsb, yGyro msb, zGyro lsb, zGyro msb byte[] data = new byte[6]; device.read(0x02, data, 0, 6);// Convert data int xGyro = ((data[1] & 0xFF) * 256 + (data[0] & 0xFF)); if(xGyro > 32767) { xGyro -= 65536; }int yGyro = ((data[3] & 0xFF) * 256 + (data[2] & 0xFF)); if(yGyro > 32767) { yGyro -= 65536; }int zGyro = ((data[5] & 0xFF) * 256 + (data[4] & 0xFF)); if(zGyro > 32767) { zGyro -= 65536; } // Output data to screen System.out.printf("X-Axis of Rotation : %d %n", xGyro); System.out.printf("Y-axis of Rotation : %d %n", yGyro); System.out.printf("Z-axis of Rotation : %d %n", zGyro); }} 

La biblioteca que facilita la comunicación i2c entre el sensor y la placa es pi4j, sus diferentes paquetes I2CBus, I2CDevice y I2CFactory ayudan a establecer la conexión.

 import com.pi4j.io.i2c.I2CBus;import com.pi4j.io.i2c.I2CDevice; import com.pi4j.io.i2c.I2CFactory; import java.io.IOException; 

Esta parte del código hace que el sensor mide la velocidad angular por escrito los respectivos comandos utilizando la función write() y luego se leen los datos mediante la función read().

 // Select range register // Configure full scale range, 2000 dps device.write(0x0F, (byte)0x80); // Select bandwidth register // Bandwidth 200 Hz device.write(0x10, (byte)0x04); Thread.sleep(500);// Read 6 bytes of data // xGyro lsb, xGyro msb, yGyro lsb, yGyro msb, zGyro lsb, zGyro msb byte[] data = new byte[6]; device.read(0x02, data, 0, 6); 

Los datos recibidos del medidor se convierten en el formato adecuado mediante el uso de los siguientes:

 int xGyro = ((data[1] & 0xFF) * 256 + (data[0] & 0xFF)); if(xGyro > 32767) { xGyro -= 65536; } int yGyro = ((data[3] & 0xFF) * 256 + (data[2] & 0xFF)); if(yGyro > 32767) { yGyro -= 65536; } int zGyro = ((data[5] & 0xFF) * 256 + (data[4] & 0xFF)); if(zGyro > 32767) { zGyro -= 65536; } 

La salida se imprime utilizando la función System.out.println(), en el siguiente formato.

 System.out.println("X-Axis of Rotation : %d %n", xGyro); System.out.println("Y-axis of Rotation : %d %n", yGyro); System.out.println("Z-axis of Rotation : %d %n", zGyro); 

La salida del sensor se muestra en la foto de arriba.

Artículos Relacionados

Interfaz de BMG160 de Sensor giroscopio de 3 ejes con Arduino Nano

Interfaz de BMG160 de Sensor giroscopio de 3 ejes con Arduino Nano

En el mundo de hoy, más de la mitad de los jóvenes y los niños son aficionada a juegos de azar y todos aquellos que gustan de él, fascinado por los aspectos técnicos del juego sabe la importancia de la detección de movimiento en este dominio. Nos sor
Interfaz de BMG160 de Sensor giroscopio de 3 ejes con la partícula

Interfaz de BMG160 de Sensor giroscopio de 3 ejes con la partícula

En el mundo de hoy, más de la mitad de los jóvenes y los niños son aficionada a juegos de azar y todos aquellos que gustan de él, fascinado por los aspectos técnicos del juego sabe la importancia de la detección de movimiento en este dominio. Nos sor
Usando los botones y sensores para hacer música con el Edison de Intel

Usando los botones y sensores para hacer música con el Edison de Intel

ObjetivosSentirse cómodo con el Edison al prototipo de un proyecto de hardwareConstruir una sencilla aplicación de Node.jsJugar con el poder de WebSockets y redes de tiempo realAprovechar de Cylon.js fácil de usar interfaz con botones y sensoresExplo
Guía de giroscopio y acelerómetro con Arduino incluye filtrado de Kalman

Guía de giroscopio y acelerómetro con Arduino incluye filtrado de Kalman

esta guía fue publicada primero en el foro de Arduino y se puede encontrar aquí: http://arduino.cc/forum/index.php/topic, 58048.0.htmlYo apenas había publicado, así que aún más conseguirá un uso. El código se puede encontrar aquí:https://github.com/T
GY-521 MPU6050 giroscopio de 3 ejes y acelerómetro con Arduino

GY-521 MPU6050 giroscopio de 3 ejes y acelerómetro con Arduino

Este video tutorial va sobre la instalación y configuración de un tablero de GY-521 MPU6050 3 ejes giroscopio y acelerómetro con un Arduino. Después de algunos problemas iniciales con pude conseguir el componente de trabajo. Al principio tuve problem
Añadir 6 sensores de distancia por ultrasonidos existente frambuesa Pi Robot

Añadir 6 sensores de distancia por ultrasonidos existente frambuesa Pi Robot

Esto es no un tutorial para hacer un robot de frambuesa Pi con 6 sensores de ultrasonidos.Este es un tutorial muestra el mejor método para añadir 6 sensores del ultrasonido directamente a una frambuesa pi sin el uso de cualquier microcontrolador como
Construcción de un Sensor de ancho filamento DIY con pinza Digital

Construcción de un Sensor de ancho filamento DIY con pinza Digital

Este post es sobre como construir un sensor de ancho filamento DIY con pinza digital con puerto de datos incorporado.Paso 1: El esquemaPaso 2: Descripción de componentes claveTirador de filamentoTiene 1 motor paso a paso y 2 rodillos. Los rodillos so
Interfaz de Motor de corriente continua sin escobillas (BLDC) con Arduino

Interfaz de Motor de corriente continua sin escobillas (BLDC) con Arduino

Este es un tutorial sobre cómo la interfaz y funcionamiento de un motor DC sin escobillas con Arduino. Si usted tiene alguna pregunta o comentario por favor, responda en los comentarios o por correo a rautmithil [at] gmail [dot] com. Usted también pu
Sensor de ultrasonidos HC-SR04 con Arduino

Sensor de ultrasonidos HC-SR04 con Arduino

Ver más en:http://www.theorycircuit.com/interface-Ultrasonic-sensor-HC-Sr-04-with-Arduino/Enlace Facebook: https://www.facebook.com/pages/Theorycircuit/82511...El SR HC 04 es sensor de la gama ultrasónica famoso y su muy fácil de usar con muchos micr
Arduino Nano - seguimiento Tutorial Sensor de movimiento de eje de MPU-6000 6

Arduino Nano - seguimiento Tutorial Sensor de movimiento de eje de MPU-6000 6

MPU-6000 es un movimiento de 6 ejes seguimiento Sensor con acelerómetro de 3 ejes y 3 ejes giroscopio incorporado en él. Este sensor es capaz de seguimiento eficiente de la posición exacta y la ubicación de un objeto en el plano de 3 dimensiones. Pue
Sensor de MaxBotix Lv-EZ con Cylonjs y Edison Arduino breakout Junta

Sensor de MaxBotix Lv-EZ con Cylonjs y Edison Arduino breakout Junta

Este instructable es para los usuarios que lo deseen para la serie del LV Ez Maxbotix sensores a Edison con placa breakout de arduino, con cylonjs o johhny y cinco.Paso 1: Lo que se necesita.1) Edison con arduino breakout Junta.2) escudo de base Grov
Sensor de respiración DIY con Arduino (Sensor estiramiento punto conductor)

Sensor de respiración DIY con Arduino (Sensor estiramiento punto conductor)

Este sensor bricolaje tendrá la forma de un conductor sensor punto de estiramiento. Envolverá alrededor de su pecho, estómago y cuando se expande el pecho, estómago y contratos también el sensor y por lo tanto los datos de entrada que se introduce en
Enviar datos del sensor (DHT11 & BMP180) a ThingSpeak con un Arduino, mediante cable o WiFi (ESP8266)

Enviar datos del sensor (DHT11 & BMP180) a ThingSpeak con un Arduino, mediante cable o WiFi (ESP8266)

Escribí este instructable porque Thingspeak - no importa lo fácil fijar para arriba - tiene algunos obstáculos que me topé y que, a juzgar por las reacciones, otras personas están luchando con así.Cosas que usted necesita:ArduinoEthernetShield WS5100
Sensor de LoRa de Arduino con Radio InAir9B

Sensor de LoRa de Arduino con Radio InAir9B

Aquí voy a describir paso a paso cómo hacer trabajo LoRa sensor con pila de LoRaWAN basado en el módulo inAir9B y Arduino UNO (igual se puede aplicar en Mega).No has encontrado un tutorial completo en cualquier lugar de la Web y decidí hacerlo.Al fin