segunda-feira, 18 de julho de 2016

Como controlar um carrinho de controle remoto pelo celular/arduino parte2

Bom povo aqui está eu na parte 2 de nosso pequeno grande complexo tutorial, dessa vez vamos abordar um conceito indédito aqui no meu blog. A ponte H

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: