Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of Encoder by
Locate.h@1:2bded5a5f636, 2016-07-02 (annotated)
- Committer:
- sakanakuuun
- Date:
- Sat Jul 02 02:33:24 2016 +0000
- Revision:
- 1:2bded5a5f636
- Child:
- 3:633ea1e7c681
????;
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| sakanakuuun | 1:2bded5a5f636 | 1 | #ifndef Locate_H |
| sakanakuuun | 1:2bded5a5f636 | 2 | #define Locate_H |
| sakanakuuun | 1:2bded5a5f636 | 3 | |
| sakanakuuun | 1:2bded5a5f636 | 4 | |
| sakanakuuun | 1:2bded5a5f636 | 5 | #define OUTERRING_D 264 //外輪間距離 |
| sakanakuuun | 1:2bded5a5f636 | 6 | #define INNERRING_D 224 //内輪間距離 |
| sakanakuuun | 1:2bded5a5f636 | 7 | #define PI 3.14159 |
| sakanakuuun | 1:2bded5a5f636 | 8 | #define RESOLUSION 100 //P/R(分解能) |
| sakanakuuun | 1:2bded5a5f636 | 9 | #define DIAMETER 50.0 //タイヤの直径 (mm) |
| sakanakuuun | 1:2bded5a5f636 | 10 | #define Locate_STEP (DIAMETER*PI / RESOLUSION) // エンコーダの一ステップあたりの距離(mm) |
| sakanakuuun | 1:2bded5a5f636 | 11 | #define TIRE_DISTANCE ((OUTERRING_D + INNERRING_D) / 2) //タイヤ間距離(mm) |
| sakanakuuun | 1:2bded5a5f636 | 12 | #define ROUND (DIAMETER / (RESOLUSION * TIRE_DISTANCE)) //1回転するためのステップ数の”逆数” |
| sakanakuuun | 1:2bded5a5f636 | 13 | |
| sakanakuuun | 1:2bded5a5f636 | 14 | //エンコーダから、現在のパルス数を得られるぞ! |
| sakanakuuun | 1:2bded5a5f636 | 15 | //真ん中中心で考える! |
| sakanakuuun | 1:2bded5a5f636 | 16 | |
| sakanakuuun | 1:2bded5a5f636 | 17 | class Locate { |
| sakanakuuun | 1:2bded5a5f636 | 18 | private: |
| sakanakuuun | 1:2bded5a5f636 | 19 | int v; //ステップ速度 |
| sakanakuuun | 1:2bded5a5f636 | 20 | double theta; //機体角度 |
| sakanakuuun | 1:2bded5a5f636 | 21 | public: |
| sakanakuuun | 1:2bded5a5f636 | 22 | Locate (); |
| sakanakuuun | 1:2bded5a5f636 | 23 | |
| sakanakuuun | 1:2bded5a5f636 | 24 | double x, y; //機体角度、xy方向に進む距離(m換算なし)(mainに送る) |
| sakanakuuun | 1:2bded5a5f636 | 25 | |
| sakanakuuun | 1:2bded5a5f636 | 26 | void update (short int, short int); //引数は左右のパルス数でエンコーダから受け取る |
| sakanakuuun | 1:2bded5a5f636 | 27 | }; |
| sakanakuuun | 1:2bded5a5f636 | 28 | |
| sakanakuuun | 1:2bded5a5f636 | 29 | |
| sakanakuuun | 1:2bded5a5f636 | 30 | #endif |
