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
main.cpp@10:e8adab2fb829, 2015-03-09 (annotated)
- 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?
User | Revision | Line number | New 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 | } |