testando

Dependencies:   mbed TextLCD2

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);