funzionamento un motore
Dependencies: X_NUCLEO_IHM01A1 mbed Motori_ultrasuoni_prova
Fork of HelloWorld_IHM01A1_2Motors by
Diff: main.cpp
- Revision:
- 31:1a64d3e86c03
- Parent:
- 30:f3d8978c68d4
--- a/main.cpp Mon Mar 13 16:07:17 2017 +0000 +++ b/main.cpp Thu Mar 16 13:55:26 2017 +0000 @@ -1,44 +1,6 @@ -/** - ****************************************************************************** - * @file main.cpp - * @author Davide Aliprandi, STMicroelectronics - * @version V1.0.0 - * @date October 14th, 2015 - * @brief mbed test application for the STMicroelectronics X-NUCLEO-IHM01A1 - * Motor Control Expansion Board: control of 2 motors. - ****************************************************************************** - * @attention - * - * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2> - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. Neither the name of STMicroelectronics nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************** - */ +#include "hcsr04.h" -/* Includes ------------------------------------------------------------------*/ - /* mbed specific header files. */ #include "mbed.h" @@ -49,8 +11,6 @@ #include "L6474.h" -/* Definitions ---------------------------------------------------------------*/ - /* Number of steps. */ #define STEPS 3200 @@ -66,35 +26,54 @@ #define SPEED_2 1200 -/* Variables -----------------------------------------------------------------*/ /* Motor Control Component. */ + L6474 *motor1; -L6474 *motor2; +HCSR04 sensor(PB_8, PB_9); +int distanza; -/* Main ----------------------------------------------------------------------*/ +/* Initializing SPI bus. */ + DevSPI dev_spi(D11, D12, D13); + DigitalOut led(D11); + /* Initializing Motor Control Components. */ -int main() -{ - /*----- Initialization. -----*/ - - /* Initializing SPI bus. */ - DevSPI dev_spi(D11, D12, D13); + - /* Initializing Motor Control Components. */ - motor1 = new L6474(D2, D8, D7, D9, D10, dev_spi); - motor2 = new L6474(D2, D8, D4, D3, D10, dev_spi); - if (motor1->init() != COMPONENT_OK) { - exit(EXIT_FAILURE); - } - if (motor2->init() != COMPONENT_OK) { - exit(EXIT_FAILURE); - } + void thread(void const *args) { - while(true){ - /* Moving N steps in the forward direction. */ - motor1->run(StepperMotor::FWD); - //motor2->run(StepperMotor::FWD); - } -} +while (1) + { + + // Avvia un impulso della durata di 10us sul pin di trigger + sensor.start(); + + // Aspetta prima della prossima lettura + wait_ms(100); + + // Stampa sulla seriale la misura della distanza in cm + distanza = sensor.get_dist_cm(); + } + if(distanza > 10) + motor1->run(StepperMotor::FWD); + else + led = 0; + } + + + + + + + + + + + + + + + + +