Recensisci!
Diventa un recensore per ricevere prodotti gratuiti o scontati!
Iscriviti
Se desideri, puoi effettuare un'iscrizione gratuita al forum per entrare nella nostra community.
Ricerca Avanzata
Pubblicità Adsense
Answers
Se necessiti di aiuto, clicca il pulsante "Cerco Aiuto" (disponibile anche per i non iscritti).
I postatori più attivi del mese
Admin
 

Come controllare motori DC con L298N e Arduino

Andare in basso

Come controllare motori DC con L298N e Arduino

Messaggio Da Admin il Mer Feb 15, 2017 2:14 pm


Il modulo L298N è un componente elettronico che permette di controllare in modo molto semplice due motori DC oppure un motore passo passo con #Arduino. In seguito potete trovare il circuito per poter controllare motori DC:

Lo sketch da caricare tramite l'IDE è il seguente:
Codice:
//motore a
int enA = 10;
int in1 = 9;
int in2 = 8;
//motore b
int in3 = 7;
int in4 = 6;
int enB = 5;

void setup()
{
  //imposta i motori come output
  pinMode(enA, OUTPUT);
  pinMode(enB, OUTPUT);
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
  pinMode(in3, OUTPUT);
  pinMode(in4, OUTPUT);
}

void loop()
{
  // accende il motore a
  digitalWrite(in1, HIGH);
  digitalWrite(in2, LOW);
  // imposta la velocità a 200 (0~255)
  analogWrite(enA, 200);

  // accende il motore b
  digitalWrite(in3, HIGH);
  digitalWrite(in4, LOW);
  // imposta la velocità a 200 (0~255)
  analogWrite(enB, 200);

  delay(2000);

  // cambia la direzione dei motori
  digitalWrite(in1, LOW);
  digitalWrite(in2, HIGH);  
  digitalWrite(in3, LOW);
  digitalWrite(in4, HIGH);

  delay(2000);

  // spegne tutti i motori
  digitalWrite(in1, LOW);
  digitalWrite(in2, LOW);  
  digitalWrite(in3, LOW);
  digitalWrite(in4, LOW);
  delay(1000);

  //riaccende i motori
  digitalWrite(in1, LOW);
  digitalWrite(in2, HIGH);  
  digitalWrite(in3, LOW);
  digitalWrite(in4, HIGH);

  // accelera da zero a 255
  for (int i = 0; i < 256; i++)
  {
    analogWrite(enA, i);
    analogWrite(enB, i);
    delay(20);
  }

  // decelera
  for (int i = 255; i >= 0; --i)
  {
    analogWrite(enA, i);
    analogWrite(enB, i);
    delay(20);
  }

  // spegne tutti i motori
  digitalWrite(in1, LOW);
  digitalWrite(in2, LOW);  
  digitalWrite(in3, LOW);
  digitalWrite(in4, LOW);  

  delay(1000);
}

Trovate tutti questi componenti su Amazon.it:
avatar
Admin
♔ Amministratore

Messaggi Messaggi : 4302
Crediti Crediti : 11990
Reputazione Reputazione : 187
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 19
Località Località : Brescia

Visualizza il profilo dell'utente http://wikiinfo.forumattivo.it

Torna in alto Andare in basso

Torna in alto


 
Permessi di questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum