Signa-bot code for project BioRobotics, at University of Twente.

Dependencies:   mbed QEI MODSERIAL FastPWM ttmath Math

Motor_tryout.cpp

Committer:
Feike
Date:
2019-10-03
Revision:
8:017b813c72bb
Parent:
7:e119b12e5e7f
Child:
9:61bdf58f856e

File content as of revision 8:017b813c72bb:

#include "mbed.h" 
#include "MODSERIAL.h"

// test

DigitalOut motor1_pwm(PTC2);    // aansturen motor 1, via poort PTC2
DigitalIn motor1_1(PTD1);       // data vanuit motor 1
DigitalIn motor1_2(PTD3);       // data vanuit motor 1


DigitalOut motor2_pwm(PTA2);    // aansturen motor 2, via poort PTA2
AnalogIn input(PTB3);           // input van ECG
MODSERIAL pc(USBTX, USBRX);

int main(void)
    {   
    pc.baud(115200);
    char c = pc.getc();
    pc.printf("In de main, check\r\n");
    if (c == 'm')
        {
        pc.printf("In de if, check\r\n");
        pc.baud(115200);
        int frequency_pwm = 10000; //10 kHz PWM
        PwmOut motor1_pwm(PTC2);
        PwmOut motor2_pwm(PTA2);
        motor1_pwm.period(1.0/(double)frequency_pwm); // T=1/f
        motor2_pwm.period(1.0/(double)frequency_pwm); // T=1/f
        while(true)
            {   
            pc.printf("In de while, check\r\n");
            int DataM[1000];
            for(int pct = 0 ; pct <= 100 ; pct += 10)
                {
                pc.printf("Motor 1\r\n");
                motor1_pwm.write(pct/100.0); // write Duty Cycle
                wait(1.0f);
                for(int tijd = 0 ; pct <= 100 ; pct += 1)
                {
                    int tijd2 = tijd + pct/10*100;
                    int Outm1 = motor1_1.read();
                    DataM[tijd2] = Outm1;
                    wait(0.01f);
                    }
                }
            pc.printf("Data motor 1 is %i", DataM);
            motor1_pwm.write(0.0f); // motor 1 off again
            pc.printf("Motor 1 off\r\n");
            for(int pct = 0 ; pct <= 100 ; pct += 10)
                {
                pc.printf("Motor 2\r\n");
                motor2_pwm.write(pct/100.0); // write Duty Cycle
                wait(1.0f);
                }
            motor2_pwm.write(0.0f); // motor 2 off again
            pc.printf("Motor 2 off\r\n");
            }
        }
    if (c == 'e')
    {
        pc.printf("In de tweede if, check");
        while (true)
        {
            int sample = input.read();
            pc.printf("Input is %i \r\n", sample);
            wait(1.0f);
        }  
    }
}