zhaw_st16b_pes2_10
/
Test-Arm
c
Test-Arm.cpp
- Committer:
- EpicG10
- Date:
- 2017-04-19
- Revision:
- 0:a2e39e1c3e1c
File content as of revision 0:a2e39e1c3e1c:
#include "Test-Arm.h" #include "mbed.h" #include "Servo.h" //#include "Declarations.h" /* Servo ServoArm(PA_6); Arm::Arm(){ init(); } void Arm::init(){ ServoArm.calibrate(0.0015f, 180.0f); //ServoArm.position(COLLECT_POS); } void Arm::down(){ for(int i=0; i<(COLLECT_POS-TAKE_POS); i+=1) { ServoArm.position(COLLECT_POS-(float)i); wait(0.02f); } } void Arm::collect(){ for(int i=0; i<(COLLECT_POS-TAKE_POS); i+=1) { ServoArm.position(TAKE_POS+(float)i); wait(0.02f); } } void Arm::back(){ for(int i=0; i<(RELEASE_POS-COLLECT_POS); i+=1) { ServoArm.position(COLLECT_POS+(float)i); wait(0.02f); } } void Arm::backtocollect(){ for(int i=0; i<(RELEASE_POS-COLLECT_POS); i+=1) { ServoArm.position(RELEASE_POS-(float)i); wait(0.02f); } } void Arm::setAngle(float angle){ this->angle=angle; if (angle>90.0f) angle=90.0f; if (angle<-90.0f) angle=-90.0f; float pos=ServoArm.read(); for(int i=0; i<int(abs(pos-angle));i++){ if(pos>angle) ServoArm.position(pos-i); else ServoArm.position(pos+i); wait(0.02f); } } */