Juan Carlos Suárez Barón
/
L298
PWM with L298
Fork of L298 by
main.cpp@4:28c613b8345b, 2016-07-04 (annotated)
- Committer:
- juanitoinig84
- Date:
- Mon Jul 04 19:39:53 2016 +0000
- Revision:
- 4:28c613b8345b
- Parent:
- 3:c06b4a48e08a
- Child:
- 5:18d7cd116331
MOdified
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
satelite | 0:f3cd2e9ab89b | 1 | #include "mbed.h" |
juanitoinig84 | 3:c06b4a48e08a | 2 | #include "TextLCD.h" |
juanitoinig84 | 3:c06b4a48e08a | 3 | |
juanitoinig84 | 3:c06b4a48e08a | 4 | # define ON 1 |
juanitoinig84 | 3:c06b4a48e08a | 5 | # define OFF 0 |
juanitoinig84 | 3:c06b4a48e08a | 6 | ////////////////********Definitions***********/////// |
juanitoinig84 | 3:c06b4a48e08a | 7 | DigitalOut led_red(LED_RED); |
juanitoinig84 | 3:c06b4a48e08a | 8 | DigitalOut led_green(LED_GREEN); |
juanitoinig84 | 3:c06b4a48e08a | 9 | DigitalOut led_blue(LED_BLUE); |
juanitoinig84 | 3:c06b4a48e08a | 10 | |
juanitoinig84 | 3:c06b4a48e08a | 11 | Serial pc(USBTX, USBRX); |
satelite | 0:f3cd2e9ab89b | 12 | |
satelite | 0:f3cd2e9ab89b | 13 | DigitalOut in1(PTC3); |
satelite | 0:f3cd2e9ab89b | 14 | DigitalOut in2(PTC2); |
satelite | 0:f3cd2e9ab89b | 15 | PwmOut ena(PTA2); |
satelite | 0:f3cd2e9ab89b | 16 | |
juanitoinig84 | 4:28c613b8345b | 17 | |
juanitoinig84 | 1:c83539e7f8a0 | 18 | DigitalOut in3(PTD1); |
juanitoinig84 | 1:c83539e7f8a0 | 19 | DigitalOut in4(PTD2); |
juanitoinig84 | 1:c83539e7f8a0 | 20 | PwmOut enb(PTD3); |
juanitoinig84 | 3:c06b4a48e08a | 21 | ////////////////*************************////////////// |
juanitoinig84 | 1:c83539e7f8a0 | 22 | |
juanitoinig84 | 3:c06b4a48e08a | 23 | ////////////****Prototype Functions*******////////// |
juanitoinig84 | 3:c06b4a48e08a | 24 | void stop1(void); |
juanitoinig84 | 3:c06b4a48e08a | 25 | void stop2(void); |
juanitoinig84 | 3:c06b4a48e08a | 26 | void turnLeft1(void); |
juanitoinig84 | 3:c06b4a48e08a | 27 | void turnLeft2(void); |
juanitoinig84 | 3:c06b4a48e08a | 28 | void turnRight1(void); |
juanitoinig84 | 3:c06b4a48e08a | 29 | void turnRight2(void); |
juanitoinig84 | 3:c06b4a48e08a | 30 | ////////////////*************************////////////// |
juanitoinig84 | 1:c83539e7f8a0 | 31 | |
satelite | 0:f3cd2e9ab89b | 32 | int main() |
satelite | 0:f3cd2e9ab89b | 33 | { |
juanitoinig84 | 4:28c613b8345b | 34 | //int frequency = 0; |
juanitoinig84 | 4:28c613b8345b | 35 | ena.period_us(250); |
juanitoinig84 | 4:28c613b8345b | 36 | enb.period_us(250); |
juanitoinig84 | 3:c06b4a48e08a | 37 | pc.baud(115200); |
juanitoinig84 | 3:c06b4a48e08a | 38 | pc.printf("Peristaltic pumps FRDM-K64F board.\n"); |
satelite | 0:f3cd2e9ab89b | 39 | while (true) { |
juanitoinig84 | 1:c83539e7f8a0 | 40 | /////******MOTOR 1****//// |
juanitoinig84 | 3:c06b4a48e08a | 41 | |
juanitoinig84 | 3:c06b4a48e08a | 42 | stop1(); //Stop motor |
juanitoinig84 | 3:c06b4a48e08a | 43 | wait(2.0f); |
juanitoinig84 | 3:c06b4a48e08a | 44 | turnLeft1(); // Gira en sentido 1 |
juanitoinig84 | 3:c06b4a48e08a | 45 | ena.write(0.50f); //Velocidad 50% |
juanitoinig84 | 3:c06b4a48e08a | 46 | wait(2.0f); |
juanitoinig84 | 3:c06b4a48e08a | 47 | turnRight1(); // Gira en sentido 2 |
juanitoinig84 | 3:c06b4a48e08a | 48 | ena.write(1.00f); // Velocidad 100% |
juanitoinig84 | 3:c06b4a48e08a | 49 | wait(2.0f); |
juanitoinig84 | 1:c83539e7f8a0 | 50 | |
juanitoinig84 | 1:c83539e7f8a0 | 51 | /////******MOTOR 2****//// |
juanitoinig84 | 3:c06b4a48e08a | 52 | stop2(); |
juanitoinig84 | 3:c06b4a48e08a | 53 | wait(2.0f); |
juanitoinig84 | 3:c06b4a48e08a | 54 | turnRight2(); // Gira en sentido 1 |
juanitoinig84 | 3:c06b4a48e08a | 55 | enb.write(0.50f); //velocidad 50% |
juanitoinig84 | 3:c06b4a48e08a | 56 | wait(2.0f); |
juanitoinig84 | 3:c06b4a48e08a | 57 | turnLeft2(); // Gira en sentido 2 |
juanitoinig84 | 3:c06b4a48e08a | 58 | enb.write(1.00f); //velocidad 100% |
juanitoinig84 | 4:28c613b8345b | 59 | wait(2.0f); |
satelite | 0:f3cd2e9ab89b | 60 | } |
juanitoinig84 | 3:c06b4a48e08a | 61 | } |
juanitoinig84 | 3:c06b4a48e08a | 62 | |
juanitoinig84 | 3:c06b4a48e08a | 63 | ///////////////***********FUNCTIONS***********************////////////// |
juanitoinig84 | 3:c06b4a48e08a | 64 | void stop1(void) { |
juanitoinig84 | 3:c06b4a48e08a | 65 | led_red = ON; |
juanitoinig84 | 3:c06b4a48e08a | 66 | in1 = OFF; |
juanitoinig84 | 3:c06b4a48e08a | 67 | in2 = OFF; |
juanitoinig84 | 3:c06b4a48e08a | 68 | //wait(0.5f); |
juanitoinig84 | 3:c06b4a48e08a | 69 | } |
juanitoinig84 | 3:c06b4a48e08a | 70 | |
juanitoinig84 | 3:c06b4a48e08a | 71 | void stop2(void) { |
juanitoinig84 | 3:c06b4a48e08a | 72 | led_green = ON; |
juanitoinig84 | 3:c06b4a48e08a | 73 | in3 = OFF; |
juanitoinig84 | 3:c06b4a48e08a | 74 | in4 = OFF; |
juanitoinig84 | 3:c06b4a48e08a | 75 | //wait(0.5f); |
juanitoinig84 | 3:c06b4a48e08a | 76 | } |
juanitoinig84 | 3:c06b4a48e08a | 77 | |
juanitoinig84 | 3:c06b4a48e08a | 78 | void turnLeft1() { |
juanitoinig84 | 3:c06b4a48e08a | 79 | led_blue = ON; |
juanitoinig84 | 3:c06b4a48e08a | 80 | in1 = OFF; |
juanitoinig84 | 3:c06b4a48e08a | 81 | in2 = ON; |
juanitoinig84 | 3:c06b4a48e08a | 82 | } |
juanitoinig84 | 3:c06b4a48e08a | 83 | |
juanitoinig84 | 3:c06b4a48e08a | 84 | void turnLeft2() { |
juanitoinig84 | 3:c06b4a48e08a | 85 | led_green = ON; |
juanitoinig84 | 3:c06b4a48e08a | 86 | in3 = OFF; |
juanitoinig84 | 3:c06b4a48e08a | 87 | in4 = ON; |
juanitoinig84 | 3:c06b4a48e08a | 88 | } |
juanitoinig84 | 3:c06b4a48e08a | 89 | |
juanitoinig84 | 3:c06b4a48e08a | 90 | void turnRight1() { |
juanitoinig84 | 3:c06b4a48e08a | 91 | led_red = ON; |
juanitoinig84 | 3:c06b4a48e08a | 92 | in1 = ON; |
juanitoinig84 | 3:c06b4a48e08a | 93 | in2 = OFF; |
juanitoinig84 | 3:c06b4a48e08a | 94 | } |
juanitoinig84 | 3:c06b4a48e08a | 95 | |
juanitoinig84 | 3:c06b4a48e08a | 96 | void turnRight2() { |
juanitoinig84 | 3:c06b4a48e08a | 97 | led_green = ON; |
juanitoinig84 | 3:c06b4a48e08a | 98 | in3 = ON; |
juanitoinig84 | 3:c06b4a48e08a | 99 | in4 = OFF; |
satelite | 0:f3cd2e9ab89b | 100 | } |