True leaf photo frame,gesture sensing APDS9960,motor fan,color LED
Dependencies: SFE_APDS9960 mbed
main.cpp@1:d16891627cd3, 2016-04-19 (annotated)
- Committer:
- yzh344612058
- Date:
- Tue Apr 19 14:15:00 2016 +0000
- Revision:
- 1:d16891627cd3
- Parent:
- 0:9b48e23879b3
- Child:
- 2:6b5764a79ccf
APDS9960????
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 | 0:9b48e23879b3 | 6 | I2C i2c(P0_8, P0_9); |
yzh344612058 | 1:d16891627cd3 | 7 | SparkFun_APDS9960 apds(i2c); |
yzh344612058 | 1:d16891627cd3 | 8 | DigitalIn interrupt(P0_10); |
yzh344612058 | 1:d16891627cd3 | 9 | |
yzh344612058 | 1:d16891627cd3 | 10 | void handleGesture(); |
yzh344612058 | 0:9b48e23879b3 | 11 | |
yzh344612058 | 0:9b48e23879b3 | 12 | int main() |
yzh344612058 | 0:9b48e23879b3 | 13 | { |
yzh344612058 | 0:9b48e23879b3 | 14 | pc.printf("Hello world!\n"); |
yzh344612058 | 0:9b48e23879b3 | 15 | |
yzh344612058 | 1:d16891627cd3 | 16 | if(apds.init(400000)) |
yzh344612058 | 0:9b48e23879b3 | 17 | pc.printf("APDS-9960 initialization complete\n"); |
yzh344612058 | 0:9b48e23879b3 | 18 | else |
yzh344612058 | 1:d16891627cd3 | 19 | pc.printf("Something went wrong during APDS-9960 init!\n"); |
yzh344612058 | 0:9b48e23879b3 | 20 | |
yzh344612058 | 0:9b48e23879b3 | 21 | if (apds.enableGestureSensor(true) ) |
yzh344612058 | 0:9b48e23879b3 | 22 | printf("Gesture sensor is now running\n"); |
yzh344612058 | 0:9b48e23879b3 | 23 | else |
yzh344612058 | 0:9b48e23879b3 | 24 | printf("Something went wrong during gesture sensor init!\n"); |
yzh344612058 | 0:9b48e23879b3 | 25 | |
yzh344612058 | 0:9b48e23879b3 | 26 | |
yzh344612058 | 0:9b48e23879b3 | 27 | while(1) |
yzh344612058 | 0:9b48e23879b3 | 28 | { |
yzh344612058 | 1:d16891627cd3 | 29 | Led_Blink(); |
yzh344612058 | 1:d16891627cd3 | 30 | if(!interrupt) |
yzh344612058 | 1:d16891627cd3 | 31 | { |
yzh344612058 | 1:d16891627cd3 | 32 | wait_ms(10); |
yzh344612058 | 1:d16891627cd3 | 33 | if(!interrupt) |
yzh344612058 | 1:d16891627cd3 | 34 | handleGesture(); |
yzh344612058 | 1:d16891627cd3 | 35 | } |
yzh344612058 | 0:9b48e23879b3 | 36 | } |
yzh344612058 | 1:d16891627cd3 | 37 | } |
yzh344612058 | 1:d16891627cd3 | 38 | |
yzh344612058 | 1:d16891627cd3 | 39 | void handleGesture() { |
yzh344612058 | 1:d16891627cd3 | 40 | if ( apds.isGestureAvailable() ) { |
yzh344612058 | 1:d16891627cd3 | 41 | switch ( apds.readGesture() ) { |
yzh344612058 | 1:d16891627cd3 | 42 | case DIR_UP: |
yzh344612058 | 1:d16891627cd3 | 43 | pc.printf("UP\n"); |
yzh344612058 | 1:d16891627cd3 | 44 | break; |
yzh344612058 | 1:d16891627cd3 | 45 | case DIR_DOWN: |
yzh344612058 | 1:d16891627cd3 | 46 | pc.printf("DOWN\n"); |
yzh344612058 | 1:d16891627cd3 | 47 | break; |
yzh344612058 | 1:d16891627cd3 | 48 | case DIR_LEFT: |
yzh344612058 | 1:d16891627cd3 | 49 | pc.printf("LEFT\n"); |
yzh344612058 | 1:d16891627cd3 | 50 | break; |
yzh344612058 | 1:d16891627cd3 | 51 | case DIR_RIGHT: |
yzh344612058 | 1:d16891627cd3 | 52 | pc.printf("RIGHT\n"); |
yzh344612058 | 1:d16891627cd3 | 53 | break; |
yzh344612058 | 1:d16891627cd3 | 54 | case DIR_NEAR: |
yzh344612058 | 1:d16891627cd3 | 55 | pc.printf("NEAR\n"); |
yzh344612058 | 1:d16891627cd3 | 56 | break; |
yzh344612058 | 1:d16891627cd3 | 57 | case DIR_FAR: |
yzh344612058 | 1:d16891627cd3 | 58 | pc.printf("FAR\n"); |
yzh344612058 | 1:d16891627cd3 | 59 | break; |
yzh344612058 | 1:d16891627cd3 | 60 | default: |
yzh344612058 | 1:d16891627cd3 | 61 | pc.printf("NONE\n"); |
yzh344612058 | 1:d16891627cd3 | 62 | } |
yzh344612058 | 1:d16891627cd3 | 63 | } |
yzh344612058 | 1:d16891627cd3 | 64 | } |