RAčunjanje brzine vrtnje enkodera
Bvrtnje.cpp@0:e22f491b10f1, 2020-02-11 (annotated)
- Committer:
- mlucan
- Date:
- Tue Feb 11 09:55:29 2020 +0000
- Revision:
- 0:e22f491b10f1
Mjerenje brzine vrtnje sa enkodera;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mlucan | 0:e22f491b10f1 | 1 | #include "Bvrtnje.h" |
mlucan | 0:e22f491b10f1 | 2 | #include "mbed.h" |
mlucan | 0:e22f491b10f1 | 3 | |
mlucan | 0:e22f491b10f1 | 4 | int b1; |
mlucan | 0:e22f491b10f1 | 5 | int okr1; |
mlucan | 0:e22f491b10f1 | 6 | int b2; |
mlucan | 0:e22f491b10f1 | 7 | int r1, r2; |
mlucan | 0:e22f491b10f1 | 8 | int f; |
mlucan | 0:e22f491b10f1 | 9 | int brzina_1; |
mlucan | 0:e22f491b10f1 | 10 | int brzina_2; |
mlucan | 0:e22f491b10f1 | 11 | bool smot; |
mlucan | 0:e22f491b10f1 | 12 | Ticker brzina; |
mlucan | 0:e22f491b10f1 | 13 | |
mlucan | 0:e22f491b10f1 | 14 | Bvrtnje::Bvrtnje(PinName pin1,PinName pin2) :int1(pin1),int2(pin2) |
mlucan | 0:e22f491b10f1 | 15 | { |
mlucan | 0:e22f491b10f1 | 16 | void speed(); |
mlucan | 0:e22f491b10f1 | 17 | void k_1(); |
mlucan | 0:e22f491b10f1 | 18 | void d_1(); |
mlucan | 0:e22f491b10f1 | 19 | void k_2(); |
mlucan | 0:e22f491b10f1 | 20 | void d_2(); |
mlucan | 0:e22f491b10f1 | 21 | brzina.attach(&speed, 0.5); |
mlucan | 0:e22f491b10f1 | 22 | int1.rise(&k_1); |
mlucan | 0:e22f491b10f1 | 23 | int1.fall(&d_1); |
mlucan | 0:e22f491b10f1 | 24 | int2.rise(&k_2); |
mlucan | 0:e22f491b10f1 | 25 | int2.fall(&d_2); |
mlucan | 0:e22f491b10f1 | 26 | }; |
mlucan | 0:e22f491b10f1 | 27 | |
mlucan | 0:e22f491b10f1 | 28 | |
mlucan | 0:e22f491b10f1 | 29 | int Bvrtnje::brzina1() |
mlucan | 0:e22f491b10f1 | 30 | { |
mlucan | 0:e22f491b10f1 | 31 | return brzina_1; |
mlucan | 0:e22f491b10f1 | 32 | } |
mlucan | 0:e22f491b10f1 | 33 | |
mlucan | 0:e22f491b10f1 | 34 | int Bvrtnje:: brzina2() |
mlucan | 0:e22f491b10f1 | 35 | { |
mlucan | 0:e22f491b10f1 | 36 | return brzina_2; |
mlucan | 0:e22f491b10f1 | 37 | } |
mlucan | 0:e22f491b10f1 | 38 | |
mlucan | 0:e22f491b10f1 | 39 | int Bvrtnje::frekvencija() |
mlucan | 0:e22f491b10f1 | 40 | { |
mlucan | 0:e22f491b10f1 | 41 | return f; |
mlucan | 0:e22f491b10f1 | 42 | } |
mlucan | 0:e22f491b10f1 | 43 | |
mlucan | 0:e22f491b10f1 | 44 | bool Bvrtnje::smjer () |
mlucan | 0:e22f491b10f1 | 45 | { |
mlucan | 0:e22f491b10f1 | 46 | return smot; |
mlucan | 0:e22f491b10f1 | 47 | } |
mlucan | 0:e22f491b10f1 | 48 | |
mlucan | 0:e22f491b10f1 | 49 | void k_1() |
mlucan | 0:e22f491b10f1 | 50 | { |
mlucan | 0:e22f491b10f1 | 51 | b1=b1+1; |
mlucan | 0:e22f491b10f1 | 52 | r1=1; |
mlucan | 0:e22f491b10f1 | 53 | if(r2==0) { |
mlucan | 0:e22f491b10f1 | 54 | smot=1; |
mlucan | 0:e22f491b10f1 | 55 | } |
mlucan | 0:e22f491b10f1 | 56 | |
mlucan | 0:e22f491b10f1 | 57 | }; |
mlucan | 0:e22f491b10f1 | 58 | |
mlucan | 0:e22f491b10f1 | 59 | void k_2() |
mlucan | 0:e22f491b10f1 | 60 | { |
mlucan | 0:e22f491b10f1 | 61 | b2=b2+1; |
mlucan | 0:e22f491b10f1 | 62 | r2=1; |
mlucan | 0:e22f491b10f1 | 63 | if(r1==0) { |
mlucan | 0:e22f491b10f1 | 64 | smot=0; |
mlucan | 0:e22f491b10f1 | 65 | } |
mlucan | 0:e22f491b10f1 | 66 | }; |
mlucan | 0:e22f491b10f1 | 67 | |
mlucan | 0:e22f491b10f1 | 68 | void d_1() |
mlucan | 0:e22f491b10f1 | 69 | { |
mlucan | 0:e22f491b10f1 | 70 | r1=0; |
mlucan | 0:e22f491b10f1 | 71 | }; |
mlucan | 0:e22f491b10f1 | 72 | |
mlucan | 0:e22f491b10f1 | 73 | void d_2() |
mlucan | 0:e22f491b10f1 | 74 | { |
mlucan | 0:e22f491b10f1 | 75 | r2=0; |
mlucan | 0:e22f491b10f1 | 76 | }; |
mlucan | 0:e22f491b10f1 | 77 | |
mlucan | 0:e22f491b10f1 | 78 | void speed() |
mlucan | 0:e22f491b10f1 | 79 | { |
mlucan | 0:e22f491b10f1 | 80 | brzina_1= (b1/600)*120; // 500ms ticker |
mlucan | 0:e22f491b10f1 | 81 | brzina_2= (b2/600)*120; |
mlucan | 0:e22f491b10f1 | 82 | if(b1>0) { |
mlucan | 0:e22f491b10f1 | 83 | f=(b1)*2; |
mlucan | 0:e22f491b10f1 | 84 | } else { |
mlucan | 0:e22f491b10f1 | 85 | f=0; |
mlucan | 0:e22f491b10f1 | 86 | } |
mlucan | 0:e22f491b10f1 | 87 | b1=0; |
mlucan | 0:e22f491b10f1 | 88 | b2=0; |
mlucan | 0:e22f491b10f1 | 89 | }; |
mlucan | 0:e22f491b10f1 | 90 |