segunda-feira, 28 de novembro de 2016

Projeto 13: Robôt com Controlador L298N


Neste projeto vou mostrar como utilizar o Arduino com o Controlador L298N e recorrendo ao chassis Arexx ARX-CH09.



As componentes utilizadas:

 Arduino Mega + Controlador L298N + Chassis AREXX ARX-CH09

Fios (jumpers wires) + Pilha 9V + Suporte para pilha 9V

Também utilizei: 1 Breadboard pequena + 1 bloco de 2 terminais + 1 Switch pequeno



O esquema de ligações do Controladot L298N:


Como vamos recorrer a uma alimentação de 9V temos de manter o jumper "ATIVA 5v".


A ligação entre as entradas do controlador e o Arduino será a seguinte:

IN1 - D4  (utilizei um fio laranja)
IN2 - D5  (utilizei um fio branco)
IN3 - D6  (utilizei um fio verde)
IN4 - D7  (utilizei um fio azul)




As fases do Projeto:

1ª - Ligação dos motores ao Controlador L298N:



Observação: Para este projeto, aproveitei o chassis ARX-CH09 no qual já tinha montado os motores e a alimentação (3V). Para o presente projeto vou ignorar esta alimentação!


2ª - Ligação dos switch ao bloco de 2 terminais:


Um dos fios vermelhos deste terminal é ligado ao controlador na saída 6-35V (ver esquema anterior). O outro fio vermelho vai diretamente á pilha de 9V. Assim, de uma forma fácil é ligado/desligado o robôt!


3ª - Ligação da alimentação do Arduino:

As ligações efetuadas foram as seguintes:

- GND do controlador liguei 2 fios: GND no Arduino e Ligação à pilha 9V.
- 5V do controlador liguei 1 fio para os 5V do Arduino.



 

A preocupação residiu na funcionalidade e não na estética!


O código do Arduino:

// ------------------------------------
// Projeto realizado por: Jacinto Palma
// Novembro de 2016
// ------------------------------------

//definição dos pinos de entrada do Controlador
//e respetivas ligações no Arduino
int IN1 = 4;
int IN2 = 5;
int IN3 = 6;
int IN4 = 7;
 
void setup()
{
  //Definição dos pinos como saida
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);
}
 
void loop()
{
 //Gira o Motor A no sentido horario
 digitalWrite(IN1, HIGH);
 digitalWrite(IN2, LOW);
 delay(2500);

 //Para o motor A
 digitalWrite(IN1, HIGH);
 digitalWrite(IN2, HIGH);
 delay(500);

 //Gira o Motor B no sentido horario
 digitalWrite(IN3, HIGH);
 digitalWrite(IN4, LOW);
 delay(2500);

 //Para o motor B
 digitalWrite(IN3, HIGH);
 digitalWrite(IN4, HIGH);
 delay(500);

 //Gira o Motor A no sentido anti-horario
 digitalWrite(IN1, LOW);
 digitalWrite(IN2, HIGH);
 delay(2500);

 //Para o motor A
 digitalWrite(IN1, HIGH);
 digitalWrite(IN2, HIGH);
 delay(500);

 //Gira o Motor B no sentido anti-horario
 digitalWrite(IN3, LOW);
 digitalWrite(IN4, HIGH);
 delay(2500);

 //Para o motor B
 digitalWrite(IN3, HIGH);
 digitalWrite(IN4, HIGH);
 delay(500);
}


O vídeo:




Espero que gostem!

Sem comentários:

Enviar um comentário