Nesta experiencia iremos variar a velocidade de um motor dc usando PWM (não sabe o que é PWM - clique aqui) . A modulação do PWM será feita por um potenciômetro.
Material necessário:
- Arduíno
- 4 Led's
- 4 resistores 330 OHM
- Potenciômetro 10 kOHM
- Motor DC
Na figura 1 temos a montagem do circuito utilizado na experiencia.
Figura 1. Circuito usado para controlar velocidade do motor atraves do potenciometro. |
int potenciometro = 5;
int vPot = 0;
int vmotor=0;
void setup()
{
pinMode(7,OUTPUT);
pinMode(6,OUTPUT);
pinMode(5,OUTPUT);
pinMode(4,OUTPUT);
pinMode(10, OUTPUT);
Serial.begin(9600);
}
void loop()
{
//Leitura do valor do potenciômetro
vPot = analogRead(potenciometro);
vmotor = map(vPot, 0, 1023, 0, 255); // mapeamento do potenciometro(0 a 1023) para PWM (0 a 255)
analogWrite(10, vmotor); // velocidade do motor em PWM
// Chama função controle_led que irá ligar os led's em função da velocidade do motor.
controle_led();
}
void controle_led()
{
//Rotina para ligar led
if( vPot >=180)
{
digitalWrite(7, HIGH);
if( vPot >=360)
{
digitalWrite(6, HIGH);
if( vPot >=540)
{
digitalWrite(5, HIGH);
if( vPot >=720)
{
digitalWrite(4, HIGH);
}
}
}
}
if( vPot <180)
{
digitalWrite(7, LOW);
}
if( vPot <360)
{
digitalWrite(6, LOW);
}
if( vPot <540)
{
digitalWrite(5, LOW);
}
if( vPot <720)
{
digitalWrite(4, LOW);
}
}
Você poderá verificar a implementação do código/circuito acima clicando na imagem abaixo.
- Entendendo PWM
- O que é a função MAP
- Controle de motor DC
Nenhum comentário:
Postar um comentário