2 Motores + Joystick
Dependencies: X_NUCLEO_IHM01A1 TextLCD
Fork of HelloWorld_IHM01A1_2Motors_mbedOS by
Revision 51:3f0e4e641054, committed 2018-05-18
- Comitter:
- leogrotti
- Date:
- Fri May 18 17:44:44 2018 +0000
- Parent:
- 50:58a2df31077a
- Child:
- 52:7f80fc02710e
- Commit message:
- bota?o fim de curso - programa funfando
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Fri May 18 15:28:53 2018 +0000
+++ b/main.cpp Fri May 18 17:44:44 2018 +0000
@@ -99,6 +99,7 @@
int Dir_X;
int Dir_Y;
int Dir_Z;
+int segu_fim_curso;
int count;
@@ -283,11 +284,8 @@
zd = eixo_ZD.read();
sp = salva_pos.read();
vc = vai_cami.read();
- if (count == 9999999999999999) {
- printf("zu =%f \r\n\n", zu);
- printf("zd =%f \r\n\n", zd);
- printf("sp =%f \r\n\n", sp);
- printf("vc =%f \r\n\n", vc);
+ if (count == 9999) {
+ printf("segurança fim de curso =%i \r\n\n", segu_fim_curso);
count = 0;
}
@@ -328,26 +326,31 @@
motor1->run(StepperMotor::FWD);
wait_ms(DELAY_1);
Dir_Y = 1;
+ segu_fim_curso = 1;
}
// Movimentando eixo Y bwd
else if(u<0.65 && !fim_curso_Y) {
motor1->run(StepperMotor::BWD);
wait_ms(DELAY_1);
Dir_Y = 0;
+ segu_fim_curso = 1;
}
// parando eixo Y
else {
motor1->hard_stop();
wait_ms(DELAY_1);
- if (fim_curso_Y) {
+ if (fim_curso_Y && segu_fim_curso==1) {
+ printf("Fim de curso Y apertada \r\n");
if (Dir_Y == 1){
motor1->move(StepperMotor::BWD, 1000);
motor1->wait_while_active();
+ segu_fim_curso = 0;
}
if (Dir_Y == 0){
motor1->move(StepperMotor::FWD, 1000);
motor1->wait_while_active();
+ segu_fim_curso = 0;
}
}
}
@@ -359,6 +362,7 @@
motor2->run(StepperMotor::BWD);
wait_ms(DELAY_1);
Dir_X = 1;
+ segu_fim_curso = 1;
}
// Movimentando eixo X Bwd
@@ -366,19 +370,23 @@
motor2->run(StepperMotor::FWD);
wait_ms(DELAY_1);
Dir_X = 0;
+ segu_fim_curso = 1;
}
// parando eixo X
else{
motor2->hard_stop();
wait_ms(DELAY_1);
- if (fim_curso_X) {
+ if (fim_curso_X && segu_fim_curso==1) {
+ printf("Fim de curso X apertada \r\n");
if (Dir_X == 1){
motor2->move(StepperMotor::FWD, 1000);
motor2->wait_while_active();
+ segu_fim_curso = 0;
}
if (Dir_X == 0){
motor2->move(StepperMotor::BWD, 1000);
motor2->wait_while_active();
+ segu_fim_curso = 0;
}
}
}
