3 as Arduino versnellingsmeter / Inclinometer (kantelen / Roll / Yaw) (2 / 4 stap)

Stap 2: De Code!


Ik heb geüpload vervolgens de volgende code uit http://www.geeetech.com/wiki/index.php/BMA180_Triple_Axis_Accelerometer_Breakout

Code van de steekproef van de versnellingsmeter van BMA180 triple as / /
www.geeetech.com//
//
#include < wire.h >
#define BMA180 0x40 //address van de versnellingsmeter
#define RESET 0x10
#define PWR 0x0D
#define BW 0X20
#define bereik 0X35
#define gegevens 0x02
//
int offx = 31;
int uitJ = 47;
int offz = -23;
//
VOID Setup
{
Serial.begin(9600);
Wire.begin();
Serial.println ("Demo begon, initialiseren sensoren");
AccelerometerInit();
Serial.println ("sensoren zijn geïnitialiseerd");
}
//
VOID AccelerometerInit()
//
{
byte temp [1];
byte temp1;
//
writeTo(BMA180,RESET,0xB6);
modus wakker
writeTo(BMA180,PWR,0x10);
Low-pass filter,
readFrom (BMA180, BW, 1, temp);
temp1 = temp [0] & 0x0F;
writeTo (BMA180, BW, temp1);
bereik +/-2g
readFrom (BMA180, bereik, 1, temp);
temp1 = (temp [0] & 0xF1) | 0x04;
writeTo(BMA180,RANGE,temp1);
}
//
VOID AccelerometerRead()
{
in de 3 as-gegevens lezen, is elk 14 bits
afdrukken van de gegevens naar terminal
int n = 6;
byte resultaat [5];
readFrom (BMA180, gegevens, n, resultaat);

int x = ((resultaat [0] | [1] << 8 >> resultaat 2) + offx;
zweven x1 = x / 4096.0;
Serial.Print("x=");
Serial.Print(x1);
Serial.Print("g");
//
int y = ((resultaat [2] | [3] << 8 >> resultaat 2) + uitJ;
zweven y1 = y/4096.0;
Serial.Print(",y=");
Serial.Print(Y1);
Serial.Print("g");
//
int z = ((resultaat [4] | [5] << 8 >> resultaat 2) + offz;
zweven z1 = z/4096.0;
Serial.Print(",z=");
Serial.Print(Z1);
Serial.println("g");
}
//
void loop
{
AccelerometerRead();
delay(300); uitvoer vertragen
}
//
//---------------- Functions--------------------
Val schrijft naar adres registreren op ACC
VOID writeTo (int apparaat, byte adres, byte val)
{
Wire.beginTransmission(DEVICE); overdracht naar ACC starten
Wire.write(Address); Verzend adres registreren
Wire.write(val); waarde te schrijven verzenden
Wire.endTransmission(); einde trnsmisson
}
leest num bytes vanaf adres registreren in aan buff array
VOID readFrom (int apparaat, byte adres, int num, byte buff[])
{
Wire.beginTransmission(DEVICE); overdracht naar ACC starten
Wire.write(Address); reguster adres verzenden
Wire.endTransmission(); einde transmissie

Wire.beginTransmission(DEVICE); overdracht naar ACC starten
Wire.requestFrom(DEVICE,num); 6 beetjes aanvraagt bij ACC

int i = 0;
while(Wire.available()) //ACC kan abnormale
{
Buff [i] = Wire.read(); Ontvangen van een byte
i ++;
}
Wire.endTransmission(); einde transmissie
}

Gerelateerde Artikelen

Hoe te programmeren van een Arduino versnellingsmeter voor beweging controles

Hoe te programmeren van een Arduino versnellingsmeter voor beweging controles

Controle van de beweging is altijd iets dat mijn interesse heeft een piek. Dit is vooral zo onlangs toen ik ontdekte hoe gemakkelijk Arduino ze naar programma maakt. Zodra instellen goed dit gemakkelijk een ontzagwekkende deur die zoveel mogelijkhede
Vastleggen van beweging met een Arduino versnellingsmeter w XBee Comms /

Vastleggen van beweging met een Arduino versnellingsmeter w XBee Comms /

***************************************BIJGEWERKT 10 JUNI 2014 ***Zoals beloofd, is dit Instructable bijgewerkt met een hoofdstuk over de mededeling van de XBee. Daarnaast zal een nieuwe Instructable snel betreffende de ontwikkeling van het rover-ged
Arduino / versnellingsmeter verwerking ADXL330

Arduino / versnellingsmeter verwerking ADXL330

Dit is nog steeds een work in progress. Momenteel alleen weergegeven: X en Y as bewegen, nog te tonen op de z-as. Hopelijk een dag zal. Gelieve tarief en commentaar ook.Bezoek http://retardokiddo.blogspot.com/ voor meer projecten, foto's en materiale
Arduino gecontroleerd Rotary Stewart Platform

Arduino gecontroleerd Rotary Stewart Platform

Dit instructable is over het bouwen van een roterende Stewart Platform. Hiermee kunt plaatsen zijn bewegende platform in zes graden van vrijheid. Dit specifieke platform is ontworpen om de positie van een DSLR of een andere digitale camera te kunnen.
Flight Simulator met Arduino en Python

Flight Simulator met Arduino en Python

de bedieningsmogelijkheden Flight Simulator van Google Earth met behulp van een Arduino en versnellingsmeter.Vliegen vrijwel over de hele wereld; kantelen van de versnellingsmeter, vooruit, terug, links en rechts voor het besturen van het vliegtuig P
Arduino macht handschoen

Arduino macht handschoen

de belangrijkste idee is het creëren van een prop voor plezier en cosplay vergelijkbaar met een ijzeren man handschoen of Megaman blaster kanon.Stap 1: onderdelen ik zal worden met behulp van een ring 16 pixel Ada fruit en 5 8 pixel stroken samen met
Arduino Domotic

Arduino Domotic

In deze inleiding zal ik laten zien u een overzicht van dit project whit Arduino Uno.  Het doel van dit instructable is een elektrische roller shutter verplaatsen door Arduino Uno. Het prototype die ik gemaakt heb is mijn eerste elektronische project
Self Balancing ondersteboven slinger

Self Balancing ondersteboven slinger

Dit is mijn poging om de omgekeerde slinger balanceren op een kar met twee wielen chassis. Ik had gezien de anderen hier en werd geïnspireerd om te proberen mijn eigen versie. De Arduino is heerlijk eenvoudig te programmeren en u kunt oprapen het in
Wat is quad copter een een beetje over het maken van een

Wat is quad copter een een beetje over het maken van een

Wat is een Quad-copter?een onbemande helikopter met vier rotoren. meer gewoonMultiCopters aërodynamisch onstabiel zijn en absoluut vereisen een boordcomputer (aka vlucht controller) voor stabiele vlucht. Dientengevolge, zij zijn "Fly by Wire" sy
Quadrotor

Quadrotor

deze zomer Edgerton Center Engineering Design klasse vier awesome projecten geproduceerd in vier weken. Een van de projecten was een functionele RC quadrotor gebouwd met algemeen beschikbare RC apparatuur en een Arduino microcontroller board. Hier is
Propeller Autopilot

Propeller Autopilot

** Opmerking: Ik heb geen tijd om in te vullen alle stappen nog gehad, echter ik eindigen nadat ik klaar ben met werk vandaag, sorry voor de vroegtijdige post, ik wil graag dit voordat de termijn project **Hoi allemaal!Ik ben erg opgewonden om dit in
PCB Quadrotor (borstelloze)

PCB Quadrotor (borstelloze)

Quadrotors zijn de nieuwe Segways: een fascinerend, enigszins magische, zelf stabiliserende platform dat eenieder tech wil hebben. U kan niet rijden een quadrotor (Nou, misschien kunt u), maar ze vliegen, en kun je er zelf van kras bouwen!Ik hielp me
Balancing Instructable Robot

Balancing Instructable Robot

Ik wilde in dit Instructable tonen u hoe u een self balancing robot. Wat het uniek maakt is dat de buitenkant is gemaakt te lijken op de Instructables Robot. Intern het werkt in het beginsel van PID, het is een zeer populaire controlesysteem voor het
Visuino: Nextion LCD-gebaseerd acceleratie naar hoek Display

Visuino: Nextion LCD-gebaseerd acceleratie naar hoek Display

Ik ben altijd een fan van display modules en na visuino nextion steun die ik niet kon weerstaan mezelf dus heb ik besloten om het te gebruiken volgens mijn aangepaste ontworpen interface (echter na deze Intructable iedereen kunt ontwerpen hun eigen)