Clase Motor. Se usa para crear objetos del tipo motor, que pueden ser continuos o PAP. se especifica los pines a los cuales estara conectado cada Motor. Se puede controlar la velocidad con encoders, encontrar la posición inicial. Se debe especificar la cantidad de pasos y se podrá girar por ángulos.
main.cpp@0:87460b90b143, 2021-09-03 (annotated)
- Committer:
- CCastrop1012
- Date:
- Fri Sep 03 05:02:09 2021 +0000
- Revision:
- 0:87460b90b143
Clase Motor. Se usa para crear objetos del tipo motor, que pueden ser continuos o PAP. se especifica los pines a los cuales estara conectado cada Motor. Se puede controlar la velocidad con encoders, encontrar la posicion inicial. ;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
CCastrop1012 | 0:87460b90b143 | 1 | #include "mbed.h" |
CCastrop1012 | 0:87460b90b143 | 2 | #include "Motor.h" |
CCastrop1012 | 0:87460b90b143 | 3 | |
CCastrop1012 | 0:87460b90b143 | 4 | Serial PC(PA_2, PA_3); |
CCastrop1012 | 0:87460b90b143 | 5 | |
CCastrop1012 | 0:87460b90b143 | 6 | MotorContinuo Mizq(PD_13, PD_11, PB_15, NC,NC,0); |
CCastrop1012 | 0:87460b90b143 | 7 | MotorContinuo motorprueba(PA_0, PA_1,PA_3); |
CCastrop1012 | 0:87460b90b143 | 8 | MotorDiscreto M1(PC_14, PE_6, 200, NC, NC, 0); |
CCastrop1012 | 0:87460b90b143 | 9 | |
CCastrop1012 | 0:87460b90b143 | 10 | |
CCastrop1012 | 0:87460b90b143 | 11 | |
CCastrop1012 | 0:87460b90b143 | 12 | DigitalOut LED(PD_14); |
CCastrop1012 | 0:87460b90b143 | 13 | |
CCastrop1012 | 0:87460b90b143 | 14 | int main() { |
CCastrop1012 | 0:87460b90b143 | 15 | |
CCastrop1012 | 0:87460b90b143 | 16 | long SOH1; |
CCastrop1012 | 0:87460b90b143 | 17 | |
CCastrop1012 | 0:87460b90b143 | 18 | |
CCastrop1012 | 0:87460b90b143 | 19 | PC.printf("Hello World...\n"); |
CCastrop1012 | 0:87460b90b143 | 20 | M1.Forward(); |
CCastrop1012 | 0:87460b90b143 | 21 | M1.StepFreq(300); |
CCastrop1012 | 0:87460b90b143 | 22 | M1.RunRound(1); |
CCastrop1012 | 0:87460b90b143 | 23 | |
CCastrop1012 | 0:87460b90b143 | 24 | while(1) |
CCastrop1012 | 0:87460b90b143 | 25 | { |
CCastrop1012 | 0:87460b90b143 | 26 | SOH1 = M1.getStepOnHold(); |
CCastrop1012 | 0:87460b90b143 | 27 | PC.printf("StepOnHold M1 = %d ;\n" , SOH1); |
CCastrop1012 | 0:87460b90b143 | 28 | if(SOH1 < 10){ M1.StopT(); break; } |
CCastrop1012 | 0:87460b90b143 | 29 | wait(0.3); |
CCastrop1012 | 0:87460b90b143 | 30 | } |
CCastrop1012 | 0:87460b90b143 | 31 | |
CCastrop1012 | 0:87460b90b143 | 32 | M1.Back(); |
CCastrop1012 | 0:87460b90b143 | 33 | M1.StepFreq(350); |
CCastrop1012 | 0:87460b90b143 | 34 | M1.RunRound(1); |
CCastrop1012 | 0:87460b90b143 | 35 | |
CCastrop1012 | 0:87460b90b143 | 36 | while(1) |
CCastrop1012 | 0:87460b90b143 | 37 | { |
CCastrop1012 | 0:87460b90b143 | 38 | SOH1 = M1.getStepOnHold(); |
CCastrop1012 | 0:87460b90b143 | 39 | PC.printf("StepOnHold M1 = %d ;\n" , SOH1); |
CCastrop1012 | 0:87460b90b143 | 40 | if(SOH1 < 10){ M1.StopT(); break; } |
CCastrop1012 | 0:87460b90b143 | 41 | wait(0.3); |
CCastrop1012 | 0:87460b90b143 | 42 | } |
CCastrop1012 | 0:87460b90b143 | 43 | |
CCastrop1012 | 0:87460b90b143 | 44 | |
CCastrop1012 | 0:87460b90b143 | 45 | |
CCastrop1012 | 0:87460b90b143 | 46 | long cont; |
CCastrop1012 | 0:87460b90b143 | 47 | while(1) { |
CCastrop1012 | 0:87460b90b143 | 48 | |
CCastrop1012 | 0:87460b90b143 | 49 | PC.printf("run %d...\n", cont++); |
CCastrop1012 | 0:87460b90b143 | 50 | |
CCastrop1012 | 0:87460b90b143 | 51 | //////// Giro sentido 1 |
CCastrop1012 | 0:87460b90b143 | 52 | LED = 1; |
CCastrop1012 | 0:87460b90b143 | 53 | Mizq.Forward(); |
CCastrop1012 | 0:87460b90b143 | 54 | Mizq.SpeedDuty(100); |
CCastrop1012 | 0:87460b90b143 | 55 | wait(2); |
CCastrop1012 | 0:87460b90b143 | 56 | |
CCastrop1012 | 0:87460b90b143 | 57 | SOH1 = M1.getStepOnHold(); |
CCastrop1012 | 0:87460b90b143 | 58 | PC.printf("StepOnHold M1 = %d ;\n" , SOH1); |
CCastrop1012 | 0:87460b90b143 | 59 | |
CCastrop1012 | 0:87460b90b143 | 60 | Mizq.Stop(); |
CCastrop1012 | 0:87460b90b143 | 61 | wait(0.5); |
CCastrop1012 | 0:87460b90b143 | 62 | |
CCastrop1012 | 0:87460b90b143 | 63 | //////// Giro sentido contrario |
CCastrop1012 | 0:87460b90b143 | 64 | LED = 0; |
CCastrop1012 | 0:87460b90b143 | 65 | Mizq.Back(); |
CCastrop1012 | 0:87460b90b143 | 66 | Mizq.SpeedDuty(100); |
CCastrop1012 | 0:87460b90b143 | 67 | wait(2); |
CCastrop1012 | 0:87460b90b143 | 68 | |
CCastrop1012 | 0:87460b90b143 | 69 | SOH1 = M1.getStepOnHold(); |
CCastrop1012 | 0:87460b90b143 | 70 | PC.printf("StepOnHold M1 = %d ;\n" , SOH1); |
CCastrop1012 | 0:87460b90b143 | 71 | |
CCastrop1012 | 0:87460b90b143 | 72 | Mizq.StopT(); |
CCastrop1012 | 0:87460b90b143 | 73 | wait(0.5); |
CCastrop1012 | 0:87460b90b143 | 74 | |
CCastrop1012 | 0:87460b90b143 | 75 | } |
CCastrop1012 | 0:87460b90b143 | 76 | } |