-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
ecba04f
commit 5d0c39f
Showing
4 changed files
with
99 additions
and
19 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,18 @@ | ||
#include <Arduino.h> | ||
|
||
#include "TB6612.h" | ||
|
||
class Motor | ||
{ | ||
public: | ||
Motor(uint8_t iPin1, uint8_t iPin2, bool iReversed = false, int iMin = 0, int iMax = 1023); | ||
Motor(uint8_t in1, uint8_t in2, uint8_t pwm, uint8_t offset, uint8_t standBy, int iMin = 0, int iMax = 255); | ||
void forward(int speed); | ||
void forward(int speed, int duration); | ||
void backward(int speed); | ||
void backward(int speed, int duration); | ||
void stop(); | ||
uint8_t pin1; | ||
uint8_t pin2; | ||
int min = 0; | ||
int max = 1023; | ||
bool reversed = false; | ||
int max = 255; | ||
TB6612 motor = TB6612(0, 0, 0, 0, 0); | ||
// bool reversed = false; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
#include "TB6612.h" | ||
#include <Arduino.h> | ||
|
||
TB6612::TB6612(int In1pin, int In2pin, int PWMpin, int offset, int STBYpin) | ||
{ | ||
In1 = In1pin; | ||
In2 = In2pin; | ||
PWM = PWMpin; | ||
Standby = STBYpin; | ||
Offset = offset; | ||
|
||
pinMode(In1, OUTPUT); | ||
pinMode(In2, OUTPUT); | ||
pinMode(PWM, OUTPUT); | ||
pinMode(Standby, OUTPUT); | ||
} | ||
|
||
void TB6612::drive(int speed) | ||
{ | ||
digitalWrite(Standby, HIGH); | ||
speed = speed * Offset; | ||
if (speed >= 0) | ||
fwd(speed); | ||
else | ||
rev(-speed); | ||
} | ||
void TB6612::drive(int speed, int duration) | ||
{ | ||
drive(speed); | ||
delay(duration); | ||
} | ||
|
||
void TB6612::fwd(int speed) | ||
{ | ||
digitalWrite(In1, HIGH); | ||
digitalWrite(In2, LOW); | ||
analogWrite(PWM, speed); | ||
} | ||
|
||
void TB6612::rev(int speed) | ||
{ | ||
digitalWrite(In1, LOW); | ||
digitalWrite(In2, HIGH); | ||
analogWrite(PWM, speed); | ||
} | ||
|
||
void TB6612::brake() | ||
{ | ||
digitalWrite(In1, HIGH); | ||
digitalWrite(In2, HIGH); | ||
analogWrite(PWM, 0); | ||
} | ||
|
||
void TB6612::standby() | ||
{ | ||
digitalWrite(Standby, LOW); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
#include <Arduino.h> | ||
|
||
#define DEFAULTSPEED 255 | ||
|
||
class TB6612 | ||
{ | ||
public: | ||
TB6612(int In1pin, int In2pin, int PWMpin, int offset, int STBYpin); | ||
void drive(int speed); | ||
void drive(int speed, int duration); | ||
void brake(); | ||
void standby(); | ||
private: | ||
int In1, In2, PWM, Offset, Standby; | ||
void fwd(int speed); | ||
void rev(int speed); | ||
}; |