setting program for Hexarugon
Dependencies: mbed SoftPWM Servo_softpwm IR2302
main.cpp
- Committer:
- umekou
- Date:
- 2021-10-30
- Revision:
- 3:559589cd51de
- Parent:
- 2:b8e36dfae8e0
File content as of revision 3:559589cd51de:
#include "mbed.h" #include "Servo.h" #include "IR2302.h" #define DSA 0.8//default servo angle:サーボの初期角度の値 DigitalOut stop(D13); IR2302 ir2302(D7,D8); Serial pc(USBTX, USBRX,115200); Timer t; Servo servo[]={PA_10,PB_4,PB_5}; DigitalIn b1(USER_BUTTON); DigitalIn b2(PA_15); int main() { stop=1; float servoValue[3]={DSA,DSA,DSA}; float angle=DSA; int i,j; for(int i=0;i < 3; i++)servo[i].calibrate(0.00095, 90); for(i=0;i<3;i++) servo[i].write(servoValue[i]); t.start(); while(1){ if((b1==0)&&(b2==1)){ ir2302.SetMotorSpeed(0.0); break; }else if(b1==0){ ir2302.SetMotorSpeed(0.2); }else if(b2==1){ ir2302.SetMotorSpeed(-0.2); }else{ ir2302.SetMotorSpeed(0.0); } for(i=0;i<3;i++) servo[i].write(servoValue[i]); } wait(2); while(1){ if(b1==0){ if(j){ if(angle>1.0){ angle=1.0; }else{ angle+=0.05; } j=0; } }else if(b2==1){ angle=0.0; }else{ j=1; } for(i=0;i<3;i++){ servoValue[i]=angle; } for(i=0;i<3;i++) servo[i].write(servoValue[i]); } }