En este proyecto vamos a mover un motor de corriente continua,
motor DC, usando un transistor. Los pines del Arduino sólo nos
pueden proporcionar 5 V y a lo más 40 miliamperios de corriente, lo
cual es insuficiente para motores de este tipo. Si intentamos usar un
motor DC directamente desde un pin del Arduino, podríamos dañar el
microcontrolador, por lo que vamos a usar un transistor para hacerlo.
Vamos a usar el transistor 2N222 que es un transistor que por sus
características y precio es muy utilizado como un switch para el
manejo de un motor DC y el montaje será el siguiente:
Para activar el motor vamos a usar un pulsador. Cuando presionemos
el pulsador, la placa Arduino activará el transistor, con lo cual girará el motor.
Componentes
- Arduino
- Placa protoboard.
- Transistor 2N222.
- Resistencia de 220Ω (rojo, rojo, marrón).
- Diodo rectificador 1N4001.
- Pulsador.
- una resistencia de 10 KΩ (marrón, negro, naranja)
Circuito
El transistor es un componente electrónico con tres patas; el
colector, el emisor y la base.
En el 2N222, viéndolo de frente, la patilla izquierda es el
emisor, que conectamos a masa (GND). La patilla central es la base,
que conectamos al pin de Arduino y la patilla derecha es el colector,
que conectamos al borne del motor.
La conexión al pin de Arduino, usado para activar el transistor,
la hacemos a través de una resistencia, para limitar la corriente de
salida del este pin. Una resistencia de 220 Ω
es suficiente, dado que la tensión de alimentación va a ser de 4,5
V.
El circuito del motor tenemos que conectarlo a una fuente externa
de alimentación, ya que no podemos usar el Arduino para esto.
Conectaremos uno de los cables del motor al positivo de la fuente de
alimentación y el otro cable, como ya habíamos dicho, al colector
del transistor, la patilla de la derecha.
Como el circuito que estamos controlando es un motor, al detenerse
puede generar un voltaje que dañaría nuestro transistor y también
el Arduino, por esto es muy conveniente agregar un diodo, tipo 1N4001
entre el colector y el emisor.
El pulsador para activar el motor lo conectaremos al pin 8 del
Arduino con una resistencia pull-down a tierra.
Código
// Control de un motor DC con un transistor
// Activamos y desactivamos con un sensor digital
int pinPulsador = 8; // Declaramos la variable pinPulsador con el número del pin en qué está conectado
int pinMotor = 9; //Igual para el pin del motor
int estadoPulsador = 0; // para guardar el estado del sensor
void setup() {
pinMode(pinMotor, OUTPUT); //Inicializa el pin del motor como salida
pinMode(pinSensor, INPUT); //Inicializa el pin del pulsador como entrada
digitalWrite(pinMotor, LOW); //Activamos el estado de reposo para el motor
}
void loop() {
estadoPulsador = digitalRead(pinPulsador); // Lee el valor del pin del pulsador y lo almacena en la variable pinPulsador
if(estadoPulsador== HIGH) { // Comprueba el estado del pulsador está pulsado
digitalWrite(pinMotor, HIGH); // Si es así activa el motor
} else {
digitalWrite(pinMotor, LOW); // Si no, lo mantiene en reposo
}
}
No hay comentarios:
Publicar un comentario