Uses the APDS_9960 Digital Proximity, Ambient Light, RGB and Gesture Sensor library to play detected gesture sounds on a speaker from the SDcard

Dependencies:   mbed SDFileSystem wave_player

Committer:
kbhagat6
Date:
Mon Mar 09 21:17:34 2015 +0000
Revision:
10:e8adab2fb829
Parent:
0:437ae08befe3
Child:
11:ea43b0b83222
working gesture sensor.  now we just need to write speaker sdcard... and led stuff

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kbhagat6 0:437ae08befe3 1 #include "mbed.h"
kbhagat6 0:437ae08befe3 2 #include "glibr.h"
kbhagat6 10:e8adab2fb829 3 //#include <Wire.h>
kbhagat6 10:e8adab2fb829 4 //#include <SparkFun_APDS9960.h>
kbhagat6 10:e8adab2fb829 5
kbhagat6 10:e8adab2fb829 6 // Pins
kbhagat6 10:e8adab2fb829 7 //#define APDS9960_INT 2 // Needs to be an interrupt pin
kbhagat6 10:e8adab2fb829 8
kbhagat6 10:e8adab2fb829 9 // Constants
kbhagat6 10:e8adab2fb829 10
kbhagat6 10:e8adab2fb829 11 // Global Variables
kbhagat6 10:e8adab2fb829 12 glibr test(p9,p10);
kbhagat6 10:e8adab2fb829 13 //SparkFun_APDS9960 apds = SparkFun_APDS9960();
kbhagat6 10:e8adab2fb829 14 int isr_flag = 0;
kbhagat6 10:e8adab2fb829 15 DigitalOut myled(LED1);
kbhagat6 10:e8adab2fb829 16 //InterruptIn interrupt(p11);
kbhagat6 0:437ae08befe3 17 Serial pc(USBTX, USBRX);
kbhagat6 10:e8adab2fb829 18 bool ret;
kbhagat6 10:e8adab2fb829 19 int val;
kbhagat6 0:437ae08befe3 20
kbhagat6 10:e8adab2fb829 21 int main()
kbhagat6 10:e8adab2fb829 22 {
kbhagat6 10:e8adab2fb829 23 myled = 0;
kbhagat6 10:e8adab2fb829 24 ret = 0;
kbhagat6 10:e8adab2fb829 25 val = 0;
kbhagat6 10:e8adab2fb829 26 if ( test.ginit() ) {
kbhagat6 10:e8adab2fb829 27 pc.printf("APDS-9960 initialization complete\n\r");
kbhagat6 10:e8adab2fb829 28 } else {
kbhagat6 10:e8adab2fb829 29 pc.printf("Something went wrong during APDS-9960 init\n\r");
kbhagat6 10:e8adab2fb829 30 }
kbhagat6 0:437ae08befe3 31
kbhagat6 10:e8adab2fb829 32 // Start running the APDS-9960 gesture sensor engine
kbhagat6 10:e8adab2fb829 33 if ( test.enableGestureSensor(true) ) {
kbhagat6 10:e8adab2fb829 34 pc.printf("Gesture sensor is now running\n\r");
kbhagat6 10:e8adab2fb829 35 } else {
kbhagat6 10:e8adab2fb829 36 pc.printf("Something went wrong during gesture sensor init!\n\r");
kbhagat6 10:e8adab2fb829 37 }
kbhagat6 0:437ae08befe3 38
kbhagat6 10:e8adab2fb829 39 while(1) {
kbhagat6 10:e8adab2fb829 40 /* ret = test.isGestureAvailable();
kbhagat6 10:e8adab2fb829 41 pc.printf("Is Gesture Available?: %d\n", ret);
kbhagat6 10:e8adab2fb829 42 myled = ret;
kbhagat6 10:e8adab2fb829 43 val = test.readGesture();
kbhagat6 10:e8adab2fb829 44 */
kbhagat6 10:e8adab2fb829 45 if ( test.isGestureAvailable() ) {
kbhagat6 10:e8adab2fb829 46 switch ( test.readGesture() ) {
kbhagat6 10:e8adab2fb829 47 case DIR_UP:
kbhagat6 10:e8adab2fb829 48 pc.printf("UP\n");
kbhagat6 10:e8adab2fb829 49 break;
kbhagat6 10:e8adab2fb829 50 case DIR_DOWN:
kbhagat6 10:e8adab2fb829 51 pc.printf("DOWN\n");
kbhagat6 10:e8adab2fb829 52 break;
kbhagat6 10:e8adab2fb829 53 case DIR_LEFT:
kbhagat6 10:e8adab2fb829 54 pc.printf("LEFT\n");
kbhagat6 10:e8adab2fb829 55 break;
kbhagat6 10:e8adab2fb829 56 case DIR_RIGHT:
kbhagat6 10:e8adab2fb829 57 pc.printf("RIGHT\n");
kbhagat6 10:e8adab2fb829 58 break;
kbhagat6 10:e8adab2fb829 59 case DIR_NEAR:
kbhagat6 10:e8adab2fb829 60 pc.printf("NEAR\n");
kbhagat6 10:e8adab2fb829 61 break;
kbhagat6 10:e8adab2fb829 62 case DIR_FAR:
kbhagat6 10:e8adab2fb829 63 pc.printf("FAR\n");
kbhagat6 10:e8adab2fb829 64 break;
kbhagat6 10:e8adab2fb829 65 default:
kbhagat6 10:e8adab2fb829 66 pc.printf("NONE\n");
kbhagat6 10:e8adab2fb829 67 }
kbhagat6 10:e8adab2fb829 68 }
kbhagat6 0:437ae08befe3 69
kbhagat6 10:e8adab2fb829 70 wait(1);
kbhagat6 10:e8adab2fb829 71
kbhagat6 10:e8adab2fb829 72 }
kbhagat6 10:e8adab2fb829 73 }