Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed HC_SR04_Ultrasonic_Library
RobotControl.cpp
- Committer:
- QingshuZhang
- Date:
- 2019-03-14
- Revision:
- 0:aed6099bd419
File content as of revision 0:aed6099bd419:
#include "RobotControl_H.h" #include <mbed.h> RobotControl::RobotControl(PinName pin1, PinName pin2, PinName pin3):m_motorEnable(pin1),m_motorBw(pin2),m_motorFw(pin3){ /*class constructor : initializes the motors with forward enable and speed of 0.3 */ //m_dir = true; //m_speed = 0.2; m_motorBw.period_ms(1); m_motorFw.period_ms(1); SetDirection(1); SetSpeed(0.2); } void RobotControl::SetDirection(bool dir){ /*set direction of one of the sides depending on pwmSelect direction : 1 go backwards ,0 go forward*/ m_motorBw.write(0); m_motorFw.write(0); wait(0.001); if(!dir){ m_motorEnable = false; m_pwmPtr = &m_motorFw; }else{ m_motorEnable = true; m_pwmPtr = &m_motorBw; } m_prevDir = dir; } void RobotControl::SetSpeed(float speed){ /*set speed on the pwm which is point by m_pwmPtr (set by SetDirection) speed : the speed given to the motor, ranges from 0 to 1*/ if(speed<=0) m_pwmPtr->write(0); else if(speed>=1.0)m_pwmPtr->write(1.0); else m_pwmPtr->write(speed); }