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