Seguimi su Youtubue
Iscriviti
Se desideri, puoi effettuare un'iscrizione gratuita al forum per entrare nella nostra community.
Ricerca Avanzata
Pubblicità Google AdSense
Answers
Se necessiti di aiuto, clicca il pulsante "Cerco Aiuto" (disponibile anche per i non iscritti).
Ultimi argomenti
» libreria LiquidCrystal.h e LiquidCrystal_ I2C
Da papat Lun Ago 21, 2017 7:09 am

» libreria LiquidCrystal.h e LiquidCrystal_ I2C
Da papat Dom Ago 06, 2017 12:02 pm

» TOP 5 oggetti che perdi spesso
Da Poderak Gio Lug 13, 2017 4:26 pm

» arduino e ethernet shield tutorial 3
Da mariogori Ven Lug 07, 2017 8:52 pm

» Arduino comandato da cellulare
Da Poderak Ven Lug 07, 2017 6:17 pm

» Simulatore di navi: Traino nave in avaria - European Ship Simulator
Da Poderak Sab Lug 01, 2017 1:16 pm

» arduino e ethernet shield tutorial 3
Da Poderak Gio Giu 29, 2017 8:05 pm

» Farming Simulator 2018 logo
Da Poderak Ven Giu 23, 2017 3:29 pm

» Codice display a 7 segmenti - Arduino
Da fulvio Ven Giu 02, 2017 10:00 am

I postatori più attivi del mese
papat
 
Poderak
 


Come controllare motori DC con L298N e Arduino

Vedere l'argomento precedente Vedere l'argomento seguente Andare in basso

Come controllare motori DC con L298N e Arduino

Messaggio Da Poderak 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:

  • Chassis Edilights: http://amzn.to/2kpw3N1
  • Driver L298N: http://amzn.to/2kSkix6
  • Arduino Uno: http://amzn.to/2lP49Hk
  • Cavi maschio-femmina: http://amzn.to/2lQcREj
  • Batterie 18650: http://amzn.to/2l7Idr2
  • Caricatore 18650: http://amzn.to/2l7VoIu
  • Contenitore 18650: http://amzn.to/2l7ZccI
avatar
Poderak
♔ Amministratore

Messaggi Messaggi : 4197
Crediti Crediti : 11727
Reputazione Reputazione : 186
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 18
Località Località : Brescia

Vedi il profilo dell'utente http://www.wikiinfo.net

Tornare in alto Andare in basso

Vedere l'argomento precedente Vedere l'argomento seguente Tornare in alto


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