2 Motores + Joystick
Dependencies: X_NUCLEO_IHM01A1 TextLCD
Fork of HelloWorld_IHM01A1_2Motors_mbedOS by
Revision 49:66637586f163, committed 2018-05-17
- Comitter:
- digo1234
- Date:
- Thu May 17 18:31:29 2018 +0000
- Parent:
- 48:76ccfa408a33
- Commit message:
- motor integrado com ihm
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Thu May 17 17:22:35 2018 +0000
+++ b/main.cpp Thu May 17 18:31:29 2018 +0000
@@ -67,7 +67,10 @@
#define SPEED_1 1300
#define SPEED_2 1300
-
+//(digo)
+/*#include "TextLCD.h"
+#define apertado 0
+#define solto 1/*
/* Variables -----------------------------------------------------------------*/
//InterruptIn sensorX1(PC_9);
@@ -85,6 +88,11 @@
DigitalIn salva_pos (PC_1);
DigitalIn vai_cami (PC_0);
+//(digo)
+/*DigitalIn button1(D5);
+DigitalIn button2(D4);
+DigitalIn button3(D6);
+DigitalIn button4(D7);*/
@@ -160,6 +168,13 @@
L6474 *motor2;
L6474 *motor3;
+//digo: TextLCD_I2C lcd(&i2c_lcd, 0x7E, TextLCD::LCD20x4); // I2C exp: I2C bus, PCF8574 Slaveaddress, LCD Type
+
+/*int menu=0;
+float x=0.0, y=0.0, z=0.0;(não vai)
+int inicial= 1;
+int pisca = 0;*/
+
/* Main ----------------------------------------------------------------------*/
/*
@@ -330,7 +345,70 @@
exit(EXIT_FAILURE);
}
-
+//(digo)
+ /*
+ lcd.setBacklight(TextLCD::LightOn);
+ lcd.setCursor(TextLCD::CurOff_BlkOff);
+ while (inicial==1)
+ {
+ lcd.setCursor(TextLCD::CurOff_BlkOff);
+ lcd.setAddress(0,0);
+ lcd.printf("INICIANDO PROGRAMA!");
+ if(pisca==0)
+ {
+ lcd.setAddress(0,2);
+ lcd.printf("Aguarde***");
+ pisca=1;
+ wait(0.2);
+ }
+ if(pisca==1)
+ {
+ lcd.setAddress(0,2);
+ lcd.printf("Aguarde.**");
+ pisca=2;
+ wait(0.2);
+ }
+ if(pisca==2)
+ {
+ lcd.setAddress(0,2);
+ lcd.printf("Aguarde..*");
+ pisca=3;
+ wait(0.2);
+ }
+ if(pisca==3)
+ {
+ lcd.setAddress(0,2);
+ lcd.printf("Aguarde...");
+ pisca=0;
+ wait(0.2);
+ }
+ //printf("dentro do menurodando programa\r\n");
+ wait(5);
+ inicial=0;
+ }
+ lcd.cls(); */
+
+//(digo)
+/* while(inicial==0){
+
+ if (menu<0){
+ menu=0;
+ printf("menu %d \r\n",menu);
+ }
+
+ while ((menu==0)&& (button1==solto) && (button2==solto) && (button3==solto) && (button4==solto)){
+ 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(button1==apertado)
+ {menu=1;}
+ if(button2==apertado)
+ {menu=7;}
+ }
+ lcd.cls();*/
@@ -440,8 +518,263 @@
}
+/*while ((menu==1)&& (button1==solto) && (button2==solto) && (button3==solto) && (button4==solto)){
+ //lcd.setAddress(0,0);
+ //lcd.printf("SELECIONE O PONTO 1"); // Ponto 1
+ lcd.setCursor(TextLCD::CurOff_BlkOff);
+ lcd.setAddress(0,0);
+ lcd.printf("1-SALVAR PONTO 1");
+ lcd.setAddress(0,1);
+ lcd.printf("2-VOLTAR");
+ lcd.setAddress(0,2);
+ lcd.printf("3-CANCELAR ");
+ lcd.setAddress(11,1);
+ lcd.printf("X:%.2f",x);
+ lcd.setAddress(11,2);
+ lcd.printf("Y:%.2f",y);
+ lcd.setAddress(11,3);
+ lcd.printf("Z:%.2f",z);
+ // previous1 = 1;
+ printf("dentro do menu1\r\n");
+ if(button1==apertado)
+ {
+ listaX[index] = motor2->get_position();
+ listaY[index] = motor1->get_position();
+ listaZ[index] = motor3->get_position();
+ for (int j=0; j<=index; j++) {
+ printf("posX%d %d: \r\n", j, listaX[j]);
+ printf("posY%d %d: \r\n", j, listaY[j]);
+ printf("posZ%d %d: \r\n", j, listaZ[j]);
+ }
+ index = index+1;
+ //wait_ms(DELAY_2);
+ menu=2;
+ }
+ if(button2==apertado)
+ {menu=0;}
+ if(button3==apertado)
+ {menu=0;}
+ }
+ lcd.cls();
+
+ while ((menu==2)&& (button1==solto) && (button2==solto) && (button3==solto) && (button4==solto)){
+ //lcd.setAddress(0,0);
+ //lcd.printf("SELECIONE O PONTO 2"); // Ponto 2
+ //x=x+0.42;
+ //y=y+0.17;
+ //z=z+0.21;
+ lcd.setCursor(TextLCD::CurOff_BlkOff);
+ lcd.setAddress(0,0);
+ lcd.printf("1-SALVAR PONTO 2");
+ lcd.setAddress(0,1);
+ lcd.printf("2-VOLTAR");
+ lcd.setAddress(0,2);
+ lcd.printf("3-CANCELAR");
+ lcd.setAddress(0,3);
+ lcd.printf("4-CONCLUIR");
+ lcd.setAddress(11,1);
+ lcd.printf("X:%.2f",x);
+ lcd.setAddress(11,2);
+ lcd.printf("Y:%.2f",y);
+ lcd.setAddress(11,3);
+ lcd.printf("Z:%.2f",z);
+ // previous1 = 1;
+ printf("dentro do menu2\r\n");
+ if(button1==apertado)
+ {
+ listaX[index] = motor2->get_position();
+ listaY[index] = motor1->get_position();
+ listaZ[index] = motor3->get_position();
+ for (int j=0; j<=index; j++) {
+ printf("posX%d %d: \r\n", j, listaX[j]);
+ printf("posY%d %d: \r\n", j, listaY[j]);
+ printf("posZ%d %d: \r\n", j, listaZ[j]);
+ }
+ index = index+1;
+ //wait_ms(DELAY_2);
+ menu=3;}
+ if(button2==apertado)
+ {menu=1;}
+ if(button3==apertado)
+ {menu=0;}
+ if(button4==apertado)
+ {menu=6;}
+ }
+ lcd.cls();
+
+ while ((menu==3)&& (button1==solto) && (button2==solto) && (button3==solto) && (button4==solto)){
+ // lcd.setAddress(0,0);
+ //lcd.printf("SELECIONE O PONTO 3"); // Ponto 3
+ //x=x+0.42;
+ //y=y+0.17;
+ //z=z+0.21;
+ lcd.setCursor(TextLCD::CurOff_BlkOff);
+ lcd.setAddress(0,0);
+ lcd.printf("1-SALVAR PONTO 3");
+ lcd.setAddress(0,1);
+ lcd.printf("2-VOLTAR");
+ lcd.setAddress(0,2);
+ lcd.printf("3-CANCELAR");
+ lcd.setAddress(0,3);
+ lcd.printf("4-CONCLUIR");
+ lcd.setAddress(11,1);
+ lcd.printf("X:%.2f",x);
+ lcd.setAddress(11,2);
+ lcd.printf("Y:%.2f",y);
+ lcd.setAddress(11,3);
+ lcd.printf("Z:%.2f",z);
+ //previous1 = 1;
+ printf("dentro do menu3\r\n");
+ if(button1==apertado)
+ {
+ listaX[index] = motor2->get_position();
+ listaY[index] = motor1->get_position();
+ listaZ[index] = motor3->get_position();
+ for (int j=0; j<=index; j++) {
+ printf("posX%d %d: \r\n", j, listaX[j]);
+ printf("posY%d %d: \r\n", j, listaY[j]);
+ printf("posZ%d %d: \r\n", j, listaZ[j]);
+ }
+ index = index+1;
+ //wait_ms(DELAY_2);
+ menu=4;}
+ if(button2==apertado)
+ {menu=2;}
+ if(button3==apertado)
+ {menu=0;}
+ if(button4==apertado)
+ {menu=6;}
+ }
+ lcd.cls();
+
+ while ((menu==4)&& (button1==solto) && (button2==solto) && (button3==solto) && (button4==solto)){
+ // lcd.setAddress(0,0);
+ //lcd.printf("SELECIONE O PONTO 3"); // Ponto 3
+ lcd.setCursor(TextLCD::CurOff_BlkOff);
+ lcd.setAddress(0,0);
+ lcd.printf("1-SALVAR PONTO 4");
+ lcd.setAddress(0,1);
+ lcd.printf("2-VOLTAR");
+ lcd.setAddress(0,2);
+ lcd.printf("3-CANCELAR");
+ lcd.setAddress(0,3);
+ lcd.printf("4-CONCLUIR");
+ lcd.setAddress(11,1);
+ lcd.printf("X:%.2f",x);
+ lcd.setAddress(11,2);
+ lcd.printf("Y:%.2f",y);
+ lcd.setAddress(11,3);
+ lcd.printf("Z:%.2f",z);
+ //previous1 = 1;
+ printf("dentro do menu3\r\n");
+ if(button1==apertado)
+ {
+ listaX[index] = motor2->get_position();
+ listaY[index] = motor1->get_position();
+ listaZ[index] = motor3->get_position();
+ for (int j=0; j<=index; j++) {
+ printf("posX%d %d: \r\n", j, listaX[j]);
+ printf("posY%d %d: \r\n", j, listaY[j]);
+ printf("posZ%d %d: \r\n", j, listaZ[j]);
+ }
+ index = index+1;
+ //wait_ms(DELAY_2);
+ menu=5;}
+ if(button2==apertado)
+ {menu=3;}
+ if(button3==apertado)
+ {menu=0;}
+ if(button4==apertado)
+ {menu=6;}
+ }
+ lcd.cls();
+ while ((menu==5)&& (button1==solto) && (button2==solto) && (button3==solto) && (button4==solto)){
+ // lcd.setAddress(0,0);
+ //lcd.printf("SELECIONE O PONTO 3"); // Ponto 3
+ lcd.setCursor(TextLCD::CurOff_BlkOff);
+ lcd.setAddress(0,0);
+ lcd.printf("1-SALVAR PONTO 5");
+ lcd.setAddress(0,1);
+ lcd.printf("2-VOLTAR");
+ lcd.setAddress(0,2);
+ lcd.printf("3-CANCELAR");
+ lcd.setAddress(0,3);
+ lcd.printf("4-CONCLUIR");
+ lcd.setAddress(11,1);
+ lcd.printf("X:%.2f",x);
+ lcd.setAddress(11,2);
+ lcd.printf("Y:%.2f",y);
+ lcd.setAddress(11,3);
+ lcd.printf("Z:%.2f",z);
+ //previous1 = 1;
+ printf("dentro do menu3\r\n");
+ if(button1==apertado)
+ {
+ listaX[index] = motor2->get_position();
+ listaY[index] = motor1->get_position();
+ listaZ[index] = motor3->get_position();
+ for (int j=0; j<=index; j++) {
+ printf("posX%d %d: \r\n", j, listaX[j]);
+ printf("posY%d %d: \r\n", j, listaY[j]);
+ printf("posZ%d %d: \r\n", j, listaZ[j]);
+ }
+ index = index+1;
+ //wait_ms(DELAY_2);
+ menu=6;}
+ if(button2==apertado)
+ {menu=4;}
+ if(button3==apertado)
+ {menu=0;}
+ if(button4==apertado)
+ {menu=6;}
+ }
+ lcd.cls();
+ while ((menu==6)&& (button1==solto) && (button2==solto) && (button3==solto) && (button4==solto)){
+ lcd.setCursor(TextLCD::CurOff_BlkOff);
+ lcd.setAddress(3,0);
+ lcd.printf("PONTOS SALVOS!");
+ lcd.setAddress(0,2);
+ lcd.printf("1-VOLTAR AO MENU");
+ lcd.setAddress(0,3);
+ lcd.printf("2-RESSALVAR PONTOS");
+ printf("dentro do menu4\r\n");
+ if(button1==apertado)
+ {menu=0;}
+ if(button2==apertado)
+ {menu=1;}
+ }
+ lcd.cls();
+
+ while ((menu==7)&& (button1==solto) && (button2==solto) && (button3==solto) && (button4==solto)){
+ if((x>0 or y>0 or z>0 or x<0 or y<0 or z<0))
+ {
+ vai_caminho_desejado(listaX, listaY, listaZ, index);
+ printf("Vai caminho pressionado %d \r\n", index);
+ wait_ms(DELAY_2);
+ lcd.setCursor(TextLCD::CurOff_BlkOff);
+ lcd.setAddress(0,0);
+ lcd.printf("RODANDO PROGRAMA!");
+ lcd.setAddress(0,2);
+ lcd.printf("Aguarde...");
+ printf("dentro do menu rodando programa\r\n");
+ wait(5);
+ menu=0;
+ }
+ if(x==0 or y==0 or z==0 or x==0 or y==0 or z==0)
+ {
+ lcd.setCursor(TextLCD::CurOff_BlkOff);
+ lcd.setAddress(0,0);
+ lcd.printf("NAO TEM PONTO SALVOS");
+ lcd.setAddress(0,2);
+ wait(3);
+ menu=0;
+ }
+ }
+ lcd.cls();*/
+
+
- if (salva_pos) {
+ if (salva_pos) {
listaX[index] = motor2->get_position();
listaY[index] = motor1->get_position();
listaZ[index] = motor3->get_position();
@@ -455,7 +788,7 @@
}
- if (vai_cami) {
+ if (vai_cami) {
vai_caminho_desejado(listaX, listaY, listaZ, index);
printf("Vai caminho pressionado %d \r\n", index);
wait_ms(DELAY_2);
