http://blog.flamingoeda.com/2011/02/18/arduino-l298n (traduction Google)
Il explique tout, bien sûr, ce n'est une bonne traduction mais au moins vous saurez ce que vous devez mettre ...
Deux cas:
- Si vous allez fournir à vos moteurs une alimentation interne (par l'intermédiaire de votre Arduino) vous allez être limitée de 6V à 12V:
Vous définissez la swiches comme suit:
VLO: OFF
VLC: ON
VM: Vin
- Si vous voulez fournir à vos moteurs une alimentation externe (de 12V à 20V), réglez les commutateurs comme suit:
VLO: ON
VLC: OFF
VM: Vex
- Si vous voulez fournir à vos moteurs une alimentation externe (de 24V à 46V), réglez les commutateurs comme suit:
VLO: OFF
VLC: ON
VM: Vex
Sur cet carte, nous utilisons le pin 13 et la broche 12 en tant que direction du moteur A (MA), et la broche 10, comme la vitesse de la MA. Pour moteur B (MB), la broche 11 et la broche 8 que la direction et la broche 9 que la vitesse.
Voici ci-dessous un exemple de code,
// 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;
}
}
}
Edit de Jean-François :
Tant qu'à mettre une traduction Google, autant la mettre directement en français
