encoder library
Encoder.h@0:33005fa67bfd, 2018-12-13 (annotated)
- Committer:
- YutaTogashi
- Date:
- Thu Dec 13 08:19:50 2018 +0000
- Revision:
- 0:33005fa67bfd
- Child:
- 2:10ce3d24df8e
A;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
YutaTogashi | 0:33005fa67bfd | 1 | #ifndef ENCODER_H |
YutaTogashi | 0:33005fa67bfd | 2 | #define ENCODER_H |
YutaTogashi | 0:33005fa67bfd | 3 | |
YutaTogashi | 0:33005fa67bfd | 4 | #include "mbed.h" |
YutaTogashi | 0:33005fa67bfd | 5 | |
YutaTogashi | 0:33005fa67bfd | 6 | /****定数****/ |
YutaTogashi | 0:33005fa67bfd | 7 | #define PI 3.1415f |
YutaTogashi | 0:33005fa67bfd | 8 | #define RADIAN 360 |
YutaTogashi | 0:33005fa67bfd | 9 | #define MINUTE 60 |
YutaTogashi | 0:33005fa67bfd | 10 | #define CALCULATE_PERIOD 0.01f |
YutaTogashi | 0:33005fa67bfd | 11 | |
YutaTogashi | 0:33005fa67bfd | 12 | enum DATA_CATEGORY{ |
YutaTogashi | 0:33005fa67bfd | 13 | COUNT, |
YutaTogashi | 0:33005fa67bfd | 14 | ROTATION, |
YutaTogashi | 0:33005fa67bfd | 15 | RPM, |
YutaTogashi | 0:33005fa67bfd | 16 | DISTANCE, |
YutaTogashi | 0:33005fa67bfd | 17 | ANGLE, |
YutaTogashi | 0:33005fa67bfd | 18 | POSITION, |
YutaTogashi | 0:33005fa67bfd | 19 | }; |
YutaTogashi | 0:33005fa67bfd | 20 | |
YutaTogashi | 0:33005fa67bfd | 21 | |
YutaTogashi | 0:33005fa67bfd | 22 | class Encoder { |
YutaTogashi | 0:33005fa67bfd | 23 | public: |
YutaTogashi | 0:33005fa67bfd | 24 | Encoder(PinName Apulse,PinName Bpulse); |
YutaTogashi | 0:33005fa67bfd | 25 | void setup(int Ppr = 400,int Diameter = 0); |
YutaTogashi | 0:33005fa67bfd | 26 | void calculate(); |
YutaTogashi | 0:33005fa67bfd | 27 | float getData(short ch); |
YutaTogashi | 0:33005fa67bfd | 28 | |
YutaTogashi | 0:33005fa67bfd | 29 | private: |
YutaTogashi | 0:33005fa67bfd | 30 | InterruptIn Apulse; |
YutaTogashi | 0:33005fa67bfd | 31 | InterruptIn Bpulse; |
YutaTogashi | 0:33005fa67bfd | 32 | Ticker RpmCalculateTimer; |
YutaTogashi | 0:33005fa67bfd | 33 | |
YutaTogashi | 0:33005fa67bfd | 34 | void Apulse_Up(); |
YutaTogashi | 0:33005fa67bfd | 35 | void Apulse_Down(); |
YutaTogashi | 0:33005fa67bfd | 36 | void Bpulse_Up(); |
YutaTogashi | 0:33005fa67bfd | 37 | void Bpulse_Down(); |
YutaTogashi | 0:33005fa67bfd | 38 | void RpmCalculate(); |
YutaTogashi | 0:33005fa67bfd | 39 | |
YutaTogashi | 0:33005fa67bfd | 40 | float PPR,DIAMETER,count,rotation,rpm,distance,angle,position; |
YutaTogashi | 0:33005fa67bfd | 41 | }; |
YutaTogashi | 0:33005fa67bfd | 42 | |
YutaTogashi | 0:33005fa67bfd | 43 | #endif |