Initial commit

This commit is contained in:
2023-02-09 11:39:47 +01:00
commit c20ee14d85
3 changed files with 137 additions and 0 deletions
+36
View File
@@ -0,0 +1,36 @@
#pragma once
#include <Arduino.h>
#include "shiftregister.h"
class Motor {
public:
enum Direction : byte{
None,
Left,
Right
};
Motor(ShiftRegister* shiftRegister, uint8_t pwmPin, uint8_t dirPinA, uint8_t dirPinB);
Motor(uint8_t pwmPin, uint8_t dirPinA, uint8_t dirPinB);
void stop();
virtual bool start();
void setDirection(Direction direction) { this->direction = direction; };
void setSpeed(uint8_t speed) { this->speed = speed; }
protected:
Direction direction = Direction::None;
void configureMotor();
private:
ShiftRegister* shiftRegister = nullptr;
uint8_t pwmPin;
uint8_t dirPinA;
uint8_t dirPinB;
uint8_t speed = 0;
};