Sparkfun Analog Joystick Test Program
Dependencies: 4DGL-uLCD-SE SparkfunAnalogJoystick mbed
Fork of Lab4 by
main.cpp@2:b5e0e6138548, 2015-03-08 (annotated)
- 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?
User | Revision | Line number | New 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 | } |