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