Hugo's Programs / Mbed 2 deprecated PROJECT_Bluetooth_Control_2_Motors

Dependencies:   mbed

Committer:
hugocampos
Date:
Sat Feb 13 18:46:43 2021 +0000
Revision:
3:40a93d1f3a01
Parent:
2:bc137c43710d
Bluetooth

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hugocampos 2:bc137c43710d 1 /*Programa com IHM04A1 (L6206) e bluetooth com 2 motores
hugocampos 2:bc137c43710d 2 Autor: Hugo Campos
hugocampos 2:bc137c43710d 3 Staus: Funcionando
hugocampos 2:bc137c43710d 4 Data:04/10/2020
hugocampos 2:bc137c43710d 5 */
mariangelamone 1:d33dca22f3a1 6
hugocampos 2:bc137c43710d 7 #include "mbed.h"
hugocampos 3:40a93d1f3a01 8
hugocampos 2:bc137c43710d 9 DigitalOut IN1A (D5);
hugocampos 2:bc137c43710d 10 DigitalOut IN2A (D4);
hugocampos 2:bc137c43710d 11 DigitalOut ENB (A4);
hugocampos 3:40a93d1f3a01 12 PwmOut ENA (D2);
hugocampos 2:bc137c43710d 13 PwmOut IN1B (A0);
hugocampos 2:bc137c43710d 14 PwmOut IN2B (A1);
hugocampos 3:40a93d1f3a01 15
YARodriguez 0:1cd78549370a 16
hugocampos 3:40a93d1f3a01 17 Serial bt(PA_11,PA_12); // OU (D10,D2)
hugocampos 2:bc137c43710d 18 Serial pc(USBTX,USBRX);
hugocampos 2:bc137c43710d 19
hugocampos 3:40a93d1f3a01 20 int main()
hugocampos 3:40a93d1f3a01 21 {
hugocampos 2:bc137c43710d 22 float dutyENA = 0.50;
hugocampos 2:bc137c43710d 23 float dutyIN1B = 0.60;
hugocampos 2:bc137c43710d 24 float dutyIN2B = 0.60;
hugocampos 2:bc137c43710d 25 bt.baud(9600);
mariangelamone 1:d33dca22f3a1 26
hugocampos 2:bc137c43710d 27 //prints data on mobile
hugocampos 2:bc137c43710d 28 bt.printf("Connection Established");
hugocampos 2:bc137c43710d 29 while(1) {
hugocampos 2:bc137c43710d 30 if (bt.readable()) {
hugocampos 3:40a93d1f3a01 31 char CONTROL= bt.putc(bt.getc());
hugocampos 3:40a93d1f3a01 32
hugocampos 2:bc137c43710d 33 if(CONTROL == 'R') { // Ré
hugocampos 2:bc137c43710d 34 ENA.write(dutyENA);
hugocampos 2:bc137c43710d 35 ENB = 1;
hugocampos 2:bc137c43710d 36 IN1A = 1;
hugocampos 2:bc137c43710d 37 IN2A = 0;
hugocampos 2:bc137c43710d 38 IN1B=0;
hugocampos 2:bc137c43710d 39 IN2B.write(dutyIN2B);
hugocampos 2:bc137c43710d 40 bt.printf("Ré");
hugocampos 2:bc137c43710d 41 wait_ms(500);
hugocampos 2:bc137c43710d 42 }
hugocampos 2:bc137c43710d 43 if(CONTROL == 'F') { //Frente
hugocampos 2:bc137c43710d 44 ENA.write(dutyENA);
hugocampos 2:bc137c43710d 45 ENB = 1;
hugocampos 2:bc137c43710d 46 IN1A = 0;
hugocampos 2:bc137c43710d 47 IN2A = 1;
hugocampos 2:bc137c43710d 48 IN2B = 0;
hugocampos 2:bc137c43710d 49 IN1B.write(dutyIN1B);
hugocampos 2:bc137c43710d 50 bt.printf("Frente");
hugocampos 3:40a93d1f3a01 51 wait_ms(500);
hugocampos 2:bc137c43710d 52 }
hugocampos 3:40a93d1f3a01 53 if(CONTROL == 'D') {
hugocampos 2:bc137c43710d 54 ENA.write(dutyENA);
hugocampos 2:bc137c43710d 55 ENB = 0;
hugocampos 2:bc137c43710d 56 IN1A = 0;
hugocampos 2:bc137c43710d 57 IN2A = 1;
hugocampos 2:bc137c43710d 58 bt.printf("motor para esquerda");
hugocampos 2:bc137c43710d 59 wait_ms(500);
hugocampos 2:bc137c43710d 60 }
hugocampos 3:40a93d1f3a01 61 if(CONTROL == 'E') {
hugocampos 2:bc137c43710d 62 ENA = 0;
hugocampos 2:bc137c43710d 63 ENB = 1;
hugocampos 2:bc137c43710d 64 IN2B=0;
hugocampos 2:bc137c43710d 65 IN1B.write(dutyIN1B);
hugocampos 2:bc137c43710d 66 bt.printf("motor para Direita");
hugocampos 2:bc137c43710d 67 wait_ms(500);
hugocampos 2:bc137c43710d 68 }
hugocampos 3:40a93d1f3a01 69 if(CONTROL == 'T') {
hugocampos 2:bc137c43710d 70 ENA = 0;
hugocampos 2:bc137c43710d 71 ENB =0;
hugocampos 2:bc137c43710d 72 IN1A = 0;
hugocampos 2:bc137c43710d 73 IN2A = 0;
hugocampos 2:bc137c43710d 74 IN2B = 0;
hugocampos 2:bc137c43710d 75 IN1B = 0;
hugocampos 2:bc137c43710d 76 pc.printf("motor parado");
hugocampos 2:bc137c43710d 77 wait_ms(500);
hugocampos 2:bc137c43710d 78 }
hugocampos 3:40a93d1f3a01 79
hugocampos 2:bc137c43710d 80 ENA = 0;
hugocampos 3:40a93d1f3a01 81 ENB = 0;
hugocampos 2:bc137c43710d 82 }
hugocampos 3:40a93d1f3a01 83 }
hugocampos 3:40a93d1f3a01 84 }