1

Dependencies:   mbed C12832_lcd MMA7660

main.cpp

Committer:
andrewh2104
Date:
2021-04-22
Revision:
2:ea7272ed30d2
Parent:
1:876f52a697c1

File content as of revision 2:ea7272ed30d2:

//Uses x & y acceleration to simulate a bubble level
//on the application board LCD display
#include "mbed.h"
#include "MMA7660.h"
#include "C12832_lcd.h"

C12832_LCD lcd; //On board LCD display
MMA7660 MMA(p28, p27); //I2C Accelerometer
DigitalOut connectionLed(LED1);//Accel OK LED

Serial pc(USBTX, USBRX); // TX, RX

int main()
{
    int x=0,y=0;
    lcd.cls(); //clear LCD screen
    if (MMA.testConnection())
        connectionLed = 1; //Accelerometer init OK
    while(1) {
        //read X,Y +/-Gs and scale for #display pixels
        x = (x + MMA.x() * 32.0)/2.0;
        y = (y -(MMA.y() * 16.0))/2.0;
        lcd.fillcircle(x+63, y+15, 3, 1); //draw bubble
        lcd.circle(63, 15, 8, 1);
        wait(.1); //time delay
        lcd.fillcircle(x+63, y+15, 3, 0); //erase bubble
        if(x<0 && y<0)
        {
            x=-x;
            y=-y;
        }   
        
        pc.printf("Tilt %f %f\r",MMA.x() ,MMA.y());

        wait_ms(100);
    }

}