Fes el muntatge:
A continuació fes el següent programa amb Blockly@rduino:
Aquest escut fa anar H el motor A amb l'entrada IN2 activada, i aH amb l'entrada IN1 activada. El motor B el fa anar H amb l'entrada IN4 activada i el fa anar aH amb l'entrada IN3 activada. El PWM quan activa el pin ENA (Enable A) controla la velocitat amb que gira el motor A variant entre 0 i 255 a màxima velocitat. El PWM quan activa el pin ENB (Enable B) controla la velocitat amb que gira el motor B variant entre 0 i 255 a màxima velocitat.
El programa equivalent per l'Arduino IDE és aquest:
// Motor A Horari PWM
void Motor_A_Horari_PWM() {
Serial.println("Escut L298 motor A Horari");
Serial.println("Activem IN1=6 ");
digitalWrite(6, HIGH);
Serial.println("Desactivem IN2=7");
digitalWrite(7, LOW);
Serial.println("ENA=11 PWM varia entre 0 i 255");
analogWrite(11, 128);
}
// Motor B Horari PWM
void Motor_B_Horari_PWM() {
Serial.println("Escut L298 motor B Horari");
Serial.println("Activem IN4=4 ");
digitalWrite(4, HIGH);
Serial.println("Desactivem IN3=5");
digitalWrite(5, LOW);
Serial.println("ENB=10 PWM varia entre 0 i 255");
analogWrite(10, 128);
}
// Motor A antiHorari PWM
void Motor_A_antiHorari_PWM() {
Serial.println("Escut L298 motor A antiHorari");
Serial.println("Desactivem IN1=6 ");
digitalWrite(6, LOW);
Serial.println("Activem IN2=7");
digitalWrite(7, HIGH);
Serial.println("ENA=11 PWM varia entre 0 i 255");
analogWrite(11, 128);
}
// Motor B antiHorari PWM
void Motor_B_antiHorari_PWM() {
Serial.println("Escut L298 motor B Horari");
Serial.println("Desactivem IN4=4 ");
digitalWrite(4, LOW);
Serial.println("Activem IN3=5");
digitalWrite(5, HIGH);
Serial.println("ENB=10 PWM varia entre 0 i 255");
analogWrite(10, 128);
}
// Atura motor A
void Atura_Motor_A() {
Serial.println("Escut L298 motor A aturat");
Serial.println("Desactivem IN1=6 ");
digitalWrite(6, LOW);
Serial.println("Desactivem IN2=7");
digitalWrite(7, LOW);
}
// Atura motor B
void Atura_Motor_B() {
Serial.println("Escut L298 motor B aturat");
Serial.println("Desactivem IN4=4 ");
digitalWrite(4, LOW);
Serial.println("Desactivem IN3=5");
digitalWrite(5, LOW);
}
void setup() {
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(11, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(10, OUTPUT);
Serial.begin(9600);
}
void loop() {
Motor_A_Horari_PWM();
delay(5000);
Motor_A_antiHorari_PWM();
delay(5000);
Atura_Motor_A();
delay(5000);
Motor_B_Horari_PWM();
delay(5000);
Motor_B_antiHorari_PWM();
delay(5000);
Atura_Motor_B();
}
Fes la pràctica de motors PWM 1.