Racunjanje brzine vrtnje enkodera
Bvrtnje.cpp
- Committer:
- mlucan
- Date:
- 2020-02-11
- Revision:
- 0:e22f491b10f1
File content as of revision 0:e22f491b10f1:
#include "Bvrtnje.h" #include "mbed.h" int b1; int okr1; int b2; int r1, r2; int f; int brzina_1; int brzina_2; bool smot; Ticker brzina; Bvrtnje::Bvrtnje(PinName pin1,PinName pin2) :int1(pin1),int2(pin2) { void speed(); void k_1(); void d_1(); void k_2(); void d_2(); brzina.attach(&speed, 0.5); int1.rise(&k_1); int1.fall(&d_1); int2.rise(&k_2); int2.fall(&d_2); }; int Bvrtnje::brzina1() { return brzina_1; } int Bvrtnje:: brzina2() { return brzina_2; } int Bvrtnje::frekvencija() { return f; } bool Bvrtnje::smjer () { return smot; } void k_1() { b1=b1+1; r1=1; if(r2==0) { smot=1; } }; void k_2() { b2=b2+1; r2=1; if(r1==0) { smot=0; } }; void d_1() { r1=0; }; void d_2() { r2=0; }; void speed() { brzina_1= (b1/600)*120; // 500ms ticker brzina_2= (b2/600)*120; if(b1>0) { f=(b1)*2; } else { f=0; } b1=0; b2=0; };