Haris Spahic Ensar Muratovic

Dependencies:   TSI mbed

Committer:
tim003
Date:
Thu May 08 15:04:14 2014 +0000
Revision:
0:e4d9acb7caf8
LV8-ZAD1-TIM003

Who changed what in which revision?

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