Projeto Mecatrônico
/
ProjetoMecatronico
testando
Diff: main_PM.cpp
- Revision:
- 25:b0db528c1985
- Parent:
- 22:dd336b95db5d
- Child:
- 26:4123b9462158
--- a/main_PM.cpp Tue May 26 12:50:52 2020 +0000 +++ b/main_PM.cpp Tue May 26 15:03:18 2020 +0000 @@ -22,6 +22,13 @@ DigitalIn fdc_y(PC_11); DigitalIn fdc_z(PC_12); +//Iterrupção botão de emergência +InterruptIn emergencia_botao(PC_13); //trocar esse botão para onde está o botão de fato + +//pinos do relé +DigitalOut rele1(); //colocar pino do relé +DigitalOut rele2(); //colocar pino do relé + //botões para movimentação eixo a eixo DigitalIn x_mais(PA_0); DigitalIn x_menos(PA_1); @@ -47,6 +54,7 @@ //funções para as telas da IHM void funcao_inicio(){ + lcd.cls(); lcd.printf("1-Novo programa"); lcd.locate(0,1); lcd.printf("2-Usar programa salvo"); @@ -54,36 +62,40 @@ } void funcao_tela_zera(){ - lcd.printf("Zeramento:"); - lcd.locate(0,1); - lcd.printf("Confira se não há"); - lcd.locate(0,2); - lcd.printf("objetos sobre a mesa"); - lcd.locate(0,3); - lcd.printf("A-Próximo B-Voltar"); + lcd.cls(); + lcd.printf("Zeramento:"); + lcd.locate(0,1); + lcd.printf("Confira se não há"); + lcd.locate(0,2); + lcd.printf("objetos sobre a mesa"); + lcd.locate(0,3); + lcd.printf("A-Próximo B-Voltar"); } void funcao_pega1(){ - lcd.printf("Configuração de pega"); - lcd.locate(0,1); - lcd.printf("1-Forma do pega"); - lcd.locate(0,2); - lcd.printf("2-Volume do pega"); - lcd.locate(0,3); - lcd.printf(" B-Voltar"); + lcd.cls(); + lcd.printf("Configuração de pega"); + lcd.locate(0,1); + lcd.printf("1-Forma do pega"); + lcd.locate(0,2); + lcd.printf("2-Volume do pega"); + lcd.locate(0,3); + lcd.printf(" B-Voltar"); } void funcao_pega2(){ - lcd.printf("Configuração de pega"); - lcd.locate(0,1); - lcd.printf("3-Posição do pega"); - lcd.locate(0,2); - lcd.printf(""); - lcd.locate(0,3); - lcd.printf(" B-Voltar"); + lcd.cls(); + lcd.printf("Configuração de pega"); + lcd.locate(0,1); + lcd.printf("3-Posição do pega"); + lcd.locate(0,2); + lcd.printf(""); + lcd.locate(0,3); + lcd.printf(" B-Voltar"); } void funcao_pega_forma(){ + lcd.cls(); lcd.printf("Forma do pega"); lcd.locate(0,1); lcd.printf("1 - Quadrado"); @@ -94,6 +106,7 @@ } void funcao_pega_volume(){ + lcd.cls(); lcd.printf("Insira o volume"); lcd.locate(0,1); lcd.printf("Em ml:"); @@ -104,6 +117,7 @@ } void funcao_pega_forma_quad(){ + lcd.cls(); lcd.printf("Dimensões do pega"); lcd.locate(0,1); lcd.printf("Comprimento em mm"); @@ -114,6 +128,7 @@ } void funcao_pega_forma_red(){ + lcd.cls(); lcd.printf("Dimensões do pega"); lcd.locate(0,1); lcd.printf("Diamentro em mm"); @@ -123,6 +138,7 @@ lcd.printf("A-Próximo B-Voltar"); } void funcao_pega_pos_x(){ //desativar os botões de Y + lcd.cls(); lcd.printf("Posicione pega em X"); lcd.locate(0,1); lcd.printf("Use botões até chegar"); @@ -133,6 +149,7 @@ } void funcao_pega_pos_y(){ //desativar os botões de X + lcd.cls(); lcd.printf("Posicione pega em Y"); lcd.locate(0,1); lcd.printf("Use botões até chegar"); @@ -143,6 +160,7 @@ } void funcao_solta1(){ + lcd.cls(); lcd.printf("Configuração solta"); lcd.locate(0,1); lcd.printf("1-Dimensão solta"); @@ -153,6 +171,7 @@ } void funcao_solta2(){ + lcd.cls(); lcd.printf("Configuração solta"); lcd.locate(0,1); lcd.printf("3-Posição solta"); @@ -163,6 +182,7 @@ } void funcao_solta_dimensao(){ + lcd.cls(); lcd.printf("Insira o diametro"); lcd.locate(0,1); lcd.printf("de solta, em mm:"); @@ -173,6 +193,7 @@ } void funcao_solta_vol(){ + lcd.cls(); lcd.printf("Determinar volume"); lcd.locate(0,1); lcd.printf("1-Todos mesmo volume"); @@ -183,6 +204,7 @@ } void funcao_solta_vol_igual(){ + lcd.cls(); lcd.printf("Insira o volume"); lcd.locate(0,1); lcd.printf("em ml:"); @@ -193,6 +215,7 @@ } void funcao_solta_vol_cada(){ + lcd.cls(); lcd.printf("Seleção: * * * "); lcd.locate(0,1); lcd.printf("Volume: * * * "); @@ -203,6 +226,7 @@ } void funcao_solta_pos_x(){ //desativar os botões de Y + lcd.cls(); lcd.printf("Posicione pega em X"); lcd.locate(0,1); lcd.printf("Use botões até chegar"); @@ -213,6 +237,7 @@ } void funcao_solta_pos_y(){ //desativar os botões de X + lcd.cls(); lcd.printf("Posicione pega em Y"); lcd.locate(0,1); lcd.printf("Use botões até chegar"); @@ -223,6 +248,7 @@ } void funcao_confirma(){ + lcd.cls(); lcd.printf("Revisão Parametros"); lcd.locate(0,1); lcd.printf("1-Pega:"); @@ -233,6 +259,7 @@ } void funcao_nome_prog(){ + lcd.cls(); lcd.printf("Nome do programa"); lcd.locate(0,1); lcd.printf("Insira um código"); @@ -243,6 +270,7 @@ } void funcao_acomp(){ //colocar os valores adequados na tela + lcd.cls(); lcd.printf("Prog em execução"); lcd.locate(0,1); lcd.printf("Tempo: xx min yy s"); @@ -253,6 +281,7 @@ } void funcao_pausa(){ + lcd.cls(); lcd.printf("Prog pausado"); lcd.locate(0,1); lcd.printf("Progresso: zz%"); @@ -262,7 +291,8 @@ lcd.printf("A-Continuar B-Parar"); } -void funcao_salvo1(){ +void funcao_salvo1(){ + lcd.cls(); lcd.printf("1-xx"); lcd.locate(0,1); lcd.printf("2-yy"); @@ -272,7 +302,8 @@ lcd.printf("A-Próxima B-Anterior"); } - void funcao_salvo2(){ + void funcao_salvo2(){ + lcd.cls(); lcd.printf("4-xx"); lcd.locate(0,1); lcd.printf("5-yy"); @@ -283,6 +314,7 @@ } void funcao_salvo_agree1(){ + lcd.cls(); lcd.printf("Confirmar programa"); lcd.locate(0,1); lcd.printf("1-Posição pega"); @@ -293,6 +325,7 @@ } void funcao_salvo_agree2(){ + lcd.cls(); lcd.printf("Confirmar programa"); lcd.locate(0,1); lcd.printf("3-Volume pega"); @@ -303,6 +336,7 @@ } void funcao_salvo_agree_pos_aviso(){ + lcd.cls(); lcd.printf("A pipeta irá na pega"); lcd.locate(0,1); lcd.printf("Certifique-se que não"); @@ -313,6 +347,7 @@ } void funcao_salvo_agree_pos_certo(){ + lcd.cls(); lcd.printf("Posicão correta?"); lcd.locate(0,1); lcd.printf("1-Sim"); @@ -323,6 +358,7 @@ } void funcao_salvo_agree_solta_aviso(){ + lcd.cls(); lcd.printf("A pipeta irá na solta"); lcd.locate(0,1); lcd.printf("Certifique-se que não"); @@ -333,6 +369,7 @@ } void funcao_salvo_agree_pega_vol(){ + lcd.cls(); lcd.printf("Insira o volume pega"); lcd.locate(0,1); lcd.printf("Em ml:"); @@ -343,6 +380,7 @@ } void funcao_salvo_agree_solta_vol(){ + lcd.cls(); lcd.printf("1-x 2-y 3-z"); lcd.locate(0,1); lcd.printf("4-x 5-y 6-z"); @@ -352,6 +390,26 @@ lcd.printf("A-Confirma B-Voltar"); } +//Função de iterrupção +void emergencia() +{ + while(emergencia_botao == 0){ + rele1 = 0; + eixox = 0b0000; + eixoy = 0b0000; + eixoz = 0b0000; + lcd.cls(); + lcd.printf("Botão Emergência"); + lcd.locate(0,1); + lcd.printf(" acionado "); + lcd.locate(0,2); + lcd.printf("Operação pausada"); + lcd.locate(0,3); + lcd.printf("); + } +} + + int main() { printf("\n%i",est_x); printf("\n%i",est_y);