Controlando a Velocidade de um Ventilador com Temperatura (LM35 + PWM)
Hoje vamos automatizar a velocidade de um ventilador de acordo com a temperatura medida pelo sensor LM35. Quanto mais quente, mais rápido o ventilador gira. Usaremos PWM para controlar suavemente o motor DC.
📦 Materiais necessários:
- 1 Sensor LM35
- 1 Motor DC pequeno (ventilador)
- 1 Transistor NPN (TIP120, BD135 ou 2N2222)
- 1 Diodo 1N4007 (proteção do motor)
- 1 Resistor de 1k Ohm (base do transistor)
- Protoboard
- Cabos jumper
- Fonte de 5V ou alimentação externa
- Arduino Uno
📷 Esquema de ligação
- Pino central do LM35 → A0
- Base do transistor → pino 9 do Arduino com resistor de 1k
- Coletor do transistor → polo negativo do motor
- Emissor do transistor → GND
- Polo positivo do motor → 5V
- Diodo em paralelo com o motor (protegendo contra picos)
💻 Código para controle de velocidade térmico
int pinoTemp = A0;
int pinoPWM = 9;
void setup() {
Serial.begin(9600);
pinMode(pinoPWM, OUTPUT);
}
void loop() {
int leitura = analogRead(pinoTemp);
float temperatura = leitura * 0.488;
Serial.print("Temperatura: ");
Serial.println(temperatura);
int velocidade = map(temperatura, 20, 50, 0, 255); // Ajusta entre 20°C e 50°C
velocidade = constrain(velocidade, 0, 255); // Garante valor válido
analogWrite(pinoPWM, velocidade);
delay(500);
}
🧠 Explicação:
O Arduino lê a temperatura via LM35 e converte para °C. Usamos map() para transformar essa temperatura em valor PWM (0 a 255), controlando assim a velocidade do motor via transistor.
💡 Dica:
Você pode ajustar os limites de temperatura na função map() para adaptar ao ambiente desejado.
🚀 No próximo conteúdo
Vamos aprender a usar um **sensor de distância ultrassônico (HC-SR04)** para acionar um LED ou buzzer quando algo se aproxima!
🌀 Continue com o Eletrocondutor para projetos cada vez mais inteligentes com Arduino!
Comentários
Postar um comentário
Faça seu comentário referente a este assunto