Motors CC amb l'escut L298. Control tot/res.
Fes el muntatge següent.

Et calen:
- Portapiles 9V
- Piles.
- Targeta L298
- Targeta Wemos D1 R32
- 4 Motors CC
- Cables
El funcionament del L298 és facil. Mentre estiga habilitat EnableA i EnableB ja sigua per que tens una clema en cada pin, o per que amb la targeta actives Enable A i B, els dos motors A i B estan habilitats, les entrades IN1 i IN2 fan anar el motor Horariament o Anti Horariament respectivament. Si desactiven les dues el motor A para. IN4 i IN3 fan anar el motor Horariament o Anti Horariament respectivament. Si desactiven les dues el motor B para.
Fixat que les funcions (procediments) que hem creat ens permeten cridar un conjunt de linies de forma repetida cada vegada que invoquem la funció.
void nom_funció ( ) {
ordres de la funció
}
Després dins de la funció principal void loop ( ) { } inovoquem a aquestes funcions que hem definit. escrivint el seu nom () en una línia de programa.
// Funció Motors A Horaris
void Motor_A_Horari() {
Serial.println("Escut L298 motor A Horari");
Serial.println("Activem IN1=26");
digitalWrite(26, HIGH);
Serial.println("Desactivem IN2=25");
digitalWrite(25, LOW);
}
// Funció Motors B Horaris
void Motor_B_Horari() {
Serial.println("Escut L298 motor B Horari");
Serial.println("Activem IN4=18");
digitalWrite(18, HIGH);
Serial.println("Desactivem IN3=19");
digitalWrite(19, LOW);
}
// Funció Motors A antiHoraris
void Motor_A_antiHorari() {
Serial.println("Escut L298 motor A antiHorari");
Serial.println("Desactivem IN1=26 ");
digitalWrite(26, LOW);
Serial.println("Activem IN2=25");
digitalWrite(25, HIGH);
}
// Funció Motors B antiHoraris
void Motor_B_antiHorari() {
Serial.println("Escut L298 motor B Horari");
Serial.println("Desactivem IN4=18");
digitalWrite(18, LOW);
Serial.println("Activem IN3=19");
digitalWrite(19, HIGH);
}
// Funció Atura motors A
void Atura_Motor_A() {
Serial.println("Escut L298 motor A aturat");
Serial.println("Desactivem IN1=26");
digitalWrite(26, LOW);
Serial.println("Desactivem IN2=25");
digitalWrite(25, LOW);
}
// Funció Atura motors B
void Atura_Motor_B() {
Serial.println("Escut L298 motor B aturat");
Serial.println("Desactivem IN4=18");
digitalWrite(18, LOW);
Serial.println("Desactivem IN3=19");
digitalWrite(19, LOW);
}
void setup() {
pinMode(25, OUTPUT);// pins exida dels motors connectats en A
pinMode(26, OUTPUT);// pins exida dels motors connectats en A
pinMode(18, OUTPUT);// pins exida dels motors connectats en B
pinMode(19, OUTPUT);// pins exida dels motors connectats en B
Serial.begin(115200);
}
void loop() {
Motor_A_Horari();
delay(5000);
Motor_A_antiHorari();
delay(5000);
Atura_Motor_A();
delay(5000);
Motor_B_Horari();
delay(5000);
Motor_B_antiHorari();
delay(5000);
Atura_Motor_B();
} // Final programa
Llicenciat sota la Llicència Creative Commons Reconeixement CompartirIgual 4.0