タームB、ファイナルのプログラム

Dependencies:   mbed

main.cpp

Committer:
12f2025e
Date:
2016-09-29
Revision:
0:115e12879ffb

File content as of revision 0:115e12879ffb:

#include "mbed.h"

DigitalIn in1(PTE21);//左
DigitalIn in2(PTE20);//左中
DigitalIn in3(PTE23);//右中
DigitalIn in4(PTE22);//右

DigitalOut led1(PTB8);//左
DigitalOut led2(PTB9);//左中
DigitalOut led3(PTB10);//右中
DigitalOut led4(PTB11);//右

BusOut cmotor(PTA1,PTA2);
PwmOut vc(PTD4);
BusOut lmotor(PTC0,PTC7);
PwmOut vl(PTA12);
BusOut rmotor(PTC6,PTC5);
PwmOut vr(PTA4);
int lift_count = 0;

int main() {
    while(1) {
        if(in1 == 1)//黒の時光る 1:白 0:黒
        led1 = 0;//1:光る 0:光らない
        else
        led1 = 1;
        
        if(in2 == 1)
        led2 = 0;
        else
        led2 = 1;
        
        if(in3 == 1)
        led3 = 0;
        else
        led3 = 1;
        
        if(in4 == 1)
        led4 = 0;
        else
        led4 = 1;
        
        if(in1 == 0 && in2 == 0)
        {
            while(in4 == 1)
            {
                if(in1 == 1)//黒の時光る 1:白 0:黒
                led1 = 0;//1:光る 0:光らない
                else
                led1 = 1;
        
                if(in2 == 1)
                led2 = 0;
                else
                led2 = 1;
        
                if(in3 == 1)
                led3 = 0;
                else
                led3 = 1;
        
                if(in4 == 1)
                led4 = 0;
                else
                led4 = 1;
                
                lmotor = 1;
                vl = 0.0f;
                rmotor = 1;
                vr = 0.1f;
                if(in1 == 0 && in2 == 1 && in3 == 0 && in4 == 0)
                {
                    if(lift_count == 0)
                    {
                        cmotor = 1;
                        vc = 0.5f;
                        lmotor = 1;
                        vl = 0.0f;
                        rmotor = 1;
                        vr = 0.0f;
                        wait(0.5);
                        cmotor = 1;
                        vc = 0.0f;
                        lmotor = 1;
                        vl = 0.1f;
                        rmotor = 1;
                        vr = 0.1f;
                        wait(1.0);
                        lift_count = 1;
                        break;
                    }
                    else
                    {
                        cmotor = 2;
                        vc = 0.5f;
                        lmotor = 1;
                        vl = 0.0f;
                        rmotor = 1;
                        vr = 0.0f;
                        wait(0.5);
                        cmotor = 1;
                        vc = 0.0f;
                        lmotor = 2;
                        vl = 1.0f;
                        rmotor = 2;
                        vr = 1.0f;
                        wait(2);
                        lmotor = 1;
                        vl = 0.0f;
                        rmotor = 1;
                        vr = 0.0f;
                        wait(5);
                        lift_count = 0;
                        break;
                    }
                }
            }
            lmotor = 1;
            vl = 0.4f;
            rmotor = 1;
            vr = 0.0f;
            wait(1);
        }
        
/*        if(in3 == 0 && in4 == 0)
        {
            while(in1 == 1)
            {
                if(in1 == 1)//黒の時光る 1:白 0:黒
                led1 = 0;//1:光る 0:光らない
                else
                led1 = 1;
        
                if(in2 == 1)
                led2 = 0;
                else
                led2 = 1;
        
                if(in3 == 1)
                led3 = 0;
                else
                led3 = 1;
        
                if(in4 == 1)
                led4 = 0;
                else
                led4 = 1;

                lmotor = 1;
                vl = 0.1f;
                rmotor = 1;
                vr = 0.0f;
                if(in1 == 0 && in2 == 1 && in3 == 0 && in4 == 0)
                {
                    if(lift_count == 0)
                    {
                        cmotor = 1;
                        vc = 0.5f;
                        lmotor = 1;
                        vl = 0.0f;
                        rmotor = 1;
                        vr = 0.0f;
                        wait(0.5);
                        cmotor = 1;
                        vc = 0.0f;
                        lmotor = 1;
                        vl = 0.1f;
                        rmotor = 1;
                        vr = 0.1f;
                        wait(1.0);
                        lift_count = 1;
                        break;
                    }
                    else
                    {
                        cmotor = 2;
                        vc = 0.5f;
                        lmotor = 1;
                        vl = 0.0f;
                        rmotor = 1;
                        vr = 0.0f;
                        wait(0.5);
                        cmotor = 1;
                        vc = 0.0f;
                        lmotor = 2;
                        vl = 1.0f;
                        rmotor = 2;
                        vr = 1.0f;
                        wait(2);
                        lmotor = 1;
                        vl = 0.0f;
                        rmotor = 1;
                        vr = 0.0f;
                        wait(5);
                        lift_count = 0;
                        break;
                    }
                }
            }
            lmotor = 1;
            vl = 0.0f;
            rmotor = 1;
            vr = 0.4f;
            wait(1);
        }
*/
        ///////////////////////         
        if(in2 == 0 && in3 == 0)
        {
            lmotor = 0;
            vl = 0.0f;
            rmotor = 1;
            vr = 0.1f;
        }
        else if(in2 == 0 && in3 == 1)
        {
            lmotor = 2;
            vl = 0.1f;
            rmotor = 1;
            vr = 0.1f;
        }
        else if(in2 == 1 && in3 == 0)
        {
            lmotor = 1;
            vl = 0.1f;
            rmotor = 1;
            vr = 0.1f;
        }
        else
        {
            lmotor = 1;
            vl = 0.1f;
            rmotor = 0;
            vr = 0.0f;
        }
        
        if(in1 == 0 && in2 == 1 && in3 == 0 && in4 == 0)
        {
            if(lift_count == 0)
            {
                cmotor = 1;
                vc = 0.5f;
                lmotor = 1;
                vl = 0.0f;
                rmotor = 1;
                vr = 0.0f;
                wait(0.5);
                cmotor = 1;
                vc = 0.0f;
                lmotor = 1;
                vl = 0.1f;
                rmotor = 1;
                vr = 0.1f;
                wait(1.0);
                lift_count = 1;
            }
            else
            {
                cmotor = 2;
                vc = 0.5f;
                lmotor = 1;
                vl = 0.0f;
                rmotor = 1;
                vr = 0.0f;
                wait(0.5);
                cmotor = 1;
                vc = 0.0f;
                lmotor = 2;
                vl = 1.0f;
                rmotor = 2;
                vr = 1.0f;
                wait(2);
                lmotor = 1;
                vl = 0.0f;
                rmotor = 1;
                vr = 0.0f;
                wait(5);
                lift_count = 0;
            }
        }
        
    }
}