Infrared sensor test

Dependencies:   Chainable_RGB_LED mbed

Committer:
yuanyi
Date:
Mon Dec 07 14:41:09 2015 +0000
Revision:
0:b4d3e247e682
Infrared sensor;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yuanyi 0:b4d3e247e682 1 #include "mbed.h"
yuanyi 0:b4d3e247e682 2 #include "ChainableLED.h"
yuanyi 0:b4d3e247e682 3
yuanyi 0:b4d3e247e682 4 #define NUM_LED 1
yuanyi 0:b4d3e247e682 5
yuanyi 0:b4d3e247e682 6 DigitalOut myled(LED1);
yuanyi 0:b4d3e247e682 7 DigitalIn TouchPin(D8);
yuanyi 0:b4d3e247e682 8 ChainableLED led(D6,D7,NUM_LED);
yuanyi 0:b4d3e247e682 9 InterruptIn motion(D2);
yuanyi 0:b4d3e247e682 10
yuanyi 0:b4d3e247e682 11 int motion_detected = 0;
yuanyi 0:b4d3e247e682 12
yuanyi 0:b4d3e247e682 13 void irq_handler(void)
yuanyi 0:b4d3e247e682 14 {
yuanyi 0:b4d3e247e682 15 motion_detected = 1;
yuanyi 0:b4d3e247e682 16 }
yuanyi 0:b4d3e247e682 17
yuanyi 0:b4d3e247e682 18 int main() {
yuanyi 0:b4d3e247e682 19 uint8_t index = 0;
yuanyi 0:b4d3e247e682 20 int cnt = 0;
yuanyi 0:b4d3e247e682 21 motion.rise(&irq_handler);
yuanyi 0:b4d3e247e682 22 while(1) {
yuanyi 0:b4d3e247e682 23
yuanyi 0:b4d3e247e682 24 // myled = 1; // LED is ON
yuanyi 0:b4d3e247e682 25 // wait(0.2); // 200 ms
yuanyi 0:b4d3e247e682 26 // myled = 0; // LED is OFF
yuanyi 0:b4d3e247e682 27 // wait(1.0); // 1 sec
yuanyi 0:b4d3e247e682 28 int touch_value=TouchPin.read();
yuanyi 0:b4d3e247e682 29
yuanyi 0:b4d3e247e682 30 //if(touch_value==1){
yuanyi 0:b4d3e247e682 31 if(motion_detected){
yuanyi 0:b4d3e247e682 32 //led.setColorHSB(0,hue,1.0,0.5);
yuanyi 0:b4d3e247e682 33 cnt++;
yuanyi 0:b4d3e247e682 34 motion_detected=0;
yuanyi 0:b4d3e247e682 35 printf("Hello! I've detected %d times since reset\n", cnt);
yuanyi 0:b4d3e247e682 36 printf("\r\n");
yuanyi 0:b4d3e247e682 37 // generate random RGB values for LED's
yuanyi 0:b4d3e247e682 38 uint8_t R = rand();
yuanyi 0:b4d3e247e682 39 uint8_t G = rand();
yuanyi 0:b4d3e247e682 40 uint8_t B = rand();
yuanyi 0:b4d3e247e682 41
yuanyi 0:b4d3e247e682 42 // print message to terminal
yuanyi 0:b4d3e247e682 43 printf("index = %d, R=%x,G=%x,B=%x,",index,R,G,B);
yuanyi 0:b4d3e247e682 44 printf("\r\n");
yuanyi 0:b4d3e247e682 45 // ChainableLED.setColorRGB(index_of_led, red, green, blue)
yuanyi 0:b4d3e247e682 46 led.setColorRGB(index++, R, G, B); // increase brightness cascade down chain of LED's
yuanyi 0:b4d3e247e682 47 index = ((index+1) % NUM_LED); // cycle through LED's
yuanyi 0:b4d3e247e682 48 //wait(1);
yuanyi 0:b4d3e247e682 49 }
yuanyi 0:b4d3e247e682 50 }
yuanyi 0:b4d3e247e682 51 }