True leaf photo frame,gesture sensing APDS9960,motor fan,color LED

Dependencies:   SFE_APDS9960 mbed

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?

UserRevisionLine numberNew 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 }