lab sensory - program 2

Dependencies:   mbed

Committer:
Kuba_M
Date:
Fri Mar 27 10:53:45 2015 +0000
Revision:
0:22130f247838
message 2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Kuba_M 0:22130f247838 1 #include "mbed.h"
Kuba_M 0:22130f247838 2
Kuba_M 0:22130f247838 3 int analog_zero_0 = 0;
Kuba_M 0:22130f247838 4 AnalogIn fotorezystor(PTB0);
Kuba_M 0:22130f247838 5 Serial pc(USBTX, USBRX);
Kuba_M 0:22130f247838 6
Kuba_M 0:22130f247838 7 float voltage(AnalogIn czujnik, float zero_analog) {
Kuba_M 0:22130f247838 8 return (czujnik.read() - zero_analog) * 2.9035;
Kuba_M 0:22130f247838 9 }
Kuba_M 0:22130f247838 10
Kuba_M 0:22130f247838 11 int main() {
Kuba_M 0:22130f247838 12 pc.baud(9600);
Kuba_M 0:22130f247838 13 int i=0;
Kuba_M 0:22130f247838 14 int p=0;
Kuba_M 0:22130f247838 15 int r=0;
Kuba_M 0:22130f247838 16 int k=0;
Kuba_M 0:22130f247838 17 float o=0;
Kuba_M 0:22130f247838 18 float m;
Kuba_M 0:22130f247838 19 float n;
Kuba_M 0:22130f247838 20 float suma = m;
Kuba_M 0:22130f247838 21 float suma2 = n;
Kuba_M 0:22130f247838 22
Kuba_M 0:22130f247838 23 while(true) {
Kuba_M 0:22130f247838 24 m = voltage(fotorezystor, analog_zero_0);
Kuba_M 0:22130f247838 25 if (m < 0.05)
Kuba_M 0:22130f247838 26 {
Kuba_M 0:22130f247838 27 p=1;
Kuba_M 0:22130f247838 28 }
Kuba_M 0:22130f247838 29 for (i=0; i<10; i++)
Kuba_M 0:22130f247838 30 {
Kuba_M 0:22130f247838 31 wait_us(10);
Kuba_M 0:22130f247838 32 m = voltage(fotorezystor, analog_zero_0);
Kuba_M 0:22130f247838 33 suma = suma + m;
Kuba_M 0:22130f247838 34 }
Kuba_M 0:22130f247838 35
Kuba_M 0:22130f247838 36 n = voltage(fotorezystor, analog_zero_0);
Kuba_M 0:22130f247838 37 if (n > 0.4)
Kuba_M 0:22130f247838 38 {
Kuba_M 0:22130f247838 39 r = 1;
Kuba_M 0:22130f247838 40 }
Kuba_M 0:22130f247838 41 else r=0;
Kuba_M 0:22130f247838 42
Kuba_M 0:22130f247838 43 for (i=0; i<10; i++)
Kuba_M 0:22130f247838 44 {
Kuba_M 0:22130f247838 45 wait_us(10);
Kuba_M 0:22130f247838 46 n = voltage(fotorezystor, analog_zero_0);
Kuba_M 0:22130f247838 47 suma2 = suma2 + n;
Kuba_M 0:22130f247838 48 }
Kuba_M 0:22130f247838 49
Kuba_M 0:22130f247838 50 if ((p==1) && (r==1) && (suma>suma2))
Kuba_M 0:22130f247838 51 {
Kuba_M 0:22130f247838 52 pc.printf("obrot\%.2f\n",o);
Kuba_M 0:22130f247838 53 p=0;
Kuba_M 0:22130f247838 54 o=o+0.25;
Kuba_M 0:22130f247838 55 }
Kuba_M 0:22130f247838 56
Kuba_M 0:22130f247838 57 pc.printf("%.d\n",k);
Kuba_M 0:22130f247838 58 k++
Kuba_M 0:22130f247838 59 wait_ms(10);
Kuba_M 0:22130f247838 60 suma = m;
Kuba_M 0:22130f247838 61 suma2 = n;
Kuba_M 0:22130f247838 62 }
Kuba_M 0:22130f247838 63 }