Acelerómetro integrado en la tarjeta, se visualiza las coordenadas X, Y y Z en una pantalla LCD 16x2.

Dependencies:   MMA8451Q mbed

/media/uploads/Wilmar87/img_4026.jpg /media/uploads/Wilmar87/img_4030.jpg

Committer:
Wilmar87
Date:
Fri Dec 13 04:34:39 2013 +0000
Revision:
0:a77e50ca84d1
yes;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Wilmar87 0:a77e50ca84d1 1 #include "mbed.h"
Wilmar87 0:a77e50ca84d1 2 #include "MMA8451Q.h"
Wilmar87 0:a77e50ca84d1 3 #include "TextLCD.h"
Wilmar87 0:a77e50ca84d1 4 #define MMA8451_I2C_ADDRESS (0x1d<<1)
Wilmar87 0:a77e50ca84d1 5
Wilmar87 0:a77e50ca84d1 6 TextLCD lcd(PTB10, PTB11, PTE2, PTE3, PTE4, PTE5); //------Puertos LCD rs, e, d4, d5, d6, d7
Wilmar87 0:a77e50ca84d1 7
Wilmar87 0:a77e50ca84d1 8
Wilmar87 0:a77e50ca84d1 9 //Códigos LCD
Wilmar87 0:a77e50ca84d1 10 int C1=0x0E; //------ Muestra el cursor
Wilmar87 0:a77e50ca84d1 11
Wilmar87 0:a77e50ca84d1 12 float x, y, z; //----- Coordenadas
Wilmar87 0:a77e50ca84d1 13
Wilmar87 0:a77e50ca84d1 14 int main(void) {
Wilmar87 0:a77e50ca84d1 15 MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS);
Wilmar87 0:a77e50ca84d1 16 PwmOut led1(LED1);
Wilmar87 0:a77e50ca84d1 17 PwmOut led2(LED2);
Wilmar87 0:a77e50ca84d1 18 PwmOut led3(LED3);
Wilmar87 0:a77e50ca84d1 19
Wilmar87 0:a77e50ca84d1 20 led1=led2=led3=1;
Wilmar87 0:a77e50ca84d1 21 lcd.printf("**ACELEROMETRO**");
Wilmar87 0:a77e50ca84d1 22 wait(1.5);
Wilmar87 0:a77e50ca84d1 23 lcd.cls();
Wilmar87 0:a77e50ca84d1 24
Wilmar87 0:a77e50ca84d1 25 //lcd.writeCommand(C1);//comando para mostrar el cursor en el LCD
Wilmar87 0:a77e50ca84d1 26 lcd.locate(4,0); // Ubica e imprime nombre de las variables en la LCD
Wilmar87 0:a77e50ca84d1 27 lcd.printf("EX=");
Wilmar87 0:a77e50ca84d1 28 lcd.locate(0,1);
Wilmar87 0:a77e50ca84d1 29 lcd.printf("EY=");
Wilmar87 0:a77e50ca84d1 30 lcd.locate(9,1);
Wilmar87 0:a77e50ca84d1 31 lcd.printf("EZ=");
Wilmar87 0:a77e50ca84d1 32 wait(2);
Wilmar87 0:a77e50ca84d1 33
Wilmar87 0:a77e50ca84d1 34 while(1) {
Wilmar87 0:a77e50ca84d1 35
Wilmar87 0:a77e50ca84d1 36 x=led1 = 1.0 - abs(acc.getAccX());
Wilmar87 0:a77e50ca84d1 37 y=led2 = 1.0 - abs(acc.getAccY());
Wilmar87 0:a77e50ca84d1 38 z=led3 = 1.0 - abs(acc.getAccZ());
Wilmar87 0:a77e50ca84d1 39
Wilmar87 0:a77e50ca84d1 40 lcd.locate(6,0);
Wilmar87 0:a77e50ca84d1 41 lcd.printf(" ");
Wilmar87 0:a77e50ca84d1 42 lcd.locate(4,0);
Wilmar87 0:a77e50ca84d1 43 lcd.printf("EX=%0.2f",x);
Wilmar87 0:a77e50ca84d1 44 lcd.locate(2,1);
Wilmar87 0:a77e50ca84d1 45 lcd.printf(" ");
Wilmar87 0:a77e50ca84d1 46 lcd.locate(0,1);
Wilmar87 0:a77e50ca84d1 47 lcd.printf("EY=%0.2f",y);
Wilmar87 0:a77e50ca84d1 48 lcd.locate(11,1);
Wilmar87 0:a77e50ca84d1 49 lcd.printf(" ");
Wilmar87 0:a77e50ca84d1 50 lcd.locate(9,1);
Wilmar87 0:a77e50ca84d1 51 lcd.printf("EZ=%0.2f",z);
Wilmar87 0:a77e50ca84d1 52 wait(0.1);
Wilmar87 0:a77e50ca84d1 53 }
Wilmar87 0:a77e50ca84d1 54 }
Wilmar87 0:a77e50ca84d1 55