Ponte H para controle de sentido de Motor DC

Com esse exemplo, você aprenderá como montar uma ponte H para controlar o sentido de rotação de um motor DC, juntamente como um regulador de tensão de 5V para alimentar o motor DC, entregando a corrente necessária motor.

Dificuldade:

Montagem:

Programação:


Material Utilizado:

Arduino Uno

Cabo USB A para B

Protoboard 830

Resistor 1kΩ

Bateria 9V

Capacitor Eletrolítico 10uF

Capacitor Cerâmico 100nF

Regulador de Tensão 7805

Transistor BC 337

Transistor BC 327

LED Vermelho

Motor DC

Alguns Jumpers

A Montagem

 

O Sketch

#define HOR 2 //Define HOR como 2
#define ANT 3 //Define ANT como 3

void
setup()
{      

pinMode(HOR, OUTPUT); //Configura o pino 2 como saída   
pinMode
(ANT, OUTPUT); //Configura o pino 3 como saída   
digitalWrite
(HOR, LOW); //Coloca o pino 2 em nível lógico baixo   
digitalWrite
(ANT, LOW); //Coloca o pino 3 em nível lógico baixo   

}

void
loop()
{   

move_horario(); //Executa a função para girar o motor no sentido horário

delay
(2000); //Gira por 2 segundos

parar(); //Para o motor

delay
(1000); //Aguarda 1 segundo

move_anti_horario(); //Executa a função para girar o motor no sentido anti-horário

delay
(2000); //Gira por 2 segundos

parar(); //Para o motor

delay
(1000); //Aguarda 1 segundo

}

void move_horario() //Função para girar o motor no sentido horário
{      

digitalWrite
(ANT, LOW); //Coloca o pino 3 em nível lógico baixo   
digitalWrite
(HOR, HIGH); //Coloca o pino 2 em nível lógico alto   

}

void
move_anti_horario() //Função para girar o motor no sentido anti-horário
{      

digitalWrite
(HOR, LOW); //Coloca o pino 2 em nível lógico baixo   
digitalWrite(ANT, HIGH); //Coloca o pino 3 em nível lógico baixo   

}

void
parar() //Função para parar o motor
{      

digitalWrite
(HOR, LOW); //Coloca o pino 2 em nível lógico baixo   
digitalWrite
(ANT, LOW); //Coloca o pino 3 em nível lógico baixo   

}