Wiki Info
Vuoi reagire a questo messaggio? Crea un account in pochi click o accedi per continuare.
Ricerca Avanzata
Answers
Se necessiti di aiuto, clicca il pulsante "Cerco Aiuto" (disponibile anche per i non iscritti).
Ultimi argomenti attivi
» Comunicazione termine servizio Arduino BT Control
Da Admin Mar Mag 10, 2022 12:55 pm

» Robot aspirapolvere per Alexa: Dreame D9
Da Admin Mar Feb 09, 2021 9:42 am

» Come costruire un robot smart con Arduino
Da Admin Mar Nov 17, 2020 12:15 pm

» TOPPS Trading Cards Match Attax Champsion League/Europa League 2020/21
Da Admin Mar Nov 10, 2020 3:21 pm

» Guida per utilizzare Arduino BT Control v1.2
Da Admin Gio Lug 09, 2020 12:01 pm

» Recensione Umidigi A3 Pro - Smartphone sotto i 100€
Da Admin Gio Apr 04, 2019 12:22 pm

» [Arduino] aiuto programma
Da Glak Mar Mar 12, 2019 9:30 am

» ERRORE NELLA COMPILAZIONE NEXTION
Da papat Mar Feb 26, 2019 7:11 am

» Comandare la Smart TV con Alexa senza broadlink (gratis)
Da Admin Mar Feb 19, 2019 4:31 pm

I postatori più attivi del mese
Nessun utente


Come controllare motori DC con L298N e Arduino

Andare in basso

arduino - Come controllare motori DC con L298N e Arduino Empty Come controllare motori DC con L298N e Arduino

Messaggio Da Admin 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:
arduino - Come controllare motori DC con L298N e Arduino Maxres10

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:
Admin
Admin
♔ Amministratore

Messaggi Messaggi : 4370
Crediti Crediti : 12173
Reputazione Reputazione : 187
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 26

https://wikiinfo.forumattivo.it

Torna in alto Andare in basso

Torna in alto

- Argomenti simili

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