Click image to zoom.
BTE-ARD-L298N-1.jpg,BTE-ARD-L298N-2.jpg,BTE-ARD-L298N-3.jpg,BTE-ARD-L298N-4.jpg,BTE-ARD-L298N-5.jpg
Shown images are ilustrative only. Please refer to manufacturer's website and/or available datasheet for accurate information.
Click on image to zoom.
/* * The circuit: * L298N INPUT1 to digital pin 13 * L298N INPUT2 to digital pin 12 * L298N INPUT3 to digital pin 11 * L298N INPUT4 to digital pin 8 * L298N ENABLE_A to digital pin 10 (PWM) * L298N ENABLE_B to digital pin 9 (PWM) */ // motor A int dir1PinA = 13; int dir2PinA = 12; int speedPinA = 10; // motor B 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; } }