Sparkfun Analog Joystick Test Program

Dependencies:   4DGL-uLCD-SE SparkfunAnalogJoystick mbed

Fork of Lab4 by ECE4180

Committer:
happinesstaker
Date:
Sun Mar 08 21:17:03 2015 +0000
Revision:
2:b5e0e6138548
Parent:
1:9d61fc8d0615
y position on screen: upper-->small y, bottom-->large y

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ryanzhang1994 0:634ccd908259 1 #include "mbed.h"
ryanzhang1994 0:634ccd908259 2 #include "SparkfunAnalogJoystick.h"
ryanzhang1994 0:634ccd908259 3 #include "uLCD_4DGL.h"
ryanzhang1994 0:634ccd908259 4
ryanzhang1994 0:634ccd908259 5 #define M_PI 3.14159265358979323846
ryanzhang1994 0:634ccd908259 6
ryanzhang1994 0:634ccd908259 7 SparkfunAnalogJoystick joysttick(p18, p19, p20);
ryanzhang1994 0:634ccd908259 8 uLCD_4DGL lcd(p13, p14, p15);
ryanzhang1994 0:634ccd908259 9
ryanzhang1994 1:9d61fc8d0615 10 // Test program for the library
ryanzhang1994 1:9d61fc8d0615 11 // It would output all data about the joystick
ryanzhang1994 1:9d61fc8d0615 12 // It would also draw a compass to indicate the joystick status on the LCD display
ryanzhang1994 1:9d61fc8d0615 13
ryanzhang1994 0:634ccd908259 14 int main() {
ryanzhang1994 0:634ccd908259 15 lcd.baudrate(3000000);
ryanzhang1994 0:634ccd908259 16 lcd.background_color(0);
ryanzhang1994 0:634ccd908259 17 lcd.cls();
ryanzhang1994 0:634ccd908259 18 float lastx=0;
ryanzhang1994 0:634ccd908259 19 float lasty=0;
ryanzhang1994 0:634ccd908259 20 while(1) {
ryanzhang1994 0:634ccd908259 21 printf("X-Axis: %f\n\r", joysttick.xAxis());
ryanzhang1994 0:634ccd908259 22 printf("Y-Axis: %f\n\r", joysttick.yAxis());
ryanzhang1994 0:634ccd908259 23 printf("Angle: %f\n\r", joysttick.angle());
ryanzhang1994 0:634ccd908259 24 printf("Distance: %f\n\r", joysttick.distance());
ryanzhang1994 0:634ccd908259 25 printf("Button: %d\n\r\n", joysttick.button());
ryanzhang1994 0:634ccd908259 26 float distance=joysttick.distance();
ryanzhang1994 0:634ccd908259 27 float angle=joysttick.angle();
ryanzhang1994 0:634ccd908259 28 float x=distance*cos(angle*M_PI/180)*40;
ryanzhang1994 0:634ccd908259 29 float y=distance*sin(angle*M_PI/180)*40;
happinesstaker 2:b5e0e6138548 30 printf("y: %f\n\r\n", y);
ryanzhang1994 0:634ccd908259 31 lcd.circle(60, 60, 40, WHITE);
happinesstaker 2:b5e0e6138548 32 lcd.line(60, 60, 60+lastx, 60-lasty, BLACK);
happinesstaker 2:b5e0e6138548 33 lcd.line(60, 60, 60+x, 60-y, WHITE);
ryanzhang1994 0:634ccd908259 34 lastx=x;
ryanzhang1994 0:634ccd908259 35 lasty=y;
ryanzhang1994 0:634ccd908259 36 wait(0.1);
ryanzhang1994 0:634ccd908259 37 }
ryanzhang1994 0:634ccd908259 38 }