PWM with L298

Dependencies:   mbed TextLCD1

Fork of L298 by Hernán Maya

Committer:
juanitoinig84
Date:
Thu Jul 07 04:45:32 2016 +0000
Revision:
5:18d7cd116331
Parent:
4:28c613b8345b
Second 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 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 5:18d7cd116331 35 // ena.period_us(250);
juanitoinig84 5:18d7cd116331 36 //enb.period_us(250);
juanitoinig84 5:18d7cd116331 37
juanitoinig84 5:18d7cd116331 38 ena.period(1.0/5000.0);// 4Khz period
juanitoinig84 5:18d7cd116331 39 enb.period(1.0/5000.0);// 4Khz period
juanitoinig84 3:c06b4a48e08a 40 pc.baud(115200);
juanitoinig84 3:c06b4a48e08a 41 pc.printf("Peristaltic pumps FRDM-K64F board.\n");
satelite 0:f3cd2e9ab89b 42 while (true) {
juanitoinig84 1:c83539e7f8a0 43 /////******MOTOR 1****////
juanitoinig84 3:c06b4a48e08a 44
juanitoinig84 3:c06b4a48e08a 45 stop1(); //Stop motor
juanitoinig84 3:c06b4a48e08a 46 wait(2.0f);
juanitoinig84 5:18d7cd116331 47 turnRight1(); // Gira en sentido 1
juanitoinig84 3:c06b4a48e08a 48 ena.write(0.50f); //Velocidad 50%
juanitoinig84 3:c06b4a48e08a 49 wait(2.0f);
juanitoinig84 5:18d7cd116331 50 turnLeft1(); // Gira en sentido 2
juanitoinig84 3:c06b4a48e08a 51 ena.write(1.00f); // Velocidad 100%
juanitoinig84 3:c06b4a48e08a 52 wait(2.0f);
juanitoinig84 1:c83539e7f8a0 53
juanitoinig84 1:c83539e7f8a0 54 /////******MOTOR 2****////
juanitoinig84 3:c06b4a48e08a 55 stop2();
juanitoinig84 3:c06b4a48e08a 56 wait(2.0f);
juanitoinig84 3:c06b4a48e08a 57 turnRight2(); // Gira en sentido 1
juanitoinig84 3:c06b4a48e08a 58 enb.write(0.50f); //velocidad 50%
juanitoinig84 3:c06b4a48e08a 59 wait(2.0f);
juanitoinig84 3:c06b4a48e08a 60 turnLeft2(); // Gira en sentido 2
juanitoinig84 3:c06b4a48e08a 61 enb.write(1.00f); //velocidad 100%
juanitoinig84 4:28c613b8345b 62 wait(2.0f);
satelite 0:f3cd2e9ab89b 63 }
juanitoinig84 3:c06b4a48e08a 64 }
juanitoinig84 3:c06b4a48e08a 65
juanitoinig84 3:c06b4a48e08a 66 ///////////////***********FUNCTIONS***********************//////////////
juanitoinig84 3:c06b4a48e08a 67 void stop1(void) {
juanitoinig84 3:c06b4a48e08a 68 led_red = ON;
juanitoinig84 3:c06b4a48e08a 69 in1 = OFF;
juanitoinig84 3:c06b4a48e08a 70 in2 = OFF;
juanitoinig84 3:c06b4a48e08a 71 //wait(0.5f);
juanitoinig84 3:c06b4a48e08a 72 }
juanitoinig84 3:c06b4a48e08a 73
juanitoinig84 3:c06b4a48e08a 74 void stop2(void) {
juanitoinig84 3:c06b4a48e08a 75 led_green = ON;
juanitoinig84 3:c06b4a48e08a 76 in3 = OFF;
juanitoinig84 3:c06b4a48e08a 77 in4 = OFF;
juanitoinig84 3:c06b4a48e08a 78 //wait(0.5f);
juanitoinig84 3:c06b4a48e08a 79 }
juanitoinig84 3:c06b4a48e08a 80
juanitoinig84 3:c06b4a48e08a 81 void turnLeft1() {
juanitoinig84 3:c06b4a48e08a 82 led_blue = ON;
juanitoinig84 3:c06b4a48e08a 83 in1 = OFF;
juanitoinig84 3:c06b4a48e08a 84 in2 = ON;
juanitoinig84 3:c06b4a48e08a 85 }
juanitoinig84 3:c06b4a48e08a 86
juanitoinig84 3:c06b4a48e08a 87 void turnLeft2() {
juanitoinig84 3:c06b4a48e08a 88 led_green = ON;
juanitoinig84 3:c06b4a48e08a 89 in3 = OFF;
juanitoinig84 3:c06b4a48e08a 90 in4 = ON;
juanitoinig84 3:c06b4a48e08a 91 }
juanitoinig84 3:c06b4a48e08a 92
juanitoinig84 3:c06b4a48e08a 93 void turnRight1() {
juanitoinig84 3:c06b4a48e08a 94 led_red = ON;
juanitoinig84 3:c06b4a48e08a 95 in1 = ON;
juanitoinig84 3:c06b4a48e08a 96 in2 = OFF;
juanitoinig84 3:c06b4a48e08a 97 }
juanitoinig84 3:c06b4a48e08a 98
juanitoinig84 3:c06b4a48e08a 99 void turnRight2() {
juanitoinig84 3:c06b4a48e08a 100 led_green = ON;
juanitoinig84 3:c06b4a48e08a 101 in3 = ON;
juanitoinig84 3:c06b4a48e08a 102 in4 = OFF;
satelite 0:f3cd2e9ab89b 103 }