Projeto Mecatrônico
/
ProjetoMecatronico
testando
Diff: main_PM.cpp
- Revision:
- 66:ebc2a21cd514
- Parent:
- 63:32ba7c4becfc
- Child:
- 73:6c5f3c9cc90e
--- a/main_PM.cpp Mon Jun 01 20:03:17 2020 +0000 +++ b/main_PM.cpp Tue Jun 02 13:53:13 2020 +0000 @@ -29,8 +29,8 @@ InterruptIn interrupcao(PB_11); //pinos do rele, saida digital para acionar o rele se necessario, dada uma entrada no pino da emergencia -DigitalOut rele1(PC_5); -DigitalOut rele2(PB_9); +DigitalOut rele1(PC_5, 1); +DigitalOut rele2(PB_9, 1); //botoes para movimentacao eixo a eixo DigitalIn x_mais(PA_0); @@ -88,20 +88,28 @@ void mov_x_mais() {for(int i = 0; i < 4; i++){eixox = hor[i];wait(t_motor);coord_x += (5.625*5/32)/360;}} void mov_y_mais() {for(int i = 0; i < 4; i++){eixoy = hor[i];wait(t_motor);coord_y += (5.625*5/32)/360;est_y = 0;}} void mov_z_mais() {for(int i = 0; i < 4; i++){eixoz = hor[i];wait(t_motor);coord_z += (5.625*5/32)/360;est_z = 0;}} - -//Funcao de interrupcao +int emergency = 0; +//Funcao de emergencia por interrupcao void emergencia(){TextLCD lcd(D4, D5, D6, D7, D8, D9); rele1 = 0; + rele2 = 0; eixox = 0b0000; eixoy = 0b0000; eixoz = 0b0000; lcd.cls(); - lcd.printf("Botao Emergencia"); - lcd.locate(0,1); - lcd.printf(" acionado "); + lcd.printf("EMERGENCIA ACIONADA"); + lcd.locate(2,2); + lcd.printf("Operacao pausada"); + emergency = 1;} + +void solta_emergencia(){TextLCD lcd(D4, D5, D6, D7, D8, D9); + rele1 = 1; + rele2 = 1; + emergency = 0; + lcd.cls(); lcd.locate(0,2); - lcd.printf("Operacao pausada"); - wait(5);} + lcd.printf("Pressione 0 para"); + lcd.locate(5,1); lcd.printf("continuar");} //Funcao de zeramento @@ -135,12 +143,11 @@ float pos_x_solta=0; float pos_y_solta=0; - //main int main() { - - interrupcao.fall(&emergencia); + interrupcao.fall(&emergencia); + interrupcao.rise(&solta_emergencia); int volume; int volume_solta; int diametro_solta; @@ -164,7 +171,9 @@ lcd.locate(0,2); lcd.printf("sistema"); lcd.locate(0,3); - lcd.printf("A - proximo"); + lcd.printf("A - proximo"); + printf("\n%i", emergency); + if(emergency == 0){ while(1) { tecla = pega_tecla(); printf("\n%s",status_tela); @@ -878,5 +887,6 @@ funcao_acomp(); status_tela="acompanhamento"; }; + } } }