Juan Carlos Suárez Barón
/
L298
PWM with L298
Fork of L298 by
main.cpp@3:c06b4a48e08a, 2016-07-01 (annotated)
- Committer:
- juanitoinig84
- Date:
- Fri Jul 01 03:38:09 2016 +0000
- Revision:
- 3:c06b4a48e08a
- Parent:
- 1:c83539e7f8a0
- Child:
- 4:28c613b8345b
Segunda versi?n
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 | 1:c83539e7f8a0 | 17 | DigitalOut in3(PTD1); |
juanitoinig84 | 1:c83539e7f8a0 | 18 | DigitalOut in4(PTD2); |
juanitoinig84 | 1:c83539e7f8a0 | 19 | PwmOut enb(PTD3); |
juanitoinig84 | 3:c06b4a48e08a | 20 | ////////////////*************************////////////// |
juanitoinig84 | 1:c83539e7f8a0 | 21 | |
juanitoinig84 | 3:c06b4a48e08a | 22 | ////////////****Prototype Functions*******////////// |
juanitoinig84 | 3:c06b4a48e08a | 23 | void stop1(void); |
juanitoinig84 | 3:c06b4a48e08a | 24 | void stop2(void); |
juanitoinig84 | 3:c06b4a48e08a | 25 | void turnLeft1(void); |
juanitoinig84 | 3:c06b4a48e08a | 26 | void turnLeft2(void); |
juanitoinig84 | 3:c06b4a48e08a | 27 | void turnRight1(void); |
juanitoinig84 | 3:c06b4a48e08a | 28 | void turnRight2(void); |
juanitoinig84 | 3:c06b4a48e08a | 29 | ////////////////*************************////////////// |
juanitoinig84 | 1:c83539e7f8a0 | 30 | |
satelite | 0:f3cd2e9ab89b | 31 | int main() |
satelite | 0:f3cd2e9ab89b | 32 | { |
juanitoinig84 | 3:c06b4a48e08a | 33 | pc.baud(115200); |
juanitoinig84 | 3:c06b4a48e08a | 34 | pc.printf("Peristaltic pumps FRDM-K64F board.\n"); |
satelite | 0:f3cd2e9ab89b | 35 | while (true) { |
juanitoinig84 | 1:c83539e7f8a0 | 36 | /////******MOTOR 1****//// |
juanitoinig84 | 3:c06b4a48e08a | 37 | |
juanitoinig84 | 3:c06b4a48e08a | 38 | stop1(); //Stop motor |
juanitoinig84 | 3:c06b4a48e08a | 39 | wait(2.0f); |
juanitoinig84 | 3:c06b4a48e08a | 40 | turnLeft1(); // Gira en sentido 1 |
juanitoinig84 | 3:c06b4a48e08a | 41 | ena.write(0.50f); //Velocidad 50% |
juanitoinig84 | 3:c06b4a48e08a | 42 | wait(2.0f); |
juanitoinig84 | 3:c06b4a48e08a | 43 | turnRight1(); // Gira en sentido 2 |
juanitoinig84 | 3:c06b4a48e08a | 44 | ena.write(1.00f); // Velocidad 100% |
juanitoinig84 | 3:c06b4a48e08a | 45 | wait(2.0f); |
juanitoinig84 | 1:c83539e7f8a0 | 46 | |
juanitoinig84 | 1:c83539e7f8a0 | 47 | /////******MOTOR 2****//// |
juanitoinig84 | 3:c06b4a48e08a | 48 | stop2(); |
juanitoinig84 | 3:c06b4a48e08a | 49 | wait(2.0f); |
juanitoinig84 | 3:c06b4a48e08a | 50 | turnRight2(); // Gira en sentido 1 |
juanitoinig84 | 3:c06b4a48e08a | 51 | enb.write(0.50f); //velocidad 50% |
juanitoinig84 | 3:c06b4a48e08a | 52 | wait(2.0f); |
juanitoinig84 | 3:c06b4a48e08a | 53 | turnLeft2(); // Gira en sentido 2 |
juanitoinig84 | 3:c06b4a48e08a | 54 | enb.write(1.00f); //velocidad 100% |
juanitoinig84 | 1:c83539e7f8a0 | 55 | wait(0.5f); |
satelite | 0:f3cd2e9ab89b | 56 | } |
juanitoinig84 | 3:c06b4a48e08a | 57 | } |
juanitoinig84 | 3:c06b4a48e08a | 58 | |
juanitoinig84 | 3:c06b4a48e08a | 59 | ///////////////***********FUNCTIONS***********************////////////// |
juanitoinig84 | 3:c06b4a48e08a | 60 | void stop1(void) { |
juanitoinig84 | 3:c06b4a48e08a | 61 | led_red = ON; |
juanitoinig84 | 3:c06b4a48e08a | 62 | in1 = OFF; |
juanitoinig84 | 3:c06b4a48e08a | 63 | in2 = OFF; |
juanitoinig84 | 3:c06b4a48e08a | 64 | //wait(0.5f); |
juanitoinig84 | 3:c06b4a48e08a | 65 | } |
juanitoinig84 | 3:c06b4a48e08a | 66 | |
juanitoinig84 | 3:c06b4a48e08a | 67 | void stop2(void) { |
juanitoinig84 | 3:c06b4a48e08a | 68 | led_green = ON; |
juanitoinig84 | 3:c06b4a48e08a | 69 | in3 = OFF; |
juanitoinig84 | 3:c06b4a48e08a | 70 | in4 = OFF; |
juanitoinig84 | 3:c06b4a48e08a | 71 | //wait(0.5f); |
juanitoinig84 | 3:c06b4a48e08a | 72 | } |
juanitoinig84 | 3:c06b4a48e08a | 73 | |
juanitoinig84 | 3:c06b4a48e08a | 74 | void turnLeft1() { |
juanitoinig84 | 3:c06b4a48e08a | 75 | led_blue = ON; |
juanitoinig84 | 3:c06b4a48e08a | 76 | in1 = OFF; |
juanitoinig84 | 3:c06b4a48e08a | 77 | in2 = ON; |
juanitoinig84 | 3:c06b4a48e08a | 78 | } |
juanitoinig84 | 3:c06b4a48e08a | 79 | |
juanitoinig84 | 3:c06b4a48e08a | 80 | void turnLeft2() { |
juanitoinig84 | 3:c06b4a48e08a | 81 | led_green = ON; |
juanitoinig84 | 3:c06b4a48e08a | 82 | in3 = OFF; |
juanitoinig84 | 3:c06b4a48e08a | 83 | in4 = ON; |
juanitoinig84 | 3:c06b4a48e08a | 84 | } |
juanitoinig84 | 3:c06b4a48e08a | 85 | |
juanitoinig84 | 3:c06b4a48e08a | 86 | void turnRight1() { |
juanitoinig84 | 3:c06b4a48e08a | 87 | led_red = ON; |
juanitoinig84 | 3:c06b4a48e08a | 88 | in1 = ON; |
juanitoinig84 | 3:c06b4a48e08a | 89 | in2 = OFF; |
juanitoinig84 | 3:c06b4a48e08a | 90 | } |
juanitoinig84 | 3:c06b4a48e08a | 91 | |
juanitoinig84 | 3:c06b4a48e08a | 92 | void turnRight2() { |
juanitoinig84 | 3:c06b4a48e08a | 93 | led_green = ON; |
juanitoinig84 | 3:c06b4a48e08a | 94 | in3 = ON; |
juanitoinig84 | 3:c06b4a48e08a | 95 | in4 = OFF; |
satelite | 0:f3cd2e9ab89b | 96 | } |