2 Motores + Joystick
Dependencies: X_NUCLEO_IHM01A1 TextLCD
Fork of HelloWorld_IHM01A1_2Motors_mbedOS by
Revision 55:b2ad60cc21a1, committed 2018-05-22
- Comitter:
- leogrotti
- Date:
- Tue May 22 17:17:58 2018 +0000
- Parent:
- 54:175e4f3682e8
- Child:
- 56:5aedf3b4e184
- Commit message:
- ihm integrada com codigo
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Tue May 22 14:08:26 2018 +0000
+++ b/main.cpp Tue May 22 17:17:58 2018 +0000
@@ -163,9 +163,7 @@
/* Main ----------------------------------------------------------------------*/
-
-
-
+// função de correção de passos
int correcao_passo (int passo){
int passo_verdade;
if (passo != 0){
@@ -174,10 +172,9 @@
else {
passo_verdade = 0;
}
- return (passo_verdade);
-
+ return (passo_verdade);
}
-
+// função salva posição
void salva_posicao(){
listaX[index] = motor2->get_position();
listaY[index] = motor1->get_position();
@@ -190,11 +187,7 @@
index = index+1;
wait_ms(DELAY_2);
}
-
-void volta_menu() {
-
- }
-
+// função percorre caminho
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();
@@ -313,10 +306,10 @@
exit(EXIT_FAILURE);
}
-
+//ligando lcd
lcd.setBacklight(TextLCD::LightOn);
lcd.setCursor(TextLCD::CurOff_BlkOff);
-
+//abrindo menu inicial lcd
lcd.cls();
lcd.setAddress(3,0);
lcd.printf("MENU PRINCIPAL");
@@ -455,17 +448,31 @@
}
}
}
-
+// vai caminho de um programa ja salvo depois do menu inicial
if (botao2 && menu==0) {
+ lcd.cls();
+ lcd.setAddress(0,0);
+ lcd.printf("AGUARDE...");
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);
+ 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;
+
}
-
+// vai para tela de salvar pontos
if (botao1 && menu == 0){
+ for (int i=0; i<11;i++){
+ listaX[i] = 0;
+ listaY[i] = 0;
+ listaZ[i] = 0;
+ }
+ index = 0;
menu = 1;
lcd.cls();
lcd.setCursor(TextLCD::CurOff_BlkOff);
@@ -480,7 +487,7 @@
wait_ms(DELAY_2);
}
-
+// salva pontos
if (botao1 && menu>0 && menu <99){
lcd.cls();
salva_posicao();
@@ -495,9 +502,13 @@
lcd.printf("4-CONCLUIR ");
menu=menu+1;
}
-
+// descarta último ponto
if (botao2 && menu>1 && menu <99){
- lcd.cls();
+ lcd.cls();
+ listaX[index] = 0;
+ listaY[index] = 0;
+ listaZ[index] = 0;
+ index = index - 1;
menu=menu-1;
lcd.setCursor(TextLCD::CurOff_BlkOff);
lcd.setAddress(0,0);
@@ -509,6 +520,7 @@
lcd.setAddress(0,3);
lcd.printf("4-CONCLUIR ");
}
+// cancelar operação (ainda pode voltar atras)
if (botao3 && menu>0){
lcd.cls();
lcd.setAddress(2,0);
@@ -523,6 +535,7 @@
lcd.printf("2-NAO");
menu=100;
}
+// volta da tela de salvar pontos1 para o menu principal
if (botao2 && menu==1){
lcd.cls();
menu=0;
@@ -533,8 +546,14 @@
lcd.setAddress(0,3);
lcd.printf("2-INICIAR PROGRAMA");
}
-
+// cancela a operação em definitivo e vai para o menu principal
if (botao1 && menu==100){
+ for (int i=0; i<11;i++){
+ listaX[i] = 0;
+ listaY[i] = 0;
+ listaZ[i] = 0;
+ }
+ index = 0;
lcd.cls();
lcd.setAddress(3,0);
lcd.printf("MENU PRINCIPAL");
@@ -544,6 +563,7 @@
lcd.printf("2-INICIAR PROGRAMA");
menu=0;
}
+// desiste de cancelar a operação e volta a tela de salvar pontos
if (botao2 && menu==100){
lcd.cls();
menu=index;
@@ -557,6 +577,7 @@
lcd.setAddress(0,3);
lcd.printf("4-CONCLUIR ");
}
+// vai para tela de salvar ponto de retirada
if (botao4 && menu>0){
lcd.cls();
lcd.setAddress(0,0);
@@ -566,7 +587,8 @@
lcd.setAddress(0,3);
lcd.printf("2-VOLTAR A SALVAR");
menu=200;
- }
+ }
+// salva ponto de retirada
if (botao1 && menu==200){
lcd.cls();
lcd.setAddress(0,0);
@@ -575,15 +597,40 @@
lcd.printf("DE RETIRADA");
lcd.setAddress(0,4);
lcd.printf("1-SALVAR PONTO");
-
menu= 201;
}
+// volta a salvar pontos
+ if (botao2 && menu==200){
+ 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 ");
+ }
+
+// executa o programa e volta para tela inicial
if (botao1 && menu==201){
salva_posicao();
lcd.cls();
lcd.setAddress(0,0);
lcd.printf("AGUARDE...");
- (vai_caminho_desejado(listaX, listaY, listaZ, index);
+ vai_caminho_desejado(listaX, listaY, listaZ, index);
+ /*while (vai_caminho_desejado(listaX, listaY, listaZ, index)){
+ lcd.setAddress(0,0);
+ lcd.printf("AGUARDE ");
+ lcd.setAddress(0,0);
+ lcd.printf("AGUARDE. ");
+ lcd.setAddress(0,0);
+ lcd.printf("AGUARDE.. ");
+ lcd.setAddress(0,0);
+ lcd.printf("AGUARDE...");
+ }*/
lcd.cls();
lcd.setAddress(3,0);
lcd.printf("MENU PRINCIPAL");
