Add an example script for working with the L298N shield
This commit is contained in:
parent
38cf4b10d7
commit
ed93b6da39
|
@ -0,0 +1,59 @@
|
|||
//https://forum.arduino.cc/t/l298n-motor-shield/52627/3
|
||||
|
||||
//L298N Motor Shield V3 flamingoeda
|
||||
|
||||
// motor A
|
||||
int dir1PinA = 13;
|
||||
int dir2PinA = 12;
|
||||
int speedPinA = 10;
|
||||
// motor B
|
||||
// motor A
|
||||
int dir1PinB = 11;
|
||||
int dir2PinB = 8;
|
||||
|
||||
int speedPinB = 9;
|
||||
unsigned long time;
|
||||
int speed;
|
||||
int dir;
|
||||
|
||||
void setup() {
|
||||
pinMode(dir1PinA, OUTPUT);
|
||||
pinMode(dir2PinA, OUTPUT);
|
||||
pinMode(speedPinA, OUTPUT);
|
||||
pinMode(dir1PinB, OUTPUT);
|
||||
pinMode(dir2PinB, OUTPUT);
|
||||
|
||||
pinMode(speedPinB, OUTPUT);
|
||||
time = millis();
|
||||
speed = 0;
|
||||
dir = 1;
|
||||
}
|
||||
|
||||
void loop() {
|
||||
analogWrite(speedPinA, speed);
|
||||
analogWrite(speedPinB, 255 - speed);
|
||||
// set direction
|
||||
if (1 == dir) {
|
||||
digitalWrite(dir1PinA, LOW);
|
||||
digitalWrite(dir2PinA, HIGH);
|
||||
digitalWrite(dir1PinB, HIGH);
|
||||
digitalWrite(dir2PinB, LOW);
|
||||
} else {
|
||||
digitalWrite(dir1PinA, HIGH);
|
||||
digitalWrite(dir2PinA, LOW);
|
||||
digitalWrite(dir1PinB, LOW);
|
||||
digitalWrite(dir2PinB, HIGH);
|
||||
}
|
||||
if (millis() - time > 5000) {
|
||||
time = millis();
|
||||
speed += 20;
|
||||
if (speed > 255) {
|
||||
speed = 0;
|
||||
}
|
||||
if (1 == dir) {
|
||||
dir = 0;
|
||||
} else {
|
||||
dir =1;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue