hh
Dependencies: DISCO_L475VG_IOT01A_wifi
LEDcontrol.cpp@0:db42952db1a5, 2019-08-20 (annotated)
- Committer:
- ascension2
- Date:
- Tue Aug 20 08:35:06 2019 +0000
- Revision:
- 0:db42952db1a5
hh
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ascension2 | 0:db42952db1a5 | 1 | #include "mbed.h" |
ascension2 | 0:db42952db1a5 | 2 | #include "init_Pin.h" |
ascension2 | 0:db42952db1a5 | 3 | //void setRGB(float Red,float Blue,float Green,int led_info); |
ascension2 | 0:db42952db1a5 | 4 | void pwmLed(); |
ascension2 | 0:db42952db1a5 | 5 | |
ascension2 | 0:db42952db1a5 | 6 | float const variation = 0.00392; // 1/255 |
ascension2 | 0:db42952db1a5 | 7 | float red_value = 0; |
ascension2 | 0:db42952db1a5 | 8 | float green_value = 0; |
ascension2 | 0:db42952db1a5 | 9 | float blue_value = 0; |
ascension2 | 0:db42952db1a5 | 10 | int automode=0; |
ascension2 | 0:db42952db1a5 | 11 | |
ascension2 | 0:db42952db1a5 | 12 | void setRGB(float Red,float Green,float Blue,int led_info) |
ascension2 | 0:db42952db1a5 | 13 | { |
ascension2 | 0:db42952db1a5 | 14 | red_value = Red; |
ascension2 | 0:db42952db1a5 | 15 | blue_value = Blue; |
ascension2 | 0:db42952db1a5 | 16 | green_value = Green; |
ascension2 | 0:db42952db1a5 | 17 | if (led_info ==0) // led off |
ascension2 | 0:db42952db1a5 | 18 | { |
ascension2 | 0:db42952db1a5 | 19 | red_value =0; |
ascension2 | 0:db42952db1a5 | 20 | blue_value =0; |
ascension2 | 0:db42952db1a5 | 21 | green_value =0; |
ascension2 | 0:db42952db1a5 | 22 | } |
ascension2 | 0:db42952db1a5 | 23 | else if(led_info ==1) // led on |
ascension2 | 0:db42952db1a5 | 24 | { |
ascension2 | 0:db42952db1a5 | 25 | red_value =255; |
ascension2 | 0:db42952db1a5 | 26 | blue_value =255; |
ascension2 | 0:db42952db1a5 | 27 | green_value =255; |
ascension2 | 0:db42952db1a5 | 28 | automode =1; |
ascension2 | 0:db42952db1a5 | 29 | } |
ascension2 | 0:db42952db1a5 | 30 | else if(led_info ==2) //user input value |
ascension2 | 0:db42952db1a5 | 31 | { |
ascension2 | 0:db42952db1a5 | 32 | red_value = Red; |
ascension2 | 0:db42952db1a5 | 33 | blue_value = Blue; |
ascension2 | 0:db42952db1a5 | 34 | green_value = Green; |
ascension2 | 0:db42952db1a5 | 35 | automode = 0; |
ascension2 | 0:db42952db1a5 | 36 | } |
ascension2 | 0:db42952db1a5 | 37 | |
ascension2 | 0:db42952db1a5 | 38 | pwmLed(); |
ascension2 | 0:db42952db1a5 | 39 | |
ascension2 | 0:db42952db1a5 | 40 | } |
ascension2 | 0:db42952db1a5 | 41 | |
ascension2 | 0:db42952db1a5 | 42 | |
ascension2 | 0:db42952db1a5 | 43 | void pwmLed() |
ascension2 | 0:db42952db1a5 | 44 | { |
ascension2 | 0:db42952db1a5 | 45 | ////////////////////////RGB값 자동제어//////////////////////////////////////////// |
ascension2 | 0:db42952db1a5 | 46 | if (automode==1) |
ascension2 | 0:db42952db1a5 | 47 | { |
ascension2 | 0:db42952db1a5 | 48 | //pwmRed.write(0); pwmGreen.write(0); pwmBlue.write(0); |
ascension2 | 0:db42952db1a5 | 49 | float cdsData; |
ascension2 | 0:db42952db1a5 | 50 | cdsData = CDS.read(); //조도에 읽기 |
ascension2 | 0:db42952db1a5 | 51 | if(cdsData<0.7f) |
ascension2 | 0:db42952db1a5 | 52 | { |
ascension2 | 0:db42952db1a5 | 53 | pwmRed.write(0); |
ascension2 | 0:db42952db1a5 | 54 | pwmGreen.write(0); |
ascension2 | 0:db42952db1a5 | 55 | pwmBlue.write(0); |
ascension2 | 0:db42952db1a5 | 56 | } |
ascension2 | 0:db42952db1a5 | 57 | else |
ascension2 | 0:db42952db1a5 | 58 | { |
ascension2 | 0:db42952db1a5 | 59 | pwmRed.write(red_value); |
ascension2 | 0:db42952db1a5 | 60 | pwmGreen.write(green_value); |
ascension2 | 0:db42952db1a5 | 61 | pwmBlue.write(blue_value); |
ascension2 | 0:db42952db1a5 | 62 | |
ascension2 | 0:db42952db1a5 | 63 | } |
ascension2 | 0:db42952db1a5 | 64 | //printf("CDS Analog = %f \n", cdsData); |
ascension2 | 0:db42952db1a5 | 65 | |
ascension2 | 0:db42952db1a5 | 66 | |
ascension2 | 0:db42952db1a5 | 67 | } |
ascension2 | 0:db42952db1a5 | 68 | ////////////////////////RGB값 수동제어//////////////////////////////////////////// |
ascension2 | 0:db42952db1a5 | 69 | else |
ascension2 | 0:db42952db1a5 | 70 | { |
ascension2 | 0:db42952db1a5 | 71 | // printf("%f %f %f \n", Red, Green, Blue); |
ascension2 | 0:db42952db1a5 | 72 | pwmRed.write(red_value); |
ascension2 | 0:db42952db1a5 | 73 | pwmGreen.write(green_value); |
ascension2 | 0:db42952db1a5 | 74 | pwmBlue.write(blue_value); |
ascension2 | 0:db42952db1a5 | 75 | // pwmRed.period_ms(1); |
ascension2 | 0:db42952db1a5 | 76 | // pwmGreen.period_ms(1); |
ascension2 | 0:db42952db1a5 | 77 | // pwmBlue.period_ms(1); |
ascension2 | 0:db42952db1a5 | 78 | } |
ascension2 | 0:db42952db1a5 | 79 | } |