NHK2017Ateamかにろぼ

Dependencies:   2017NHKpin_config mbed FEP HMC6352 MotorDriverController PID QEI omni

classDiagram

    \ ̄\                   / ̄/ 
/l     \  \             /  / lヽ  
| ヽ  ヽ   |           |  /  / | 
\ ` ‐ヽ  ヽ  ●        ●         /  / ‐  / 
  \ __ l  |  ||___|| /  l __ / 
     \  \ /      \/ 
      /\|   人__人  |/\       
    //\|             |/\\     
    //\|             |/\\     
    /     . \_____/         \ 

                               ┏┓        ┏━┓┏┓              
     ┏┓         ┏┓┏┓   ┏┓    ┏┓┗┛     ┏┓ ┗┓┃┗┛              
┏┛┗━┓  ┃┃┃┃    ┃┃┏━┛┗┓┏┓┏┛┗━┓┃┃┏┓┏┓┏━━━┓ 
┗┓┏━┛  ┃┃┗┛    ┃┃┗━┓┏┛┗┛┗┓┏┓┃┗┛┗┛┃┃┗━━━┛    
┏┛┃┏━┓┃┗━━┓┃┃┏━┛┗┓      ┏┛┃┃┃        ┃┃              
┃┏┛┗━┛┗━━┓┃┃┃┃┏┓┏┛      ┗━┛┃┃        ┃┃┏┓          
┃┃┏━━┓┏━━┛┃┃┃┃┗┛┃         ┏┛┃        ┃┃┃┗━━┓    
┗┛┗━━┛┗━━━┛┗┛┗━━┛         ┗━┛        ┗┛┗━━━┛  
Committer:
uchitake
Date:
Wed Aug 30 14:19:01 2017 +0900
Revision:
13:0908c3707020
Parent:
8:3987aa3d016b
Child:
17:6f52f4b1086a
fic moteor class

Who changed what in which revision?

UserRevisionLine numberNew contents of line
UCHITAKE 6:590c9622ecf1 1 /**
UCHITAKE 6:590c9622ecf1 2 * @file motor_driver.h
UCHITAKE 6:590c9622ecf1 3 * @brief モータ駆動クラス
UCHITAKE 6:590c9622ecf1 4 */
UCHITAKE 6:590c9622ecf1 5 #ifndef MOTOR_DRIVER_H
UCHITAKE 6:590c9622ecf1 6 #define MOTOR_DRIVER_H
UCHITAKE 6:590c9622ecf1 7
UCHITAKE 6:590c9622ecf1 8 #include "mbed.h"
UCHITAKE 6:590c9622ecf1 9 #include "pin_config.h"
UCHITAKE 6:590c9622ecf1 10
UCHITAKE 6:590c9622ecf1 11 #include "arm_unit.h"
UCHITAKE 6:590c9622ecf1 12 #include "wheel_unit.h"
UCHITAKE 6:590c9622ecf1 13 #include "MotorDriverController.h"
UCHITAKE 6:590c9622ecf1 14
UCHITAKE 6:590c9622ecf1 15 #define WHEEL_MDC_ADDR 7
UCHITAKE 6:590c9622ecf1 16 #define ARM_MDC_ADDR 6
UCHITAKE 6:590c9622ecf1 17 #define SLIDER_NUMBER 0
UCHITAKE 6:590c9622ecf1 18 #define ARM_NUMBER 1
uchitake 8:3987aa3d016b 19 #define SWORD_NUMBER 2
uchitake 8:3987aa3d016b 20 #define SHAKE_NUMBER 3
UCHITAKE 6:590c9622ecf1 21
UCHITAKE 6:590c9622ecf1 22 /**
UCHITAKE 6:590c9622ecf1 23 * @brief モータ駆動クラス
UCHITAKE 6:590c9622ecf1 24 */
UCHITAKE 6:590c9622ecf1 25 class MotorDriver : MDC {
UCHITAKE 6:590c9622ecf1 26 public :
UCHITAKE 6:590c9622ecf1 27 /**
UCHITAKE 6:590c9622ecf1 28 * @brief コンストラクタ
UCHITAKE 6:590c9622ecf1 29 */
UCHITAKE 6:590c9622ecf1 30 MotorDriver();
uchitake 8:3987aa3d016b 31
UCHITAKE 6:590c9622ecf1 32 /**
UCHITAKE 6:590c9622ecf1 33 * @brief スライダを動かす
UCHITAKE 6:590c9622ecf1 34 */
UCHITAKE 6:590c9622ecf1 35 void moveSlider(float speed);
uchitake 8:3987aa3d016b 36
UCHITAKE 6:590c9622ecf1 37 /**
UCHITAKE 6:590c9622ecf1 38 * @brief ひみつ道具部分を動かす
UCHITAKE 6:590c9622ecf1 39 */
UCHITAKE 6:590c9622ecf1 40 void destroy(float speed);
uchitake 8:3987aa3d016b 41
uchitake 8:3987aa3d016b 42 /**
uchitake 8:3987aa3d016b 43 * @brief 剣を振る
uchitake 8:3987aa3d016b 44 * @param speed 速度
uchitake 8:3987aa3d016b 45 */
uchitake 8:3987aa3d016b 46 void swing(float speed);
uchitake 8:3987aa3d016b 47
uchitake 8:3987aa3d016b 48 /**
uchitake 13:0908c3707020 49 * @brief ひみつ道具の首振り
uchitake 8:3987aa3d016b 50 * @param speed 速度
uchitake 8:3987aa3d016b 51 */
uchitake 8:3987aa3d016b 52 void shakeHead(float speed);
uchitake 8:3987aa3d016b 53
uchitake 8:3987aa3d016b 54 /**
uchitake 8:3987aa3d016b 55 * @brief 解放機構
uchitake 8:3987aa3d016b 56 */
uchitake 8:3987aa3d016b 57 void release();
uchitake 8:3987aa3d016b 58
UCHITAKE 6:590c9622ecf1 59 /**
uchitake 13:0908c3707020 60 * @brief あしまわりを動かす(X, Y)
UCHITAKE 6:590c9622ecf1 61 */
UCHITAKE 6:590c9622ecf1 62 void goXY(float X, float Y, float moment);
uchitake 13:0908c3707020 63
uchitake 13:0908c3707020 64 /**
uchitake 13:0908c3707020 65 * @brief 足回りを動かす(circular)
uchitake 13:0908c3707020 66 * @param r 半径
uchitake 13:0908c3707020 67 * @param rad 角度
uchitake 13:0908c3707020 68 * @param moment 回転
uchitake 13:0908c3707020 69 */
UCHITAKE 6:590c9622ecf1 70 void goCircular(float r, float rad, float moment);
uchitake 8:3987aa3d016b 71
UCHITAKE 6:590c9622ecf1 72 private :
UCHITAKE 6:590c9622ecf1 73 Arm arm;
UCHITAKE 6:590c9622ecf1 74 WheelUnit quadOmni;
uchitake 8:3987aa3d016b 75 DigitalOut solenoid;
UCHITAKE 6:590c9622ecf1 76 };
UCHITAKE 6:590c9622ecf1 77
uchitake 8:3987aa3d016b 78 #endif//MOTOR_DRIVER_H