new file: .gitignore new file: .vscode/extensions.json new file: ErsterTest.code-workspace new file: include/README new file: lib/AnalogFiveButtons/AnalogFiveButtons.cpp new file: lib/AnalogFiveButtons/AnalogFiveButtons.h new file: lib/Imotor/Imotor.cpp new file: lib/Imotor/Imotor.h new file: lib/L298n/L298n.cpp new file: lib/L298n/L298n.h new file: lib/README new file: lib/fahrt/fahrt.cpp new file: lib/fahrt/fahrt.h new file: lib/gleis/gleis.cpp new file: lib/gleis/gleis.h new file: lib/gleisabschnitt/gleisabschnitt.cpp new file: lib/gleisabschnitt/gleisabschnitt.h new file: lib/locomotive/locomotive.cpp new file: lib/locomotive/locomotive.h new file: lib/motor/dfquad.h new file: lib/motor/motor.cpp new file: lib/motor/motor.h new file: lib/weiche/weiche.cpp new file: lib/weiche/weiche.h new file: platformio.ini new file: src/main.cpp new file: test/README
48 lines
954 B
C++
48 lines
954 B
C++
#include "Motor.h"
|
|
#include "Arduino.h"
|
|
|
|
Motor::Motor(int pinPwm, int pinDir, int dirForward)
|
|
{
|
|
_pinPwm = pinPwm;
|
|
_pinDir = pinDir;
|
|
_dirForward = dirForward;
|
|
if (dirForward==LOW)
|
|
{
|
|
_dirForward=LOW;
|
|
_dirBackward=HIGH;
|
|
}
|
|
else
|
|
{
|
|
_dirForward=HIGH;
|
|
_dirBackward=LOW;
|
|
}
|
|
_currentDir = motorForward;
|
|
|
|
pinMode(_pinPwm,OUTPUT);
|
|
pinMode(_pinDir,OUTPUT);
|
|
}
|
|
|
|
void Motor::setSpeed(int speed)
|
|
{
|
|
setDirection (_currentDir);
|
|
analogWrite(_pinPwm, speed);
|
|
}
|
|
|
|
void Motor::setDirection(MotorDirection dir)
|
|
{
|
|
_currentDir=dir;
|
|
if (_currentDir == motorForward)
|
|
{
|
|
digitalWrite(_pinDir, _dirForward);
|
|
}
|
|
else
|
|
{
|
|
digitalWrite(_pinDir, _dirBackward);
|
|
}
|
|
}
|
|
|
|
void Motor::Stop()
|
|
{
|
|
setSpeed (0);
|
|
}
|