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