wheel_test3

Dependencies:   wheel_an R1370 Controller ikarashiMDC

main.cpp

Committer:
piroro4560
Date:
2019-05-16
Revision:
0:46c70e5b719d

File content as of revision 0:46c70e5b719d:

#include "mbed.h"           //wheel_test3
#include "controller.h"
#include "ikarashiMDC.h"
#include "R1370.h"
#include "wheel_an.h"
#define PI 3.141593

Controller pad(PC_10, PC_11, 208);
R1370 R1370(D10,D2);
Serial pc(USBTX, USBRX, 115200);
Serial serial(PC_6, PC_7, 115200);
DigitalOut serialcontrol(PD_2);

ikarashiMDC ikarashi[]
{
    ikarashiMDC(&serialcontrol,2,0,SM,&serial),
    ikarashiMDC(&serialcontrol,2,1,SM,&serial),
    ikarashiMDC(&serialcontrol,2,2,SM,&serial)
};

Wheelan wheel[]
{
    Wheelan(PI * 1 / 6),
    Wheelan(PI * 5 / 6),
    Wheelan(PI * 9 / 6)
};

int main()
{
    ikarashi[0].braking = true;
    int b[11];
    double rad[2],dis[2];
    double value[3];
    while(1){
        if(pad.receiveState()){
            for(int i = 0; i < 13; i++){
                b[i] = pad.getButton1(i);
            }
            for(int i = 0; i < 2; i++){
                rad[i] = pad.getRadian(i);
                dis[i] = pad.getNorm(i);
                rad[i] = PI - rad[i];
            }
            R1370.update();
            pc.printf("degree : %.3lf    ", R1370.getAngle());

            for (int i = 0; i < 3; ++i)
            {
                value[i] = wheel[i].an_uc(rad[1], dis[1]);
            }

            if(b[7] == 1 && b[9] == 0) {
                value[0] -= 0.3;
                value[1] -= 0.3;
                value[2] -= 0.3;
            } else if (b[9] == 1 && b[7] == 0) {
                value[0] += 0.3;
                value[1] += 0.3;
                value[2] += 0.3;
            }

            for (int i = 0; i < 3; ++i)
            {
                pc.printf("%lf ", value[i]);
                ikarashi[i].setSpeed(value[i]);
            }
            pc.printf("\n\r");

        }else{
            pc.printf("error\n\r");
            for (int i = 0; i < 3; i++)
            {
                ikarashi[i].setSpeed(0);
            }
        }
    }
}