PWM with L298

Dependencies:   mbed TextLCD1

Fork of L298 by Hernán Maya

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?

UserRevisionLine numberNew 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 }