2 Motores + Joystick

Dependencies:   X_NUCLEO_IHM01A1 TextLCD

Fork of HelloWorld_IHM01A1_2Motors_mbedOS by ST

Files at this revision

API Documentation at this revision

Comitter:
leogrotti
Date:
Tue May 22 14:08:26 2018 +0000
Parent:
53:7c56b06e694e
Child:
55:b2ad60cc21a1
Commit message:
introduzindo IHM aos motores

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Mon May 21 19:44:03 2018 +0000
+++ b/main.cpp	Tue May 22 14:08:26 2018 +0000
@@ -103,10 +103,10 @@
 AnalogIn eixo_ZU(A0);
 AnalogIn eixo_ZD(A1);
 
-DigitalIn salva_pos (PC_1); //1
-DigitalIn vai_cami  (PC_0); //2
-DigitalIn cancelar  (PC_10); //3
-DigitalIn concluir  (PC_12); //4
+DigitalIn botao1 (PC_1); //1
+DigitalIn botao2  (PC_0); //2
+DigitalIn botao3  (PC_10); //3
+DigitalIn botao4  (PC_12); //4
 
 float x;
 float y;
@@ -191,6 +191,10 @@
         wait_ms(DELAY_2);
     }
 
+void volta_menu() {
+    
+    }
+
  void vai_caminho_desejado (int listapontosX[10], int listapontosY[10], int listapontosZ[10], int index_local) {
     int PYatual = motor1->get_position();
     int PXatual = motor2->get_position();
@@ -320,7 +324,7 @@
             lcd.printf("1-SALVAR PONTOS");
             lcd.setAddress(0,3);
             lcd.printf("2-INICIAR PROGRAMA");
-            
+ 
     while(true) {
         count = count +1;
         // Leitura analógica
@@ -328,8 +332,8 @@
         w = eixo_Y.read();
         zu = eixo_ZU.read();
         zd = eixo_ZD.read();
-        sp = salva_pos.read();
-        vc = vai_cami.read();
+        sp = botao1.read();
+        vc = botao2.read();
         if (count == 50) {
             printf("seguranca fim de curso =%i \r\n\n", segu_fim_curso);
             //printf("w =%f \r\n\n", w);
@@ -451,13 +455,17 @@
                         }
                     }
                }
-            
-    if (vai_cami) {
+     
+    if (botao2 && menu==0) {
         vai_caminho_desejado(listaX, listaY, listaZ, index);
         printf("Vai caminho pressionado %d \r\n", index);
         wait_ms(DELAY_2);
+        lcd.cls();
+        lcd.setCursor(TextLCD::CurOff_BlkOff);
+        lcd.setAddress(0,0);
         }
-    if (salva_pos && menu == 0){
+        
+    if (botao1 && menu == 0){
         menu = 1;
         lcd.cls();
         lcd.setCursor(TextLCD::CurOff_BlkOff);
@@ -467,11 +475,13 @@
         lcd.printf("2-VOLTAR");
         lcd.setAddress(0,2);
         lcd.printf("3-CANCELAR ");
+        lcd.setAddress(0,3);
+        lcd.printf("4-CONCLUIR ");
         wait_ms(DELAY_2);
         }
  
        
-    if (salva_pos && menu>0){
+    if (botao1 && menu>0 && menu <99){
             lcd.cls();
             salva_posicao();
             lcd.setCursor(TextLCD::CurOff_BlkOff);
@@ -481,9 +491,112 @@
             lcd.printf("2-VOLTAR");
             lcd.setAddress(0,2);
             lcd.printf("3-CANCELAR ");
+            lcd.setAddress(0,3);
+            lcd.printf("4-CONCLUIR ");
             menu=menu+1;
         }
         
+    if (botao2 && menu>1 && menu <99){
+            lcd.cls();
+            menu=menu-1;
+            lcd.setCursor(TextLCD::CurOff_BlkOff);
+            lcd.setAddress(0,0);
+            lcd.printf("1-SALVAR PONTO %i",menu);
+            lcd.setAddress(0,1);
+            lcd.printf("2-VOLTAR");
+            lcd.setAddress(0,2);
+            lcd.printf("3-CANCELAR ");
+            lcd.setAddress(0,3);
+            lcd.printf("4-CONCLUIR ");
+        }
+    if (botao3 && menu>0){
+            lcd.cls();
+            lcd.setAddress(2,0);
+            lcd.printf("TEM CERTEZA QUE");
+            lcd.setAddress(2,1);
+            lcd.printf("DESEJA CANCELAR?");
+            lcd.setAddress(1,2);
+            lcd.printf("PONTOS IRAO APAGAR");
+            lcd.setAddress(1,4);
+            lcd.printf("1-SIM");
+            lcd.setAddress(10,4);
+            lcd.printf("2-NAO");
+            menu=100;
+        }
+    if (botao2 && menu==1){
+            lcd.cls();
+            menu=0;
+            lcd.setAddress(3,0);
+            lcd.printf("MENU PRINCIPAL");
+            lcd.setAddress(0,2);
+            lcd.printf("1-SALVAR PONTOS");
+            lcd.setAddress(0,3);
+            lcd.printf("2-INICIAR PROGRAMA");  
+            }
+ 
+    if (botao1 && menu==100){
+            lcd.cls();
+            lcd.setAddress(3,0);
+            lcd.printf("MENU PRINCIPAL");
+            lcd.setAddress(0,2);
+            lcd.printf("1-SALVAR PONTOS");
+            lcd.setAddress(0,3);
+            lcd.printf("2-INICIAR PROGRAMA"); 
+            menu=0;
+            } 
+    if (botao2 && menu==100){
+            lcd.cls();
+            menu=index;
+            lcd.setCursor(TextLCD::CurOff_BlkOff);
+            lcd.setAddress(0,0);
+            lcd.printf("1-SALVAR PONTO %i",menu+1);
+            lcd.setAddress(0,1);
+            lcd.printf("2-VOLTAR");
+            lcd.setAddress(0,2);
+            lcd.printf("3-CANCELAR ");
+            lcd.setAddress(0,3);
+            lcd.printf("4-CONCLUIR ");
+            } 
+    if (botao4 && menu>0){
+            lcd.cls();
+            lcd.setAddress(0,0);
+            lcd.printf("PONTOS SALVOS");
+            lcd.setAddress(0,2);
+            lcd.printf("1-INICIAR PROGRAMA");
+            lcd.setAddress(0,3);
+            lcd.printf("2-VOLTAR A SALVAR");
+            menu=200;
+        }            
+    if (botao1 && menu==200){
+            lcd.cls();
+            lcd.setAddress(0,0);
+            lcd.printf("SALVE SEU PONTO");
+            lcd.setAddress(0,1);
+            lcd.printf("DE RETIRADA");
+            lcd.setAddress(0,4);
+            lcd.printf("1-SALVAR PONTO");
+
+            menu= 201;
+        }    
+    if (botao1 && menu==201){
+        salva_posicao();
+        lcd.cls();
+        lcd.setAddress(0,0);
+        lcd.printf("AGUARDE...");
+       (vai_caminho_desejado(listaX, listaY, listaZ, index);    
+        lcd.cls();
+        lcd.setAddress(3,0);
+        lcd.printf("MENU PRINCIPAL");
+        lcd.setAddress(0,2);
+        lcd.printf("1-SALVAR PONTOS");
+        lcd.setAddress(0,3);
+        lcd.printf("2-INICIAR PROGRAMA"); 
+        menu=0;
+        
+        }        
+            
+            
+        }
         }   
 
-}
+