Ecco un esempio di codice Arduino per controllare un motore tramite un ponte-H con il driver L293D:
// Dichiarazione dei pin del ponte-H L293D
const int pinA = 2; // Pin per il controllo direzione motore A
const int pinB = 3; // Pin per il controllo direzione motore B
const int pinENA = 9; // Pin per il controllo velocità motore A
const int pinENB = 10; // Pin per il controllo velocità motore B
void setup() {
// Imposta i pin come output
pinMode(pinA, OUTPUT);
pinMode(pinB, OUTPUT);
pinMode(pinENA, OUTPUT);
pinMode(pinENB, OUTPUT);
}
void loop() {
// Esegui il motore A in avanti
digitalWrite(pinA, HIGH);
digitalWrite(pinB, LOW);
// Imposta la velocità del motore A
analogWrite(pinENA, 200); // Regola il valore da 0 a 255
// Esegui il motore B in avanti
digitalWrite(pinB, HIGH);
digitalWrite(pinA, LOW);
// Imposta la velocità del motore B
analogWrite(pinENB, 200); // Regola il valore da 0 a 255
delay(2000); // Attendi 2 secondi
// Arresta entrambi i motori
digitalWrite(pinA, LOW);
digitalWrite(pinB, LOW);
delay(2000); // Attendi 2 secondi
// Esegui il motore A all'indietro
digitalWrite(pinA, LOW);
digitalWrite(pinB, HIGH);
// Imposta la velocità del motore A
analogWrite(pinENA, 200); // Regola il valore da 0 a 255
// Esegui il motore B all'indietro
digitalWrite(pinB, LOW);
digitalWrite(pinA, HIGH);
// Imposta la velocità del motore B
analogWrite(pinENB, 200); // Regola il valore da 0 a 255
delay(2000); // Attendi 2 secondi
// Arresta entrambi i motori
digitalWrite(pinA, LOW);
digitalWrite(pinB, LOW);
delay(2000); // Attendi 2 secondi
}
Assicurati di collegare correttamente i pin del ponte-H L293D ai pin del tuo Arduino. Puoi regolare la velocità dei motori modificando il valore passato alla funzione ‘analogWrite
‘ (da 0 a 255). Questo esempio fa eseguire i motori in avanti per 2 secondi, poi li ferma per 2 secondi, e infine li fa eseguire all’indietro per 2 secondi. Puoi personalizzare il codice in base alle tue esigenze specifiche.