現在値を取得できるライブラリ
rotaryinc.hpp@0:e05a40ae7bec, 2022-08-24 (annotated)
- Committer:
- m_smt
- Date:
- Wed Aug 24 06:50:01 2022 +0000
- Revision:
- 0:e05a40ae7bec
nowvalue get
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
m_smt | 0:e05a40ae7bec | 1 | #ifndef ROTARY_INC_ |
m_smt | 0:e05a40ae7bec | 2 | #define ROTARY_INC_ |
m_smt | 0:e05a40ae7bec | 3 | #include <mbed.h> |
m_smt | 0:e05a40ae7bec | 4 | #define M_PI 3.1415926535 |
m_smt | 0:e05a40ae7bec | 5 | |
m_smt | 0:e05a40ae7bec | 6 | #if 0 |
m_smt | 0:e05a40ae7bec | 7 | ~example~ |
m_smt | 0:e05a40ae7bec | 8 | rotaryinc name(ピン名1,ピン名2,オムニの直径,パルスの分解能,一回のプログラムの時間(Δt))でこのクラスを使うことができる |
m_smt | 0:e05a40ae7bec | 9 | name.getpulse()でパルスの値を取得できる |
m_smt | 0:e05a40ae7bec | 10 | name.getspeed()でモータの速さを取得できる |
m_smt | 0:e05a40ae7bec | 11 | name.loop(一回のプログラムの時間(Δt))でΔt秒ごとのプログラムにできる |
m_smt | 0:e05a40ae7bec | 12 | #endif |
m_smt | 0:e05a40ae7bec | 13 | |
m_smt | 0:e05a40ae7bec | 14 | class rotaryinc |
m_smt | 0:e05a40ae7bec | 15 | { |
m_smt | 0:e05a40ae7bec | 16 | public: |
m_smt | 0:e05a40ae7bec | 17 | rotaryinc(PinName pinA,PinName pinB,double,double,double); |
m_smt | 0:e05a40ae7bec | 18 | ~rotaryinc(); |
m_smt | 0:e05a40ae7bec | 19 | Timer timer; |
m_smt | 0:e05a40ae7bec | 20 | double getpulse(); |
m_smt | 0:e05a40ae7bec | 21 | double getspeed(); |
m_smt | 0:e05a40ae7bec | 22 | double gettheta(); |
m_smt | 0:e05a40ae7bec | 23 | double getomega(); |
m_smt | 0:e05a40ae7bec | 24 | double getrevolution(); |
m_smt | 0:e05a40ae7bec | 25 | void loop(); |
m_smt | 0:e05a40ae7bec | 26 | private: |
m_smt | 0:e05a40ae7bec | 27 | InterruptIn *pin_a_,*pin_b_; |
m_smt | 0:e05a40ae7bec | 28 | double time; |
m_smt | 0:e05a40ae7bec | 29 | double pulse[2]; |
m_smt | 0:e05a40ae7bec | 30 | double speed; |
m_smt | 0:e05a40ae7bec | 31 | void init(PinName,PinName); |
m_smt | 0:e05a40ae7bec | 32 | void riseA(void); |
m_smt | 0:e05a40ae7bec | 33 | void riseB(void); |
m_smt | 0:e05a40ae7bec | 34 | void fallA(void); |
m_smt | 0:e05a40ae7bec | 35 | void fallB(void); |
m_smt | 0:e05a40ae7bec | 36 | double theta[2]; |
m_smt | 0:e05a40ae7bec | 37 | double omega; |
m_smt | 0:e05a40ae7bec | 38 | double Resolution; |
m_smt | 0:e05a40ae7bec | 39 | double Diameter; |
m_smt | 0:e05a40ae7bec | 40 | double dt_; |
m_smt | 0:e05a40ae7bec | 41 | double revolution_num; |
m_smt | 0:e05a40ae7bec | 42 | }; |
m_smt | 0:e05a40ae7bec | 43 | |
m_smt | 0:e05a40ae7bec | 44 | #endif |