Neste post vou apresentar um pequeno projeto com o Arduino, a ideia é simples, controlar um motor DC.
O projeto vai incluir um potenciómetro para regular a velocidade do motor.
O circuito é o apresentado a seguir, criado com o fritzing.
O transistor tem 3 pernas: a base, o coletor e o emissor. A base está ligada ao pino digital do Arduino, o coletor é ligado ao motor e o emissor é ligado no neutro. O transistor além de funcionar como interruptor, ligado e desligado o motor, vai funcionar como um acelerador pois quanto maior o valor da base maior a corrente que flui entre o emissor e o coletor.
Antes de definir a velocidade do motor o Arduino lê o valor do potenciómetro, ajusta a escala, no potenciómetro vai de 0 a 1023, para um valor entre 0 e 255 e depois envia esse valor para a porta onde a base do transistor está ligada.
A porta do potenciómetro é analógica o que permite ler valores entre 0 e 1023.
Por outro lado a porta do transistor é digital e a variação da velocidade é conseguida através da técnica PWM - Pulse With Modulation.
Por fim temos de ligar o Arduino à terra da pilha de 9V.
O código fica assim:
Primeiro as constantes e as variáveis
const int potPin=0; //pino onde o potenciometro fica ligado
const int transistorPin=9; //pino onde fica ligado o transistor
int potValue=0; //valor lido do potenciometro
Depois a função setup (é executada uma vez quando o programa arranca)
void setup(){
pinMode(transistorPin,OUTPUT);
Serial.begin(9600);
}
Por fim o ciclo (Repetido eternamente)
void loop(){
potValue=analogRead(potPin)/4;
analogWrite(transistorPin,potValue);
Serial.println(potValue);
}
Além do código que lê os valores do potenciómetro e escreve para a porta do transistor incluí código para debug, enviando os valores para o computador através do cabo USB.
E a magia acontece...
Mas, sim tem um mas, o motor só pode rodar numa direção.
É um projeto simples mas que pode ser reutilizado para energias maiores, dependendo dos valores que o transistor suportar.
Por segurança incluí um diodo para proteger o Arduino de eventuais descargas que o motor possa gerar quando pára.
Projeto para download.
Comentários
Enviar um comentário