Grove - Thumb Joystick analog module example application. X, Y button press outputs provided. The joystick also has a push button that is could be used for special applications. When the module is in working mode it will output two analog values representing two directions. The value is restricted in a little smaller range (e.g 200~700)compared to the normal joystick, while it is around 1023 when the button is pushed, so that the MCU can detect the action of pressing.

Dependencies:   mbed

Fork of Seeed_Grove_Thumb_Joystick_Example by Austin Blackstone

Files at this revision

API Documentation at this revision

Comitter:
mbedAustin
Date:
Fri Sep 05 19:47:30 2014 +0000
Commit message:
Seeed Grove Thumb Joystick Analog module, interrupt based example application that outputs the X, Y and button press's to the terminal.

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r 6641b7d213c1 main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Fri Sep 05 19:47:30 2014 +0000
@@ -0,0 +1,28 @@
+#include "mbed.h"
+
+AnalogIn xAxis(A0);
+AnalogIn yAxis(A1);
+
+int x,y,button;  // global variables to hold values
+Ticker joystick; // recurring interrupt to get joystick data
+
+void joystick_Int_Handler()
+{
+    x = xAxis.read() * 1000; // float (0->1) to int (0-1000)
+    y = yAxis.read() * 1000;
+    if ( (x > 900) || (y > 900) )
+        button = 1;
+    else
+        button = 0;
+}
+
+int main() 
+{
+    // init interrupt, call every .2s
+    joystick.attach(joystick_Int_Handler,0.2);
+    
+    // Print out the variables
+    while(1){
+        printf("\rX=%3d, Y=%3d, Button=%d",x,y,button);
+    }
+}
diff -r 000000000000 -r 6641b7d213c1 mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Fri Sep 05 19:47:30 2014 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/9327015d4013
\ No newline at end of file