testando

Dependencies:   mbed TextLCD2

Committer:
enricoan
Date:
Mon May 25 16:03:40 2020 +0000
Revision:
13:257302e01c7c
Parent:
10:4f49e9859535
Child:
14:69d8f50c2336
teclado funcionando pela metade

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 13:257302e01c7c 50 int solta = 1;
enricoan 13:257302e01c7c 51 tecla = teclado.ReadKey(); //read the current key pressed
enricoan 13:257302e01c7c 52 if(tecla == '\0') solta = 1; //set the flag when all keys are released
enricoan 13:257302e01c7c 53
enricoan 13:257302e01c7c 54 if((tecla != '\0') && (solta == 1)) { //if a key is pressed AND previous key was released
enricoan 13:257302e01c7c 55 printf("%c\n", tecla);
enricoan 13:257302e01c7c 56 solta = 0; //clear the flag to indicate that key is still pressed
enricoan 13:257302e01c7c 57 wait(0.1);
enricoan 13:257302e01c7c 58 }
enricoan 13:257302e01c7c 59
enricoan 10:4f49e9859535 60 if (x_mais == 0){
enricoan 10:4f49e9859535 61 a1 = 1;b1 = 1;wait(t_motor);
enricoan 10:4f49e9859535 62 a1 = 0;c1 = 1;wait(t_motor);
enricoan 10:4f49e9859535 63 b1 = 0;d1 = 1;wait(t_motor);
enricoan 10:4f49e9859535 64 c1 = 0;a1 = 1;wait(t_motor);
enricoan 10:4f49e9859535 65 d1 = 0;a1 = 0;
enricoan 10:4f49e9859535 66 }
enricoan 10:4f49e9859535 67 if (x_menos == 0){
enricoan 10:4f49e9859535 68 d1 = 1;c1 = 1;wait(t_motor);
enricoan 10:4f49e9859535 69 d1 = 0;b1 = 1;wait(t_motor);
enricoan 10:4f49e9859535 70 c1 = 0;a1 = 1;wait(t_motor);
enricoan 10:4f49e9859535 71 b1 = 0;d1 = 1;wait(t_motor);
enricoan 10:4f49e9859535 72 a1 = 0;d1 = 0;
enricoan 10:4f49e9859535 73 }
enricoan 10:4f49e9859535 74 if (y_mais == 0){
enricoan 10:4f49e9859535 75 a2 = 1;b2 = 1;wait(t_motor);
enricoan 10:4f49e9859535 76 a2 = 0;c2 = 1; wait(t_motor);
enricoan 10:4f49e9859535 77 b2 = 0;d2 = 1;wait(t_motor);
enricoan 10:4f49e9859535 78 c2 = 0;a2 = 1;wait(t_motor);
enricoan 10:4f49e9859535 79 d2 = 0;a2 = 0;
enricoan 10:4f49e9859535 80 }
enricoan 10:4f49e9859535 81 if (y_menos == 0){
enricoan 10:4f49e9859535 82 d2 = 1;c2 = 1;wait(t_motor);
enricoan 10:4f49e9859535 83 d2 = 0;b2 = 1;wait(t_motor);
enricoan 10:4f49e9859535 84 c2 = 0;a2 = 1;wait(t_motor);
enricoan 10:4f49e9859535 85 b2 = 0;d2 = 1;wait(t_motor);
enricoan 10:4f49e9859535 86 a2 = 0;d2 = 0;
enricoan 10:4f49e9859535 87 }
enricoan 10:4f49e9859535 88 if (z_mais == 0){
enricoan 10:4f49e9859535 89 a3 = 1;b3 = 1;wait(t_motor);
enricoan 10:4f49e9859535 90 a3 = 0;c3 = 1;wait(t_motor);
enricoan 10:4f49e9859535 91 b3 = 0;d3 = 1;wait(t_motor);
enricoan 10:4f49e9859535 92 c3 = 0;a3 = 1;wait(t_motor);
enricoan 10:4f49e9859535 93 d3 = 0;a3 = 0;
enricoan 10:4f49e9859535 94 }
enricoan 10:4f49e9859535 95 if (z_menos == 0){
enricoan 10:4f49e9859535 96 d3 = 1;c3 = 1;wait(t_motor);
enricoan 10:4f49e9859535 97 d3 = 0;b3 = 1;wait(t_motor);
enricoan 10:4f49e9859535 98 c3 = 0;a3 = 1;wait(t_motor);
enricoan 10:4f49e9859535 99 b3 = 0;d3 = 1;wait(t_motor);
enricoan 10:4f49e9859535 100 a3 = 0;d3 = 0;
enricoan 10:4f49e9859535 101 }
enricoan 10:4f49e9859535 102 }
enricoan 10:4f49e9859535 103 }