test

Dependencies:   mbed

main.cpp

Committer:
Morimoto448
Date:
2017-11-06
Revision:
0:5036f616b207

File content as of revision 0:5036f616b207:

#include "mbed.h"

PwmOut mypwm4(D4);
PwmOut mypwm5(D5);
PwmOut mypwm2(D2);
PwmOut mypwm3(D3);


DigitalOut myled2(LED2);
DigitalOut myled3(LED1);


#define STATE_A (0)
#define STATE_B (1)
#define STATE_C (2)
#define STATE_D (3)
#define STATE_E (4)

int main() {
    char mode;
    
    mode = STATE_A;
       
mypwm4.period_ms(10);
mypwm5.period_ms(10);
mypwm2.period_ms(10);
mypwm3.period_ms(10);

switch (mode)
        {
            // STATE_A : 前進(左:正転 右:正転)
            case STATE_A:
                myled2 = 1; // LED2点灯
                myled3 = 1; // LED3点灯
                // 左モータの制御
                mypwm4.pulsewidth_ms(10);
                mypwm5.pulsewidth_ms(0);
                // 右モータの制御
                mypwm2.pulsewidth_ms(10);
                mypwm3.pulsewidth_ms(0);
                break;
                
            // STATE_B : 右旋回(左:正転 右:逆転)
            case STATE_B:
                myled2 = 1; // LED2点灯
                myled3 = 0; // LED3点灯
                // 左モータの制御
                mypwm4.pulsewidth_ms(8);
                mypwm5.pulsewidth_ms(0);
                // 右モータの制御
                mypwm2.pulsewidth_ms(0);
                mypwm3.pulsewidth_ms(8);
                break;
                
            // STATE_C : 左旋回(左:逆転 右:正転)
            case STATE_C:
                myled2 = 0; // LED2点灯
                myled3 = 1; // LED3点灯
                // 左モータの制御
                mypwm4.pulsewidth_ms(0);
                mypwm5.pulsewidth_ms(8);
                // 右モータの制御
                mypwm2.pulsewidth_ms(8);
                mypwm3.pulsewidth_ms(0);
                break;
                
            // STATE_D : 後退(左:逆転 右:逆転)
            case STATE_D:
                myled2 = 1; // LED2点灯
                myled3 = 1; // LED3点灯
                // 左モータの制御
                mypwm4.pulsewidth_ms(0);
                mypwm5.pulsewidth_ms(8);
                // 右モータの制御
                mypwm2.pulsewidth_ms(0);
                mypwm3.pulsewidth_ms(8);
                break;
                
            // STATE_E : ブレーキ(左:ブレーキ 右:ブレーキ)
            case STATE_E:
                myled2 = 0; // LED2点灯
                myled3 = 0; // LED3点灯
                // 左モータの制御
                mypwm4.pulsewidth_ms(8);
                mypwm5.pulsewidth_ms(8);
                // 右モータの制御
                mypwm2.pulsewidth_ms(8);
                mypwm3.pulsewidth_ms(8);
                break;
        }
    
    
    
}