2017ロボコンはやとブーメランプログラム

Dependencies:   PID QEI ikarashiMDC recieveController omni

Committer:
WAT34
Date:
Fri Dec 01 18:16:33 2017 +0900
Revision:
25:fd4fb86b4148
Parent:
18:4b629221c215
hopee it workks

Who changed what in which revision?

UserRevisionLine numberNew contents of line
WAT34 1:35e874e10602 1 #ifndef HAYATOBOOMERANG_H
WAT34 1:35e874e10602 2 #define HAYATOBOOMERANG_H
WAT34 1:35e874e10602 3
WAT34 1:35e874e10602 4 #include "mbed.h"
WAT34 1:35e874e10602 5 #include "ikarashiMDC.h"
WAT34 1:35e874e10602 6 #include "PID.h"
WAT34 1:35e874e10602 7 #include "QEI.h"
WAT34 2:aca690545ec9 8 #include "Spiral.h"
WAT34 2:aca690545ec9 9 #include "pinConfig.h"
WAT34 6:0bee4b2bb400 10 #include "omni.h"
WAT34 6:0bee4b2bb400 11
WAT34 6:0bee4b2bb400 12 #define DEG_TO_RAD 0.017453292519943295769236907684886
WAT34 6:0bee4b2bb400 13 #define RAD_TO_DEG 57.295779513082320876798154814105
WAT34 6:0bee4b2bb400 14
WAT34 6:0bee4b2bb400 15 #define radians(deg) ((deg)*DEG_TO_RAD)
WAT34 6:0bee4b2bb400 16 #define degrees(rad) ((rad)*RAD_TO_DEG)
WAT34 1:35e874e10602 17
WAT34 1:35e874e10602 18 class boomerang
WAT34 1:35e874e10602 19 {
WAT34 1:35e874e10602 20 public:
WAT34 17:311aed3cad15 21 boomerang(Serial *serail_,Serial *serial2_); // Create boomerang instance
WAT34 1:35e874e10602 22 bool fire(); // Fire boomerang
WAT34 1:35e874e10602 23 void setTargetMotorSpeed(const int& targetRPM);
WAT34 12:9d21189a8eb0 24 void setTargetArmAngle(const int& targetArmAngle); // 0 to 90
WAT34 1:35e874e10602 25 int calibrateArm();
WAT34 2:aca690545ec9 26 void update();
WAT34 1:35e874e10602 27 double motorRPM;
WAT34 12:9d21189a8eb0 28 double armAngle;
WAT34 12:9d21189a8eb0 29 bool calibrating;
WAT34 4:c2b09fa31492 30 double beltSpeed;
WAT34 18:4b629221c215 31 void move(const uint8_t& x,const uint8_t& y,const float& moment);
WAT34 1:35e874e10602 32 private:
WAT34 12:9d21189a8eb0 33 QEI *armEncoder;
WAT34 12:9d21189a8eb0 34 ikarashiMDC* armMotor,*shootingMotor,*beltMotor,*spiralMotor;
WAT34 17:311aed3cad15 35 ikarashiMDC *omniMotor[4];
WAT34 2:aca690545ec9 36 InterruptIn *speedEncoder;
WAT34 12:9d21189a8eb0 37 InterruptIn* armLimit;
WAT34 12:9d21189a8eb0 38 DigitalOut *rscs;
WAT34 12:9d21189a8eb0 39 PID *speedPID,*armPID;
WAT34 1:35e874e10602 40 Timer rpmCalc;
WAT34 2:aca690545ec9 41 Spiral* spiral;
WAT34 6:0bee4b2bb400 42 Omni *omni;
WAT34 17:311aed3cad15 43 Serial *spiralSerial;
WAT34 2:aca690545ec9 44
WAT34 2:aca690545ec9 45 void shootingEncoderCount();
WAT34 2:aca690545ec9 46
WAT34 1:35e874e10602 47
WAT34 1:35e874e10602 48 };
WAT34 1:35e874e10602 49
WAT34 1:35e874e10602 50
WAT34 1:35e874e10602 51 #endif /* end of include guard: HAYATOBOOMERANG_H */