![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
True leaf photo frame,gesture sensing APDS9960,motor fan,color LED
Dependencies: SFE_APDS9960 mbed
main.cpp@3:d046bb79dbbe, 2016-04-20 (annotated)
- Committer:
- yzh344612058
- Date:
- Wed Apr 20 15:30:25 2016 +0000
- Revision:
- 3:d046bb79dbbe
- Parent:
- 2:6b5764a79ccf
- Child:
- 4:6dfbdf48fd16
??????
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
yzh344612058 | 0:9b48e23879b3 | 1 | #include <mbed.h> |
yzh344612058 | 0:9b48e23879b3 | 2 | #include "SparkFun_APDS9960.h" |
yzh344612058 | 0:9b48e23879b3 | 3 | #include "led.h" |
yzh344612058 | 0:9b48e23879b3 | 4 | |
yzh344612058 | 0:9b48e23879b3 | 5 | Serial pc(P0_23,P0_25); // TX Pin, RX Pin |
yzh344612058 | 3:d046bb79dbbe | 6 | I2C i2c(P0_14, P0_13); |
yzh344612058 | 1:d16891627cd3 | 7 | SparkFun_APDS9960 apds(i2c); |
yzh344612058 | 3:d046bb79dbbe | 8 | InterruptIn SparkFun_Int(P0_16); |
yzh344612058 | 3:d046bb79dbbe | 9 | |
yzh344612058 | 3:d046bb79dbbe | 10 | int isr_flag = 0; |
yzh344612058 | 1:d16891627cd3 | 11 | |
yzh344612058 | 3:d046bb79dbbe | 12 | void handleGesture(); |
yzh344612058 | 3:d046bb79dbbe | 13 | |
yzh344612058 | 3:d046bb79dbbe | 14 | |
yzh344612058 | 3:d046bb79dbbe | 15 | void SparkFun_Interrupt(){ |
yzh344612058 | 3:d046bb79dbbe | 16 | isr_flag = 1; |
yzh344612058 | 3:d046bb79dbbe | 17 | } |
yzh344612058 | 0:9b48e23879b3 | 18 | |
yzh344612058 | 0:9b48e23879b3 | 19 | int main() |
yzh344612058 | 0:9b48e23879b3 | 20 | { |
yzh344612058 | 0:9b48e23879b3 | 21 | pc.printf("Hello world!\n"); |
yzh344612058 | 0:9b48e23879b3 | 22 | |
yzh344612058 | 3:d046bb79dbbe | 23 | SparkFun_Int.fall(&SparkFun_Interrupt); |
yzh344612058 | 3:d046bb79dbbe | 24 | |
yzh344612058 | 3:d046bb79dbbe | 25 | |
yzh344612058 | 3:d046bb79dbbe | 26 | if(apds.init(100000)) |
yzh344612058 | 0:9b48e23879b3 | 27 | pc.printf("APDS-9960 initialization complete\n"); |
yzh344612058 | 0:9b48e23879b3 | 28 | else |
yzh344612058 | 1:d16891627cd3 | 29 | pc.printf("Something went wrong during APDS-9960 init!\n"); |
yzh344612058 | 0:9b48e23879b3 | 30 | |
yzh344612058 | 0:9b48e23879b3 | 31 | if (apds.enableGestureSensor(true) ) |
yzh344612058 | 0:9b48e23879b3 | 32 | printf("Gesture sensor is now running\n"); |
yzh344612058 | 0:9b48e23879b3 | 33 | else |
yzh344612058 | 0:9b48e23879b3 | 34 | printf("Something went wrong during gesture sensor init!\n"); |
yzh344612058 | 0:9b48e23879b3 | 35 | |
yzh344612058 | 0:9b48e23879b3 | 36 | while(1) |
yzh344612058 | 0:9b48e23879b3 | 37 | { |
yzh344612058 | 3:d046bb79dbbe | 38 | if(isr_flag == 1) |
yzh344612058 | 3:d046bb79dbbe | 39 | { |
yzh344612058 | 3:d046bb79dbbe | 40 | handleGesture(); |
yzh344612058 | 3:d046bb79dbbe | 41 | isr_flag = 0; |
yzh344612058 | 3:d046bb79dbbe | 42 | } |
yzh344612058 | 0:9b48e23879b3 | 43 | } |
yzh344612058 | 1:d16891627cd3 | 44 | } |
yzh344612058 | 1:d16891627cd3 | 45 | |
yzh344612058 | 1:d16891627cd3 | 46 | void handleGesture() { |
yzh344612058 | 1:d16891627cd3 | 47 | if ( apds.isGestureAvailable() ) { |
yzh344612058 | 1:d16891627cd3 | 48 | switch ( apds.readGesture() ) { |
yzh344612058 | 1:d16891627cd3 | 49 | case DIR_UP: |
yzh344612058 | 1:d16891627cd3 | 50 | pc.printf("UP\n"); |
yzh344612058 | 1:d16891627cd3 | 51 | break; |
yzh344612058 | 1:d16891627cd3 | 52 | case DIR_DOWN: |
yzh344612058 | 1:d16891627cd3 | 53 | pc.printf("DOWN\n"); |
yzh344612058 | 1:d16891627cd3 | 54 | break; |
yzh344612058 | 1:d16891627cd3 | 55 | case DIR_LEFT: |
yzh344612058 | 1:d16891627cd3 | 56 | pc.printf("LEFT\n"); |
yzh344612058 | 1:d16891627cd3 | 57 | break; |
yzh344612058 | 1:d16891627cd3 | 58 | case DIR_RIGHT: |
yzh344612058 | 1:d16891627cd3 | 59 | pc.printf("RIGHT\n"); |
yzh344612058 | 1:d16891627cd3 | 60 | break; |
yzh344612058 | 1:d16891627cd3 | 61 | case DIR_NEAR: |
yzh344612058 | 1:d16891627cd3 | 62 | pc.printf("NEAR\n"); |
yzh344612058 | 1:d16891627cd3 | 63 | break; |
yzh344612058 | 1:d16891627cd3 | 64 | case DIR_FAR: |
yzh344612058 | 1:d16891627cd3 | 65 | pc.printf("FAR\n"); |
yzh344612058 | 1:d16891627cd3 | 66 | break; |
yzh344612058 | 1:d16891627cd3 | 67 | default: |
yzh344612058 | 1:d16891627cd3 | 68 | pc.printf("NONE\n"); |
yzh344612058 | 1:d16891627cd3 | 69 | } |
yzh344612058 | 1:d16891627cd3 | 70 | } |
yzh344612058 | 1:d16891627cd3 | 71 | } |