
Clase Tracción que implementa 2 objetos del tipo motor para controlar la dirección, velocidad, ángulo de giro de un vehículo a base de 2 motores, tanto continuos como discretos. Esta clase genera los comandos para cada motor con el fin de que la plataforma gire o se mueva en el sentido deseado o la cantidad de grados necesarios.
Diff: main.cpp
- Revision:
- 0:9b57ccb09755
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Fri Sep 03 05:11:24 2021 +0000 @@ -0,0 +1,71 @@ +#include "mbed.h" +#include "Motor.h" + +Serial PC(PA_2, PA_3); + + +TraccionD M1(PC_14, PE_6, PE_4, PE_2, 200, 3.3, 7.5); + + + +DigitalOut LED(PD_14); + +int main() { + + long SOH1; + + + PC.printf("Hello World...\n"); + M1.StepFreq(20); + M1.Giro(270, true); + + //M1.Run(2.5); + + while(1) + { + SOH1 = M1.getStepOnHold(); + PC.printf("StepOnHold M1 = %d ;\n" , SOH1); + if(SOH1 < 10){ M1.StopT(); break; } + wait(0.3); + } + + wait(0.3); + M1.StepFreq(20); + M1.Giro(270, false); + //M1.Run(2.5); + + while(1) + { + SOH1 = M1.getStepOnHold(); + PC.printf("StepOnHold M1 = %d ;\n" , SOH1); + if(SOH1 < 10){ M1.StopT(); break; } + wait(0.3); + } + + + + long cont; + while(1) { + + PC.printf("run %d...\n", cont++); + + //////// Giro sentido 1 + LED = 1; + wait(2); + + SOH1 = M1.getStepOnHold(); + PC.printf("StepOnHold M1 = %d ;\n" , SOH1); + + wait(0.5); + + //////// Giro sentido contrario + LED = 0; + wait(2); + + SOH1 = M1.getStepOnHold(); + PC.printf("StepOnHold M1 = %d ;\n" , SOH1); + + wait(0.5); + + } +}