lunes, 23 de abril de 2012

Control de un ventilador mediante BC547

Bucle On-Off con tiempo


En esta practica nuestro objetivo es controlar un ventilador de PC mediante nuestro amigo Arduino y un transistor BC547, las conexiones serán como se detallan en el siguiente esquema.
El funcionamiento será arrancar el motor durante 2000ms y apagarlo 1000ms, dentro de un mismo bucle.



El pin 9 lo conectaremos a la salida digital de Arduino.


A continuación te detallo el sketch utilizado para su funcionamiento:


          Sketch:



int motorPin = 9;   // definimos el pin 9
void setup()
{
pinMode(motorPin, OUTPUT);   // definimos motorPin como salida
}
void loop()
{
int onTime = 2000;
int offTime = 1000;
digitalWrite(motorPin, HIGH);
delay (onTime);
digitalWrite(motorPin, LOW);
delay (offTime);
}
 

Bucle Aceleración y frenado
Ahora crearemos un bucle en el cual el motor comenzará a acelerar poco a poco, hasta llegar a una velocidad máxima definida y luego frenara poco a poco.(mismo esquema).
Sketch:
int motorPin = 9;
void setup()
{
pinMode(motorPin, OUTPUT);
}
void loop() 
{
int delayTime = 50; 
          for(int i = 0; i < 256; i++)  // definimos hasta el máximo

{
analogWrite(motorPin, i);
delay(delayTime);
}
for(int i = 255; i >= 0; i--)
{
analogWrite(motorPin, i);
delay(delayTime);
}
}
Definiremos 255 ya que la función  analogWrite () toma   valores comprendidos entre 0 y 255 (8 bits).

Aquí vemos nuestro resultado:




No hay comentarios:

Publicar un comentario