ハセオムニのプログラム
Dependencies: vnh5019 SerialMultiByte omni_wheel PID jy901 MotorSMLAP PS3
main.cpp
- Committer:
- LVRhase01
- Date:
- 2019-12-10
- Revision:
- 6:6ce8adb328fa
- Parent:
- 5:3eed67b60cd2
- Child:
- 7:4e77a1ae70d1
File content as of revision 6:6ce8adb328fa:
#define BEAT 140 #include "mbed.h" #include "math.h" #include "omni_wheel.h" #include "motorsmlap.h" #include "SerialMultiByte.h" Serial pc(USBTX, USBRX, 115200); SerialMultiByte arduinocontroller(PC_10,PC_11); PwmOut beep(PA_0); DigitalOut led1(PA_11); DigitalOut led2(LED2); motorSmLap motor[] = { motorSmLap(PC_6, PC_9, PC_8), motorSmLap(PB_6, PA_9, PC_7), motorSmLap(PA_8, PB_4, PB_7) }; const double PII = 3.14159265358979; OmniWheel omni(4); void setup(){ arduinocontroller.setHeaders(127,127); arduinocontroller.startReceive(13); omni.wheel[0].setRadian(PII/2.0); omni.wheel[1].setRadian(7.0/6.0*PII); omni.wheel[2].setRadian(11.0/6.0*PII); beep.period(1.0/3136); beep.write(0.4f); wait_ms(BEAT); beep.period(1.0/2960); beep.write(0.4f); wait_ms(BEAT); beep.period(1.0/2489); beep.write(0.4f); wait_ms(BEAT); beep.period(1.0/1760); beep.write(0.4f); wait_ms(BEAT); beep.period(1.0/1661); beep.write(0.4f); wait_ms(BEAT); beep.period(1.0/2637); beep.write(0.4f); wait_ms(BEAT); beep.period(1.0/3322); beep.write(0.4f); wait_ms(BEAT); beep.period(1.0/4186); beep.write(0.4f); wait_ms(BEAT); beep.write(0.0f); wait_ms(BEAT); } int main() { setup(); float x, y; uint8_t button[13]; while (true) { led2=1; arduinocontroller.getData(button); for (uint8_t i = 0; i < 13; i++) { pc.printf("%d",button[i]); pc.printf("\t"); } if(button[0]==1){ y = -0.5; } if(button[1]==1){ y = 0.5; } if(button[2]==1){ x = 0.5; } if(button[3]==1){ x = -0.5; } omni.computeXY( x, y, 0, 0, 0 ); for(int i=0; i<3; i++){ motor[i].setMotorSpeed(omni.wheel[i].getOutput()*0.8); } pc.printf("X = <%f>, Y = <%f>\r\n",x,y); } }