![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
lab sensory - program 2
Dependencies: mbed
main_cz1.cpp@0:22130f247838, 2015-03-27 (annotated)
- Committer:
- Kuba_M
- Date:
- Fri Mar 27 10:53:45 2015 +0000
- Revision:
- 0:22130f247838
message 2
Who changed what in which revision?
User | Revision | Line number | New 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 | } |