tim003 tim003
/
LV8_ZAD1_Grupa6_Tim003
Haris Spahic Ensar Muratovic
main.cpp@0:e4d9acb7caf8, 2014-05-08 (annotated)
- Committer:
- tim003
- Date:
- Thu May 08 15:04:14 2014 +0000
- Revision:
- 0:e4d9acb7caf8
LV8-ZAD1-TIM003
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
tim003 | 0:e4d9acb7caf8 | 1 | #include "mbed.h" |
tim003 | 0:e4d9acb7caf8 | 2 | #include "TSISensor.h" |
tim003 | 0:e4d9acb7caf8 | 3 | |
tim003 | 0:e4d9acb7caf8 | 4 | PwmOut r(LED1); |
tim003 | 0:e4d9acb7caf8 | 5 | PwmOut g(LED2); |
tim003 | 0:e4d9acb7caf8 | 6 | PwmOut b(LED3); |
tim003 | 0:e4d9acb7caf8 | 7 | |
tim003 | 0:e4d9acb7caf8 | 8 | Serial pc(USBTX, USBRX); |
tim003 | 0:e4d9acb7caf8 | 9 | TSISensor tsi; |
tim003 | 0:e4d9acb7caf8 | 10 | Ticker t1; |
tim003 | 0:e4d9acb7caf8 | 11 | char buf[100]; |
tim003 | 0:e4d9acb7caf8 | 12 | int i=0; |
tim003 | 0:e4d9acb7caf8 | 13 | void upaliLedicu(char ledica, float intenzitet) |
tim003 | 0:e4d9acb7caf8 | 14 | { |
tim003 | 0:e4d9acb7caf8 | 15 | if(ledica == 'R') |
tim003 | 0:e4d9acb7caf8 | 16 | { |
tim003 | 0:e4d9acb7caf8 | 17 | r = 1.0 - intenzitet; |
tim003 | 0:e4d9acb7caf8 | 18 | g = 1.0; |
tim003 | 0:e4d9acb7caf8 | 19 | b = 1.0; |
tim003 | 0:e4d9acb7caf8 | 20 | } |
tim003 | 0:e4d9acb7caf8 | 21 | |
tim003 | 0:e4d9acb7caf8 | 22 | if(ledica == 'G') |
tim003 | 0:e4d9acb7caf8 | 23 | { |
tim003 | 0:e4d9acb7caf8 | 24 | r = 1.0; |
tim003 | 0:e4d9acb7caf8 | 25 | g = 1.0 - intenzitet; |
tim003 | 0:e4d9acb7caf8 | 26 | b = 1.0; |
tim003 | 0:e4d9acb7caf8 | 27 | } |
tim003 | 0:e4d9acb7caf8 | 28 | |
tim003 | 0:e4d9acb7caf8 | 29 | if(ledica == 'B') |
tim003 | 0:e4d9acb7caf8 | 30 | { |
tim003 | 0:e4d9acb7caf8 | 31 | r = 1.0; |
tim003 | 0:e4d9acb7caf8 | 32 | g = 1.0; |
tim003 | 0:e4d9acb7caf8 | 33 | b = 1.0 - intenzitet; |
tim003 | 0:e4d9acb7caf8 | 34 | } |
tim003 | 0:e4d9acb7caf8 | 35 | } |
tim003 | 0:e4d9acb7caf8 | 36 | void ispisiTSI() |
tim003 | 0:e4d9acb7caf8 | 37 | { |
tim003 | 0:e4d9acb7caf8 | 38 | pc.printf("\nTSI: %f", tsi.readPercentage()); |
tim003 | 0:e4d9acb7caf8 | 39 | } |
tim003 | 0:e4d9acb7caf8 | 40 | |
tim003 | 0:e4d9acb7caf8 | 41 | void detektuj() |
tim003 | 0:e4d9acb7caf8 | 42 | { |
tim003 | 0:e4d9acb7caf8 | 43 | buf[i] = pc.getc(); |
tim003 | 0:e4d9acb7caf8 | 44 | i++; |
tim003 | 0:e4d9acb7caf8 | 45 | if((buf[0] == 'R' or buf[0] == 'G' or buf[0] == 'B') and buf[1] >= '0' and buf[1] <= '9' and buf[2] >= '0' and buf[2] <= '9' and i == 3) |
tim003 | 0:e4d9acb7caf8 | 46 | { |
tim003 | 0:e4d9acb7caf8 | 47 | char ledica = buf[0]; |
tim003 | 0:e4d9acb7caf8 | 48 | float broj=(buf[1]-48)*10+(buf[2]-48); |
tim003 | 0:e4d9acb7caf8 | 49 | |
tim003 | 0:e4d9acb7caf8 | 50 | float intenzitet = 1-((99.0-broj)/99.0); |
tim003 | 0:e4d9acb7caf8 | 51 | upaliLedicu(ledica, intenzitet); |
tim003 | 0:e4d9acb7caf8 | 52 | i = 0; |
tim003 | 0:e4d9acb7caf8 | 53 | } |
tim003 | 0:e4d9acb7caf8 | 54 | |
tim003 | 0:e4d9acb7caf8 | 55 | if(buf[0] == 'P' and i == 1) |
tim003 | 0:e4d9acb7caf8 | 56 | { |
tim003 | 0:e4d9acb7caf8 | 57 | i = 0; |
tim003 | 0:e4d9acb7caf8 | 58 | t1.attach(&ispisiTSI, 1); |
tim003 | 0:e4d9acb7caf8 | 59 | } |
tim003 | 0:e4d9acb7caf8 | 60 | |
tim003 | 0:e4d9acb7caf8 | 61 | if(buf[0] == 'Z' and i == 1) |
tim003 | 0:e4d9acb7caf8 | 62 | { |
tim003 | 0:e4d9acb7caf8 | 63 | i = 0; |
tim003 | 0:e4d9acb7caf8 | 64 | t1.detach(); |
tim003 | 0:e4d9acb7caf8 | 65 | } |
tim003 | 0:e4d9acb7caf8 | 66 | } |
tim003 | 0:e4d9acb7caf8 | 67 | int main() { |
tim003 | 0:e4d9acb7caf8 | 68 | r=1; |
tim003 | 0:e4d9acb7caf8 | 69 | g=1; |
tim003 | 0:e4d9acb7caf8 | 70 | b=1; |
tim003 | 0:e4d9acb7caf8 | 71 | |
tim003 | 0:e4d9acb7caf8 | 72 | pc.attach(&detektuj); |
tim003 | 0:e4d9acb7caf8 | 73 | |
tim003 | 0:e4d9acb7caf8 | 74 | } |