testando

Dependencies:   mbed TextLCD2

Committer:
enricoan
Date:
Mon May 25 17:00:02 2020 +0000
Revision:
14:69d8f50c2336
Parent:
13:257302e01c7c
oi

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 13:257302e01c7c 6 float t_motor = 0.005;
enricoan 13:257302e01c7c 7 float t_teclado = 0.1;
enricoan 10:4f49e9859535 8 //botões para movimentação eixo a eixo
enricoan 10:4f49e9859535 9 DigitalIn x_mais(PA_0);
enricoan 10:4f49e9859535 10 DigitalIn x_menos(PA_1);
enricoan 10:4f49e9859535 11 DigitalIn y_mais(PC_0);
enricoan 10:4f49e9859535 12 DigitalIn y_menos(PC_1);
enricoan 10:4f49e9859535 13 DigitalIn z_mais(PC_2);
enricoan 10:4f49e9859535 14 DigitalIn z_menos(PC_3);
enricoan 10:4f49e9859535 15
enricoan 10:4f49e9859535 16 //pinos da placa usados na biblioteca do LCD
enricoan 10:4f49e9859535 17 TextLCD lcd(D4, D5, D6, D7, D8, D9);
enricoan 10:4f49e9859535 18
enricoan 13:257302e01c7c 19 //pinos da placa usados na biblioteca do teclado
enricoan 13:257302e01c7c 20 Keypad teclado(PA_6, PA_7, PB_6, PC_7, PB_7, PC_13, PC_14, PC_15);
enricoan 13:257302e01c7c 21
enricoan 10:4f49e9859535 22 //pinos de saída para os motores
enricoan 10:4f49e9859535 23 //eixo x
enricoan 10:4f49e9859535 24 DigitalOut a1(PA_15);
enricoan 10:4f49e9859535 25 DigitalOut b1(PA_14);
enricoan 10:4f49e9859535 26 DigitalOut c1(PA_13);
enricoan 10:4f49e9859535 27 DigitalOut d1(PA_12);
enricoan 10:4f49e9859535 28 //eixo y
enricoan 10:4f49e9859535 29 DigitalOut a2(PA_11);
enricoan 10:4f49e9859535 30 DigitalOut b2(PA_10);
enricoan 10:4f49e9859535 31 DigitalOut c2(PB_2);
enricoan 10:4f49e9859535 32 DigitalOut d2(PB_1);
enricoan 10:4f49e9859535 33 //eixo z
enricoan 10:4f49e9859535 34 DigitalOut a3(PC_9);
enricoan 10:4f49e9859535 35 DigitalOut b3(PC_8);
enricoan 10:4f49e9859535 36 DigitalOut c3(PB_8);
enricoan 10:4f49e9859535 37 DigitalOut d3(PC_6);
enricoan 10:4f49e9859535 38
enricoan 10:4f49e9859535 39 int main() {
enricoan 13:257302e01c7c 40 lcd.printf("Pipemax");
enricoan 10:4f49e9859535 41 lcd.locate(0,1);
enricoan 13:257302e01c7c 42 lcd.printf("o seu sistema");
enricoan 10:4f49e9859535 43 lcd.locate(0,2);
enricoan 13:257302e01c7c 44 lcd.printf("automatizado");
enricoan 10:4f49e9859535 45 lcd.locate(0,3);
enricoan 13:257302e01c7c 46 lcd.printf("de pipetagem");
enricoan 13:257302e01c7c 47 char tecla;
enricoan 13:257302e01c7c 48
enricoan 10:4f49e9859535 49 while(1) {
enricoan 14:69d8f50c2336 50 int solta = 1;
enricoan 14:69d8f50c2336 51 tecla = teclado.ReadKey(); //read the current key pressed
enricoan 14:69d8f50c2336 52 if(tecla == '\0') solta = 1; //set the flag when all keys are released
enricoan 14:69d8f50c2336 53
enricoan 14:69d8f50c2336 54 if((tecla != '\0') && (solta == 1)) { //if a key is pressed AND previous key was released
enricoan 14:69d8f50c2336 55 printf("%c\n", tecla);
enricoan 14:69d8f50c2336 56 solta = 0; //clear the flag to indicate that key is still pressed
enricoan 14:69d8f50c2336 57 wait(0.1);
enricoan 14:69d8f50c2336 58 }
enricoan 14:69d8f50c2336 59 if (tecla == '1'){
enricoan 14:69d8f50c2336 60 lcd.cls();
enricoan 14:69d8f50c2336 61 lcd.printf("A-Novo programa");
enricoan 14:69d8f50c2336 62 lcd.locate(0,1);
enricoan 14:69d8f50c2336 63 lcd.printf("B-Carregar programa");
enricoan 14:69d8f50c2336 64 }
enricoan 10:4f49e9859535 65 if (x_mais == 0){
enricoan 10:4f49e9859535 66 a1 = 1;b1 = 1;wait(t_motor);
enricoan 10:4f49e9859535 67 a1 = 0;c1 = 1;wait(t_motor);
enricoan 10:4f49e9859535 68 b1 = 0;d1 = 1;wait(t_motor);
enricoan 10:4f49e9859535 69 c1 = 0;a1 = 1;wait(t_motor);
enricoan 10:4f49e9859535 70 d1 = 0;a1 = 0;
enricoan 10:4f49e9859535 71 }
enricoan 10:4f49e9859535 72 if (x_menos == 0){
enricoan 10:4f49e9859535 73 d1 = 1;c1 = 1;wait(t_motor);
enricoan 10:4f49e9859535 74 d1 = 0;b1 = 1;wait(t_motor);
enricoan 10:4f49e9859535 75 c1 = 0;a1 = 1;wait(t_motor);
enricoan 10:4f49e9859535 76 b1 = 0;d1 = 1;wait(t_motor);
enricoan 10:4f49e9859535 77 a1 = 0;d1 = 0;
enricoan 10:4f49e9859535 78 }
enricoan 10:4f49e9859535 79 if (y_mais == 0){
enricoan 10:4f49e9859535 80 a2 = 1;b2 = 1;wait(t_motor);
enricoan 10:4f49e9859535 81 a2 = 0;c2 = 1; wait(t_motor);
enricoan 10:4f49e9859535 82 b2 = 0;d2 = 1;wait(t_motor);
enricoan 10:4f49e9859535 83 c2 = 0;a2 = 1;wait(t_motor);
enricoan 10:4f49e9859535 84 d2 = 0;a2 = 0;
enricoan 10:4f49e9859535 85 }
enricoan 10:4f49e9859535 86 if (y_menos == 0){
enricoan 10:4f49e9859535 87 d2 = 1;c2 = 1;wait(t_motor);
enricoan 10:4f49e9859535 88 d2 = 0;b2 = 1;wait(t_motor);
enricoan 10:4f49e9859535 89 c2 = 0;a2 = 1;wait(t_motor);
enricoan 10:4f49e9859535 90 b2 = 0;d2 = 1;wait(t_motor);
enricoan 10:4f49e9859535 91 a2 = 0;d2 = 0;
enricoan 10:4f49e9859535 92 }
enricoan 10:4f49e9859535 93 if (z_mais == 0){
enricoan 10:4f49e9859535 94 a3 = 1;b3 = 1;wait(t_motor);
enricoan 10:4f49e9859535 95 a3 = 0;c3 = 1;wait(t_motor);
enricoan 10:4f49e9859535 96 b3 = 0;d3 = 1;wait(t_motor);
enricoan 10:4f49e9859535 97 c3 = 0;a3 = 1;wait(t_motor);
enricoan 10:4f49e9859535 98 d3 = 0;a3 = 0;
enricoan 10:4f49e9859535 99 }
enricoan 10:4f49e9859535 100 if (z_menos == 0){
enricoan 10:4f49e9859535 101 d3 = 1;c3 = 1;wait(t_motor);
enricoan 10:4f49e9859535 102 d3 = 0;b3 = 1;wait(t_motor);
enricoan 10:4f49e9859535 103 c3 = 0;a3 = 1;wait(t_motor);
enricoan 10:4f49e9859535 104 b3 = 0;d3 = 1;wait(t_motor);
enricoan 10:4f49e9859535 105 a3 = 0;d3 = 0;
enricoan 10:4f49e9859535 106 }
enricoan 10:4f49e9859535 107 }
enricoan 10:4f49e9859535 108 }