funzionamento un motore
Dependencies: X_NUCLEO_IHM01A1 mbed Motori_ultrasuoni_prova
Fork of HelloWorld_IHM01A1_2Motors by
Diff: main.cpp
- Revision:
- 30:f3d8978c68d4
- Parent:
- 29:526970c1d998
- Child:
- 31:1a64d3e86c03
--- a/main.cpp Fri Mar 10 14:23:19 2017 +0000 +++ b/main.cpp Mon Mar 13 16:07:17 2017 +0000 @@ -91,214 +91,10 @@ if (motor2->init() != COMPONENT_OK) { exit(EXIT_FAILURE); } - - /* Printing to the console. */ - printf("Motor Control Application Example for 2 Motors\r\n\n"); - - - /*----- Moving. -----*/ - - /* Printing to the console. */ - printf("--> Moving forward: M1 %d steps, M2 %d steps.\r\n", STEPS >> 1, STEPS); - - /* Moving N steps in the forward direction. */ - motor1->move(StepperMotor::FWD, STEPS >> 1); - motor2->move(StepperMotor::FWD, STEPS); - - /* Waiting while the motor is active. */ - motor1->wait_while_active(); - motor2->wait_while_active(); - - /* Getting current position. */ - int position1 = motor1->get_position(); - int position2 = motor2->get_position(); - /* Printing to the console. */ - printf(" Position: M1 %d, M2 %d.\r\n", position1, position2); - - /* Waiting 2 seconds. */ - wait_ms(DELAY_1); - - - /*----- Moving. -----*/ - - /* Printing to the console. */ - printf("--> Moving backward: M1 %d steps, M2 %d steps.\r\n", STEPS >> 1, STEPS); - - - /* Moving N steps in the backward direction. */ - motor1->move(StepperMotor::BWD, STEPS >> 1); - motor2->move(StepperMotor::BWD, STEPS); - - /* Waiting while the motor is active. */ - motor1->wait_while_active(); - motor2->wait_while_active(); - - /* Getting current position. */ - position1 = motor1->get_position(); - position2 = motor2->get_position(); - - /* Printing to the console. */ - printf(" Position: M1 %d, M2 %d.\r\n", position1, position2); - printf("--> Setting Home.\r\n"); - - /* Setting the current position to be the home position. */ - motor1->set_home(); - motor2->set_home(); - - /* Waiting 2 seconds. */ - wait_ms(DELAY_1); - - - /*----- Going to a specified position. -----*/ - - /* Printing to the console. */ - printf("--> Going to position: M1 %d, M2 %d.\r\n", STEPS, STEPS >> 1); - - /* Requesting to go to a specified position. */ - motor1->go_to(STEPS); - motor2->go_to(STEPS >> 1); - - /* Waiting while the motor is active. */ - motor1->wait_while_active(); - motor2->wait_while_active(); - - /* Getting current position. */ - position1 = motor1->get_position(); - position2 = motor2->get_position(); - - /* Printing to the console. */ - printf(" Position: M1 %d, M2 %d.\r\n", position1, position2); - - /* Waiting 2 seconds. */ - wait_ms(DELAY_1); - - - /*----- Going Home. -----*/ - - /* Printing to the console. */ - printf("--> Going Home.\r\n"); - - /* Requesting to go to home. */ - motor1->go_home(); - motor2->go_home(); - - /* Waiting while the motor is active. */ - motor1->wait_while_active(); - motor2->wait_while_active(); - - /* Getting current position. */ - position1 = motor1->get_position(); - position2 = motor2->get_position(); - - /* Printing to the console. */ - printf(" Position: M1 %d, M2 %d.\r\n", position1, position2); - - /* Waiting 2 seconds. */ - wait_ms(DELAY_1); - - - /*----- Running. -----*/ - - /* Printing to the console. */ - printf("--> M1 running backward, M2 running forward.\r\n"); - - /* Requesting to run backward. */ - motor1->run(StepperMotor::BWD); - motor2->run(StepperMotor::FWD); - - /* Waiting until delay has expired. */ - wait_ms(DELAY_2); - - /* Getting current speed. */ - int speed1 = motor1->get_speed(); - int speed2 = motor2->get_speed(); - - /* Printing to the console. */ - printf(" Speed: M1 %d, M2 %d.\r\n", speed1, speed2); - - /*----- Increasing the speed while running. -----*/ - - /* Printing to the console. */ - printf("--> Increasing the speed while running.\r\n"); - - /* Increasing the speed. */ - motor1->set_max_speed(SPEED_1); - motor2->set_max_speed(SPEED_1); - - /* Waiting until delay has expired. */ - wait_ms(DELAY_2); - - /* Getting current speed. */ - speed1 = motor1->get_speed(); - speed2 = motor2->get_speed(); - - /* Printing to the console. */ - printf(" Speed: M1 %d, M2 %d.\r\n", speed1, speed2); - - - /*----- Decreasing the speed while running. -----*/ - - /* Printing to the console. */ - printf("--> Decreasing the speed while running.\r\n"); - - /* Decreasing the speed. */ - motor1->set_max_speed(SPEED_2); - motor2->set_max_speed(SPEED_2); - - /* Waiting until delay has expired. */ - wait_ms(DELAY_3); - - /* Getting current speed. */ - speed1 = motor1->get_speed(); - speed2 = motor2->get_speed(); - - /* Printing to the console. */ - printf(" Speed: M1 %d, M2 %d.\r\n", speed1, speed2); - - - /*----- Requiring hard-stop while running. -----*/ - - /* Printing to the console. */ - printf("--> Requiring hard-stop while running.\r\n"); - - /* Requesting to immediatly stop. */ - motor1->hard_stop(); - motor2->hard_stop(); - - /* Waiting while the motor is active. */ - motor1->wait_while_active(); - motor2->wait_while_active(); - - /* Waiting 2 seconds. */ - wait_ms(DELAY_1); - - - /*----- Infinite Loop. -----*/ - - /* Printing to the console. */ - printf("--> Infinite Loop...\r\n"); - - /* Setting the current position to be the home position. */ - motor1->set_home(); - motor2->set_home(); - - /* Infinite Loop. */ - while(true) { - /* Requesting to go to a specified position. */ - motor1->go_to(STEPS >> 1); - motor2->go_to(- (STEPS >> 1)); - - /* Waiting while the motor is active. */ - motor1->wait_while_active(); - motor2->wait_while_active(); - - /* Requesting to go to a specified position. */ - motor1->go_to(- (STEPS >> 1)); - motor2->go_to(STEPS >> 1); - - /* Waiting while the motor is active. */ - motor1->wait_while_active(); - motor2->wait_while_active(); + while(true){ + /* Moving N steps in the forward direction. */ + motor1->run(StepperMotor::FWD); + //motor2->run(StepperMotor::FWD); } }