encoder class

Dependencies:   mbed QEI

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "QEI.h"
00003 
00004 class Encoder{
00005 private:
00006     double pulses, wheelCircum;
00007     Ticker tkr;
00008     QEI encoder;
00009 public:
00010     Encoder(PinName CHA, PinName CHB):encoder(CHA, CHB, NC, 624){    
00011         tkr.attach(callback(this, &Encoder::FindPulses), 0.01);
00012     }
00013     void FindPulses(){
00014         pulses = encoder.getPulses();
00015         tkr.attach(callback(this, &Encoder::FindPulses), 0.01);
00016     }
00017     double FindSpeed(){
00018         return pulses*wheelCircum;
00019     }
00020 };
00021 
00022 int main() {
00023     Encoder leftEncoder(PC_2, PC_1);
00024     Encoder rightEncoder(PC_15, PC_14);
00025     
00026     while(true){
00027         wait(1);
00028         leftEncoder.FindSpeed();
00029         rightEncoder.FindSpeed();
00030     }
00031 }