// Esse programa ainda não foi testado. // É uma adaptação para utilizar vários acelerômetros utilizando a classe // BUSOUT ligado no CS dos acelerômetros; //Baseado na biblioteca de aaronn berek

Dependencies:   ADXL345 mbed

Fork of ADXLHELLOWORD by Thiago .

main.cpp

Committer:
Jamess
Date:
2015-04-23
Revision:
0:e59a01f2ebcd
Child:
1:b54671e37e54

File content as of revision 0:e59a01f2ebcd:

//Arquivo exemplo de se como utilizar a SPI em com a biblioteca do mbed feita por aaron.
//Programa temporario. logo será republicado

// TO do:
        //Verificar se é possível utilizar esta biblioteca para se comunicar com vários acelerômetros-> Provavelmente não;
        //Ver o tempo em que leva para realizar cada função.
        //Trocar o printf pelo putc
        //Sair da biblioteca... na verdade... Não permite muita coisa..
        
//DONE:
        //Instalação do acc na protoboard.
        
#include "ADXL345.h"

ADXL345 accelerometer(PTD2,PTD3,PTD1,PTD0);//PinName mosi, PinName miso, PinName sck,     PinName cs)
Serial pc(USBTX, USBRX);
DigitalOut PIN(PTA13);
 
int main() {
 
    int readings[3] = {0, 0, 0};
    
    pc.printf("Starting ADXL345 test...\n");
    pc.printf("Device ID is: 0x%02x\n", accelerometer.getDevId());
 
    //Go into standby mode to configure the device.
    accelerometer.setPowerControl(0x00);
 
    //Full resolution, +/-16g, 4mg/LSB.
    accelerometer.setDataFormatControl(0x0B);
    
    //3.2kHz data rate.
    accelerometer.setDataRate(ADXL345_3200HZ);
 
    //Measurement mode.
    accelerometer.setPowerControl(0x08);
 
    while (1) {
    
        wait(0.1);
        
        accelerometer.getOutput(readings);
        
        PIN = '1';
        //13-bit, sign extended values.
        pc.printf("%i, %i, %i\n", (int16_t)readings[0], (int16_t)readings[1], (int16_t)readings[2]);
        PIN = '0';
    }
 
}