ARDUINO: Uso del Transistor



En está práctica se apegará más al manejo de los componentes mencionados en "Control y manejo de cargas"  para que controlen actuadores que requieren más voltaje o amperaje. En la siguiente práctica se muestra el uso del transistor.

 
 

Materiales:

  • 1x Arduino

  • 1x Foco de 12V de CC

  • 1x TIP122

  • 1x Resistor de 4.7K

  • Fuente de 12V

  • 1x Protoboard

  • Jumpers

Esquema de montaje

El software de fritzing no tiene disponible un foco así que vamos a representar el foco por medio de un LED, tener en consideración que un foco no tiene polaridad. 

Clic en la imagen para ampliar.

Como pueden observar estamos manejando voltajes mayores a 5 voltios, en este caso 12 voltios, además de una gran cantidad de amperaje, entre 500mA y 1000mA, esto es gracias al transistor TIP122 del tipo NPN, nosotros enviamos el pulso por el pin 2 del Arduino a la base del transistor, que a su vez está conectada a una resistencia de 4.7k, la función de esta resistencia es limitar la corriente que consume el transistor ya que para la excitación de la base no necesita mucha, al hacer esto la base se excita y abre la llave como se explica en "manejos de cargas", entonces fluye la corriente del colector al emisor con un voltaje de 12 volts. Como también se pudo observar, cuando usamos una fuente de poder externa, en todos los casos se unen los negativos tanto del Arduino y el de la fuente externa, también llamado GND o tierra.

Una observación es que se puede manejar mayor voltaje y amperaje con los transistores, solo es cuestión de elegir el correcto. ¿Y cómo sabremos que voltaje y amperaje soporta? se preguntarán, pues es muy fácil, basta con leer la hoja de datos del transistor.

Código

El código es muy fácil de entender, se definieron los pines y las variables a utilizar, lo que se hizo fue crear una función de Blink para que se prenda y pague el foco mediante el pin 2, pero esta función recibe un parámetro del tiempo que será el valor que tendrá el delay, ya en loop se llama esta función, y verán como prende y apaga el foco, si editamos el parámetro de la función Blink verán que aumenta el tiempo en que prende y paga (mayor o menor velocidad).

#define Trans 2 //Definimos el pin de salida a la base del transistor

void setup() {
  pinMode(Trans, OUTPUT); //Ponemos como salida el pin
}

void loop() {
  //Usamos el metodo Blink con un parametro de 1000ms
  Blink(1000);

}

/**
 * Metodo Blink
 *  @param i -Recibe un entero en ms
 */
void Blink(int i) {
  digitalWrite(Trans, HIGH);
  delay(i);
  digitalWrite(Trans, LOW);
  delay(i);
}
 
 






ArduinoErick Méndeztransistor