Wilmar Cr
/
TAREA8-ACELEROMETRO
Acelerómetro integrado en la tarjeta, se visualiza las coordenadas X, Y y Z en una pantalla LCD 16x2.
main.cpp@0:a77e50ca84d1, 2013-12-13 (annotated)
- Committer:
- Wilmar87
- Date:
- Fri Dec 13 04:34:39 2013 +0000
- Revision:
- 0:a77e50ca84d1
yes;
Who changed what in which revision?
User | Revision | Line number | New 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 |