O que é a ponte H escritor do blog? Simples meu caro leitor do blog, a ponte H é um circuito que antigamente , em seus primordios, era composto por 4 transistores que envolviam um motor dc de pequena potencia qualquer. Esses transistores chaveavam o caminho alternando entre vcc e gnd, de moto que com essa façanha era possível um motor ficar alternando de rotação conforme a conveniencia do usuário, através de um simples comando de botões.
Sim, em todo carrinho de brinquedo vai uma ponte h feita *rusticamente* veja o esquema de uma ponte h:
Essa ponte h pode ser feita com transistores npn(bc546) e transistores pnp(bc556). Só que elas são rusticas, hoje em dia existem ponte h mais complexas feitas com ci dedicado, como é o caso do ci L298N que usaremos na etapa 2 desse tutorial.
Então povo esse tutorial é pego do site filipeflop mas no intuito de ser um *pre-tutorial* hahaha, pra juntar tudo e voces entenderem que o produto final é bem bacana.
Primeiro voces terão de ter esse bixão aqui:
E tambem um suporte de pilhas de 6 volts
alem de pilhas é claro O.o
E dois motorzim mequetrefe daqueles de carrinho
Agora começemos a mágica:
Monte o circuito conforme o esquema:
E agora compile este código aqui:
-----------------------
//Programa : Controle 2 motores DC usando Ponte H L298N
//Autor : FILIPEFLOP
//Definicoes pinos Arduino ligados a entrada da Ponte H
int
IN1 = 4;
int
IN2 = 5;
int
IN3 = 6;
int
IN4 = 7;
void
setup()
{
//Define os 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(2000);
//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(2000);
//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(2000);
//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(2000);
//Para o motor B
digitalWrite(IN3, HIGH);
digitalWrite(IN4, HIGH);
delay(500);
}
-------------------
O codigo acima permite que os 2 motores girem alternadamente, enquanto o da esquerda gira, o da direita para e vice-versa.
Se tudo deu certo até agora finalmente poderemos evoluir para a etapa final^^
Nenhum comentário:
Postar um comentário