Cristian Castro
/
D04-F407_Encoder1
Uso de la clase Motor para el control de velocidad de un motor continuo con encoder.
main.cpp@0:75421f27540e, 2021-09-03 (annotated)
- Committer:
- CCastrop1012
- Date:
- Fri Sep 03 05:04:12 2021 +0000
- Revision:
- 0:75421f27540e
Uso de la clase Motor para control de velocidad de motor continuo con encoder.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
CCastrop1012 | 0:75421f27540e | 1 | #include "mbed.h" |
CCastrop1012 | 0:75421f27540e | 2 | #include "Motor.h" |
CCastrop1012 | 0:75421f27540e | 3 | |
CCastrop1012 | 0:75421f27540e | 4 | Serial Mbed(PB_6, PB_7); |
CCastrop1012 | 0:75421f27540e | 5 | //Serial Mbed(PA_2, PA_3); |
CCastrop1012 | 0:75421f27540e | 6 | InterruptIn Encoder(PC_9); |
CCastrop1012 | 0:75421f27540e | 7 | DigitalOut LED(PA_5); |
CCastrop1012 | 0:75421f27540e | 8 | DigitalIn Button(PA_0); |
CCastrop1012 | 0:75421f27540e | 9 | MotorContinuo Mizq(PD_13, PD_11, PB_15, NC,NC,0); |
CCastrop1012 | 0:75421f27540e | 10 | |
CCastrop1012 | 0:75421f27540e | 11 | |
CCastrop1012 | 0:75421f27540e | 12 | long x = 0; |
CCastrop1012 | 0:75421f27540e | 13 | long muestras[200]; |
CCastrop1012 | 0:75421f27540e | 14 | int t = 10; |
CCastrop1012 | 0:75421f27540e | 15 | int escalon_1 = 10, escalon_2 = 80, escalon_3 = 30, escalon_4 = 50, escalon_5 = 65, escalon_6 = 5, escalon_7 = 20, escalon_8 = 40; |
CCastrop1012 | 0:75421f27540e | 16 | |
CCastrop1012 | 0:75421f27540e | 17 | |
CCastrop1012 | 0:75421f27540e | 18 | |
CCastrop1012 | 0:75421f27540e | 19 | |
CCastrop1012 | 0:75421f27540e | 20 | |
CCastrop1012 | 0:75421f27540e | 21 | void interrupt() |
CCastrop1012 | 0:75421f27540e | 22 | { |
CCastrop1012 | 0:75421f27540e | 23 | x ++; |
CCastrop1012 | 0:75421f27540e | 24 | |
CCastrop1012 | 0:75421f27540e | 25 | } |
CCastrop1012 | 0:75421f27540e | 26 | |
CCastrop1012 | 0:75421f27540e | 27 | |
CCastrop1012 | 0:75421f27540e | 28 | |
CCastrop1012 | 0:75421f27540e | 29 | int main() { |
CCastrop1012 | 0:75421f27540e | 30 | |
CCastrop1012 | 0:75421f27540e | 31 | Mbed.printf("Hello World\n!"); |
CCastrop1012 | 0:75421f27540e | 32 | Encoder.rise(&interrupt); |
CCastrop1012 | 0:75421f27540e | 33 | |
CCastrop1012 | 0:75421f27540e | 34 | long temp = 0; |
CCastrop1012 | 0:75421f27540e | 35 | int duty = 10; |
CCastrop1012 | 0:75421f27540e | 36 | |
CCastrop1012 | 0:75421f27540e | 37 | |
CCastrop1012 | 0:75421f27540e | 38 | |
CCastrop1012 | 0:75421f27540e | 39 | while(1) |
CCastrop1012 | 0:75421f27540e | 40 | { |
CCastrop1012 | 0:75421f27540e | 41 | |
CCastrop1012 | 0:75421f27540e | 42 | //////// Giro sentido 1 |
CCastrop1012 | 0:75421f27540e | 43 | |
CCastrop1012 | 0:75421f27540e | 44 | Mbed.printf("Motor Velocidad = %d%% : ",duty); |
CCastrop1012 | 0:75421f27540e | 45 | LED = 1; |
CCastrop1012 | 0:75421f27540e | 46 | |
CCastrop1012 | 0:75421f27540e | 47 | Mizq.Forward(); |
CCastrop1012 | 0:75421f27540e | 48 | Mizq.SpeedDuty(duty); |
CCastrop1012 | 0:75421f27540e | 49 | x = 0; temp = 0; |
CCastrop1012 | 0:75421f27540e | 50 | wait(1); |
CCastrop1012 | 0:75421f27540e | 51 | temp = x; |
CCastrop1012 | 0:75421f27540e | 52 | Mbed.printf("PPS = %d : \n",temp); |
CCastrop1012 | 0:75421f27540e | 53 | LED = 0; |
CCastrop1012 | 0:75421f27540e | 54 | if(Button == 0) { duty++; if(duty > 100) duty = 10; } |
CCastrop1012 | 0:75421f27540e | 55 | wait(1); |
CCastrop1012 | 0:75421f27540e | 56 | |
CCastrop1012 | 0:75421f27540e | 57 | |
CCastrop1012 | 0:75421f27540e | 58 | |
CCastrop1012 | 0:75421f27540e | 59 | |
CCastrop1012 | 0:75421f27540e | 60 | } |
CCastrop1012 | 0:75421f27540e | 61 | } |