Bologna

Dependencies:   TCS3200 X_NUCLEO_IHM12A1 mbed-rtos mbed

Fork of SchedamotoriIHM12A1_copy by Duckiebot

main.cpp

Committer:
gandhi1
Date:
2017-02-24
Revision:
6:b5d006c1eb59
Parent:
5:21a4085d2057
Child:
7:e14976007f66

File content as of revision 6:b5d006c1eb59:

#include "mbed.h"
#include "stspin240_250_class.h"
Serial pc(USBTX, USBRX);
 Stspin240_250_Init_t initDeviceParameters =
 {
  20000, 
  20000, 
  20000, 
  50,    
  TRUE   
 };
STSPIN240_250 *motor;

int main()
{
  uint8_t demoStep = 0;
  #if (defined TARGET_NUCLEO_F030R8)||(defined TARGET_NUCLEO_F334R8)
  motor = new STSPIN240_250(D2, D9, D6, D7, D5, D4, A2);
  #elif (defined TARGET_NUCLEO_L152RE)
  motor = new STSPIN240_250(D2, D9, D6, D7, D5, D4, A3);
  #else
  motor = new STSPIN240_250(D2, D9, D6, D7, D5, D4, A0);
  #endif
  if (motor->Init(&initDeviceParameters) != COMPONENT_OK) exit(EXIT_FAILURE);
  motor->SetDualFullBridgeConfig(1);
  motor->SetRefPwmFreq(0, 15000);
  motor->SetRefPwmDc(0, 60);  
  motor->SetBridgeInputPwmFreq(0,10000); 
  motor->SetBridgeInputPwmFreq(1,10000); 
  
  while (1)
  {
    switch (demoStep)
    {  
        case 0:
            /* Va avanti */
            motor->SetSpeed(0,50);
            motor->SetSpeed(1,50); 
            motor->Run(0, BDCMotor::FWD);
            motor->Run(1, BDCMotor::FWD);
            break;
        case 1:
            /* Va a destra */
            motor->SetSpeed(0,47);
            motor->SetSpeed(1,23); 
            motor->Run(0, BDCMotor::FWD);
            motor->Run(1, BDCMotor::FWD);

            break;
         case 2:
            /* Va indietro */
            motor->SetSpeed(0,50);
            motor->SetSpeed(1,50); 
            motor->Run(0, BDCMotor::BWD);
            motor->Run(1, BDCMotor::BWD);
            break;
        case 3:
            /* Va a sinistra */
            motor->SetSpeed(0,25);
            motor->SetSpeed(1,30); 
            motor->Run(0, BDCMotor::FWD);
            motor->Run(1, BDCMotor::FWD);
            break;  
    } 
    wait_ms(4500);
    demoStep++;
    if (demoStep > 3)
    {
      demoStep = 0;
    }
  } 
}