PWM with L298

Dependencies:   mbed TextLCD1

Fork of L298 by Hernán Maya

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?

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