testando

Dependencies:   mbed TextLCD2

Committer:
enricoan
Date:
Mon May 25 18:26:26 2020 +0000
Revision:
16:70baa0057a76
Parent:
12:976d42656c4c
Child:
17:4d0b8ed791e0
motores funcionando

Who changed what in which revision?

UserRevisionLine numberNew contents of line
enricoan 10:4f49e9859535 1 #include "mbed.h"
enricoan 10:4f49e9859535 2 #include "TextLCD.h"
enricoan 10:4f49e9859535 3 #include "Keypad.h"
enricoan 10:4f49e9859535 4
enricoan 10:4f49e9859535 5 //local para a declaração de pinos e variáveis
enricoan 16:70baa0057a76 6 float t_motor = 0.003;
enricoan 10:4f49e9859535 7 float t_teclado = 0.01;
Hiroball 11:dc557e461dfd 8 int horario[] = {12,6,3,9};
Hiroball 11:dc557e461dfd 9 int antih[] = {3,6,12,9};
enricoan 16:70baa0057a76 10 int parado[] = {0,0,0,0};
enricoan 16:70baa0057a76 11 char tecla;
enricoan 16:70baa0057a76 12 int fdc_x
enricoan 10:4f49e9859535 13 //botões para movimentação eixo a eixo
enricoan 10:4f49e9859535 14 DigitalIn x_mais(PA_0);
enricoan 10:4f49e9859535 15 DigitalIn x_menos(PA_1);
enricoan 10:4f49e9859535 16 DigitalIn y_mais(PC_0);
enricoan 10:4f49e9859535 17 DigitalIn y_menos(PC_1);
enricoan 10:4f49e9859535 18 DigitalIn z_mais(PC_2);
enricoan 10:4f49e9859535 19 DigitalIn z_menos(PC_3);
enricoan 10:4f49e9859535 20
enricoan 10:4f49e9859535 21 //pinos da placa usados na biblioteca do LCD
enricoan 10:4f49e9859535 22 TextLCD lcd(D4, D5, D6, D7, D8, D9);
enricoan 10:4f49e9859535 23
enricoan 16:70baa0057a76 24 //pinos do teclado
enricoan 16:70baa0057a76 25 Keypad teclado(PA_6, PA_7, PB_6, PC_7, PB_7, PC_13, PC_14, PC_15);
enricoan 16:70baa0057a76 26
enricoan 10:4f49e9859535 27 //pinos de saída para os motores
enricoan 10:4f49e9859535 28 //eixo x
Hiroball 11:dc557e461dfd 29 BusOut eixox(PA_15,PA_14,PA_13,PA_12);
enricoan 10:4f49e9859535 30 //eixo y
Hiroball 11:dc557e461dfd 31 BusOut eixoy(PA_11,PA_10,PB_2,PB_1);
enricoan 10:4f49e9859535 32 //eixo z
Hiroball 11:dc557e461dfd 33 BusOut eixoz(PC_9,PC_8,PB_8,PC_6);
enricoan 10:4f49e9859535 34
enricoan 10:4f49e9859535 35 int main() {
enricoan 16:70baa0057a76 36 lcd.printf("Bem-vindo ao Pipemax");
Hiroball 11:dc557e461dfd 37 lcd.locate(0,1);
enricoan 16:70baa0057a76 38 lcd.printf("o seu sistema");
Hiroball 11:dc557e461dfd 39 lcd.locate(0,2);
enricoan 16:70baa0057a76 40 lcd.printf("automatizado");
Hiroball 11:dc557e461dfd 41 lcd.locate(0,3);
enricoan 16:70baa0057a76 42 lcd.printf("de pipetagem");
Hiroball 11:dc557e461dfd 43 while(1) {
enricoan 16:70baa0057a76 44 int solta = 1;
enricoan 16:70baa0057a76 45 tecla = teclado.ReadKey(); //read the current key pressed
enricoan 16:70baa0057a76 46 if(tecla == '\0') solta = 1; //set the flag when all keys are released
enricoan 16:70baa0057a76 47 if((tecla != '\0') && (solta == 1)) { //if a key is pressed AND previous key was released
enricoan 16:70baa0057a76 48 printf("%c\n", tecla);
enricoan 16:70baa0057a76 49 solta = 0; //clear the flag to indicate that key is still pressed
enricoan 16:70baa0057a76 50 wait(0.1);}
enricoan 16:70baa0057a76 51
enricoan 16:70baa0057a76 52 if (tecla == '1'){
enricoan 16:70baa0057a76 53 lcd.cls();
enricoan 16:70baa0057a76 54 lcd.printf("A-Novo programa");
enricoan 16:70baa0057a76 55 lcd.locate(0,1);
enricoan 16:70baa0057a76 56 lcd.printf("B-Carregar programa");
enricoan 16:70baa0057a76 57 }
enricoan 16:70baa0057a76 58 if (x_mais == 0){for(int i = 0; i < 4; i++){eixox = horario[i];wait(t_motor);}}
enricoan 16:70baa0057a76 59 if (x_menos == 0){for(int i = 0; i < 4; i++){eixox = antih[i];wait(t_motor);}}
enricoan 16:70baa0057a76 60 if (y_mais == 0){for(int i = 0; i < 4; i++){eixoy = horario[i];wait(t_motor);}}
enricoan 16:70baa0057a76 61 if (y_menos == 0){for(int i = 0; i < 4; i++){eixoy = antih[i];wait(t_motor);}}
enricoan 16:70baa0057a76 62 if (z_mais == 0){for(int i = 0; i < 4; i++){eixoz = horario[i];wait(t_motor);}}
enricoan 16:70baa0057a76 63 if (z_menos == 0){for(int i = 0; i < 4; i++){eixoz = antih[i];wait(t_motor);}}
enricoan 16:70baa0057a76 64 if (x_mais || x_menos || y_mais || y_menos || z_mais || z_menos != 0){
enricoan 16:70baa0057a76 65 for(int i = 0; i < 4; i++){eixox = parado[i];}
enricoan 16:70baa0057a76 66 for(int i = 0; i < 4; i++){eixoy = parado[i];}
enricoan 16:70baa0057a76 67 for(int i = 0; i < 4; i++){eixoz = parado[i];}
enricoan 16:70baa0057a76 68 }
Hiroball 11:dc557e461dfd 69 }
enricoan 10:4f49e9859535 70 }