Projeto Mecatrônico
/
ProjetoMecatronico
testando
main_PM.cpp@13:257302e01c7c, 2020-05-25 (annotated)
- 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?
User | Revision | Line number | New 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 | } |