Interfacing van 3-as gyroscoop Sensor BMG160 met Raspberry Pi (4 / 5 stap)

Stap 4:3-as gyroscoop meting met behulp van Java-Code:


Het voordeel van het gebruik van de raspberry pi is dat biedt u de flexibiliteit van de programmeertaal waarin u wenst te programmeren van de Raad van bestuur om de interface van de sensor mee. Gebruik te maken van dit voordeel van dit forum, tonen wij hier de programmering in de Java. De code van Java voor BMG160 kan worden gedownload van onze github Gemeenschap die Controle alles Gemeenschap.

Evenals voor het gemak van de gebruikers, we zijn uit te leggen de code hier ook: als de eerste stap van codering u wilt downloaden van de pi4j-bibliotheek in het geval van java, omdat deze bibliotheek de functies die worden gebruikt in de code ondersteunt. Dus, om te downloaden van de bibliotheek kunt u de volgende link bezoeken:

http://pi4j.com/install.html

U kunt ook de werkende java code voor deze sensor vanaf hier:

 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); }} 

De bibliotheek die vergemakkelijkt de i2c communicatie tussen de sensor en de Raad van bestuur is pi4j, zijn verschillende pakketten, I2CBus, I2CDevice en I2CFactory helpen de verbinding tot stand brengen.

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

Dit deel van de code maakt de sensor meet de hoekige tarief door het schrijven van de respectieve opdrachten met behulp van de functie van write() en vervolgens de gegevens worden gelezen met behulp van de functie 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); 

De gegevens ontvangen van de sensor wordt geconverteerd naar de juiste indeling met behulp van de volgende:

 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; } 

De uitvoer wordt afgedrukt met de System.out.println () functie, in de volgende indeling.

 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); 

De output van de sensor wordt weergegeven in de afbeelding hierboven.

Gerelateerde Artikelen

Interfacing van 3-as gyroscoop Sensor BMG160 met Arduino Nano

Interfacing van 3-as gyroscoop Sensor BMG160 met Arduino Nano

In de wereld van vandaag, meer dan de helft van de jongeren en kinderen zijn dol op gaming en al degenen die zijn gek van, gefascineerd door de technische aspecten van gaming kent het belang van de motie ontdekkende in dit domein. Wij waren ook verba
Interfacing van 3-as gyroscoop Sensor BMG160 met een deeltjesgrootte

Interfacing van 3-as gyroscoop Sensor BMG160 met een deeltjesgrootte

In de wereld van vandaag, meer dan de helft van de jongeren en kinderen zijn dol op gaming en al degenen die zijn gek van, gefascineerd door de technische aspecten van gaming kent het belang van de motie ontdekkende in dit domein. Wij waren ook verba
Controleren van de jurk - hart signalen verbinden met de IoT

Controleren van de jurk - hart signalen verbinden met de IoT

De Monitor jurk is een experiment in het onderzoek naar de verschillende manieren van digitalisering van de hartactiviteit van de drager, alsmede het verwerken van de gegevens.Drie elektroden binnen de jurk meet de elektrische signalen die door de dr
Intel Edison Sensor Dashboard met behulp van Vrijboord/Python/kolf (minimale programmering nodig)

Intel Edison Sensor Dashboard met behulp van Vrijboord/Python/kolf (minimale programmering nodig)

Eerst wilde ik zeggen dank u voor de kans om te werken met een Edison en voor een door Intel/Instructables wordt gegeven met het oog op het invoeren van hun IoT-wedstrijd. Ik denk dat dit een geweldige manier om te doen gemeenschapsopbouw en ontwikke
Vereenvoudigd Arduino AC huidige meting met behulp van ACS712 Hall Effect Sensor

Vereenvoudigd Arduino AC huidige meting met behulp van ACS712 Hall Effect Sensor

Dit is een vereenvoudigde benadering tot mijn voorafgaande Instructable over meten AC huidige met de huidige sensor van ACS712... koppelingVereenvoudigingen omvatten:Elimineren van de speciale signaal Conditioning printplaat - in plaats daarvan gaan
PICAXE - beheersing van de ISD1760 Voice Recorder Module met SPI (Serial Peripheral Interface)

PICAXE - beheersing van de ISD1760 Voice Recorder Module met SPI (Serial Peripheral Interface)

Dit project maakt gebruik van de SPI (3-draads bus) en een PICAXE 20 X 2 microcontroller waarmee het sequentiële afspelen van berichten opgenomen op een ISD1760 module voor de opname van de stem. Dit is een beetje lastig en vereist een beetje van SPI
Smart Home controller met Sensorflare en Spark Core van deeltje: Lees uw sensor-waardes op Sensorflare

Smart Home controller met Sensorflare en Spark Core van deeltje: Lees uw sensor-waardes op Sensorflare

Hallo iedereen! Dit instructable toont u hoe u kunt controleren de smartapparaten met behulp van Sensorflare en Particle kern. De mogelijkheden zijn vele... U kunt Particle kern - een beetje bestuur van de ontwikkeling van de Wi-Fi om uw hardware (bi
Magno-Sniffer (magnetische Sniffer Probe Whistler ding met behulp van A Hall Effect Sensor)

Magno-Sniffer (magnetische Sniffer Probe Whistler ding met behulp van A Hall Effect Sensor)

werkt met magneten en willen een snelle manier om te zeggen hun NORTHs van hun SOUTHs? Wilt u een idee krijgen van hun veld vormen? Zoals het maken van weeeeeeeooooooeeeeeeoooo geluiden?Bouw een Magno-Sniffer met behulp van een hall effect sensor, 55
Objecten met behulp van Arduino en ultrasone sensor op een transportband productie tellen

Objecten met behulp van Arduino en ultrasone sensor op een transportband productie tellen

Intro:Dit instructable wordt uitgelegd hoe een ultrasone SENSOR met Arduino gebruiken om te tellen / log verschillende pakketten op een transportband. De instrucable zal betrekking hebben op de fysieke setup en het programma in de Arduino.Er zal geen
Muziek notities met behulp van Low-Tech capacitieve Sensor en RFID

Muziek notities met behulp van Low-Tech capacitieve Sensor en RFID

Muziek notities is een apparaat waarmee u opnemen en afspelen van muziek op plaknotities. Als wilt gebruiken, kleverige nota's met ingesloten RFID sensoren gebruiken voor het opnemen van muziek gemaakt door de tekening over de koperen tape piano boor
Arduino Nano: Met behulp van passieve foto weerstand Sensor met Visuino

Arduino Nano: Met behulp van passieve foto weerstand Sensor met Visuino

Photoresistors behoren tot de meest populaire verlichting niveau sensoren voor de Arduino. Ze zijn makkelijk te gebruiken, en toch zijn er sommige onverwachte verrassingen, met name wanneer we proberen om het gebruik van klaar modules die zijn ontwor
Beheersing van eenvoudige meetkunde in Rhino met behulp van een Ultra Sonic Sensor

Beheersing van eenvoudige meetkunde in Rhino met behulp van een Ultra Sonic Sensor

De vroege stadia van het begrijpen van hoe de ultrasone sensor wordt gebruikt en hoe het gebruikt kan worden leidde me naar het experimenteren met de oprichting van de meetkunde (een bol) en de wijziging van de meetkunde (kegel heights). Dit Instruct
Bouwen van een segway met Raspberry Pi

Bouwen van een segway met Raspberry Pi

In dit artikel wil ik u tonen hoe te bouw een self balancing robot van de twee wielen (dat is de zogenaamde segway). In dit project leert u hoe toegang tot 6-assige bewegingssensor, motorische controle en fundamentele automatische controle stelling.W
Controle van elke lichte of elektrische toestel met je tablet of smartphone (wifi)

Controle van elke lichte of elektrische toestel met je tablet of smartphone (wifi)

Elke lichte of elektrische toestel met je tablet of smartphone (wifi) met behulp van de arduino, blynk en een wemos controle / ESP8266 bestuurIn deze tutorial we zullen maken iets ik bel een wifi ac schakelaar gecontroleerd. (Maar het werkt ook voor