Using an accelerometer to move a ball on an LED screen.

Dependencies:   UniGraphic mbed

Committer:
bentogami
Date:
Thu Jan 14 23:22:30 2016 +0000
Revision:
0:708949ec9140
Child:
1:c436c1b8333b
Accelerometer is kind of working, the ball keeps vanishing.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bentogami 0:708949ec9140 1 #include "mbed.h"
bentogami 0:708949ec9140 2 #include "ADXL.h"
bentogami 0:708949ec9140 3 #include "Arial12x12.h"
bentogami 0:708949ec9140 4 #include "Arial24x23.h"
bentogami 0:708949ec9140 5 #include "ILI932x.h"
bentogami 0:708949ec9140 6
bentogami 0:708949ec9140 7 Serial pc(USBTX, USBRX);
bentogami 0:708949ec9140 8 float data[6];
bentogami 0:708949ec9140 9 PinName dataBus[]= {p30, p29, p28, p27, p26, p25, p24, p23};
bentogami 0:708949ec9140 10 ILI932x myLCD(BUS_8, dataBus, p15, p17, p16, p14, p20, "myLCD", 240, 320); // Bus 8 bit, bus pin array, CS, RST, DC, WR, RD, name, xpixels, ypixels
bentogami 0:708949ec9140 11 char orient=4;
bentogami 0:708949ec9140 12 int X = 120, Y = 160;
bentogami 0:708949ec9140 13
bentogami 0:708949ec9140 14 int main() {
bentogami 0:708949ec9140 15 accConfig();
bentogami 0:708949ec9140 16 myLCD.set_orientation(orient);
bentogami 0:708949ec9140 17 //t.start();
bentogami 0:708949ec9140 18 myLCD.set_font((unsigned char*) Arial12x12);
bentogami 0:708949ec9140 19 myLCD.background(Black); // set background to red
bentogami 0:708949ec9140 20 myLCD.foreground(White); // set chars to black
bentogami 0:708949ec9140 21 myLCD.cls(); // clear the screen
bentogami 0:708949ec9140 22 myLCD.locate((myLCD.width()-7)/2,myLCD.height()/2); // from our view, first is yPos, second is xPos
bentogami 0:708949ec9140 23 myLCD.printf("Target Practice\r\n");
bentogami 0:708949ec9140 24 wait(2);
bentogami 0:708949ec9140 25 myLCD.cls();
bentogami 0:708949ec9140 26 while(1) {
bentogami 0:708949ec9140 27 //temporary code:
bentogami 0:708949ec9140 28 myLCD.circle(120,160,12,White);
bentogami 0:708949ec9140 29 myLCD.fillcircle(X,Y,6,Green);
bentogami 0:708949ec9140 30 getAccel(data);
bentogami 0:708949ec9140 31 pc.printf("x = %+1.2fg\t y = %+1.2fg\n\r", data[0], data[1]); //print
bentogami 0:708949ec9140 32 if (X < myLCD.width() && X > 0)
bentogami 0:708949ec9140 33 X += data[0]/0.004;
bentogami 0:708949ec9140 34 if (Y < myLCD.height() && Y > 0)
bentogami 0:708949ec9140 35 Y += data[1]/0.004;
bentogami 0:708949ec9140 36 wait(0.02);
bentogami 0:708949ec9140 37 myLCD.cls();
bentogami 0:708949ec9140 38 //insert correct code here:
bentogami 0:708949ec9140 39
bentogami 0:708949ec9140 40 }
bentogami 0:708949ec9140 41 }