![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
Bologna
Dependencies: TCS3200 X_NUCLEO_IHM12A1 mbed-rtos mbed
Fork of SchedamotoriIHM12A1_copy by
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; } } }