lab sensory - program 3

Dependencies:   mbed

Committer:
Kuba_M
Date:
Fri Mar 27 10:54:11 2015 +0000
Revision:
0:9bb6505b086e
message 3

Who changed what in which revision?

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