Controllare un motore utilizzando il ponte-H L293D

Share

Ecco un esempio di codice Arduino per controllare un motore utilizzando il ponte-H L293D:

// Definizione dei pin di controllo
const int ENA = 9;  // Pin di enable per il motore A
const int IN1 = 8;  // Pin di controllo 1 per il motore A
const int IN2 = 7;  // Pin di controllo 2 per il motore A

void setup() {
  pinMode(ENA, OUTPUT);
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
}

void loop() {
  // Avanti per 2 secondi
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);
  analogWrite(ENA, 255);  // Velocità massima
  delay(2000);

  // Stop per 1 secondo
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, LOW);
  delay(1000);

  // Indietro per 2 secondi
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, HIGH);
  analogWrite(ENA, 255);  // Velocità massima
  delay(2000);

  // Stop per 1 secondo
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, LOW);
  delay(1000);
}

Nell’esempio sopra, ‘ENA‘ è il pin di enable per il motore A, mentre ‘IN1‘ e ‘IN2‘ sono i pin di controllo per il motore A. Assicurati di collegare correttamente i pin del ponte-H L293D ai pin di Arduino specificati nel codice. Puoi modificare i tempi di avanti/indietro e la velocità impostando i valori appropriati nella funzione ‘delay()‘ e ‘analogWrite()‘, rispettivamente.

Nota: Questo è solo un esempio di base per farti iniziare con il controllo di un motore utilizzando il ponte-H L293D. Assicurati di consultare il datasheet del tuo specifico motore e ponte-H per ulteriori dettagli e considerazioni sulle connessioni e la gestione della corrente.