ARDUINO: MOTOR DC CON TRANSISTOR



En esta práctica emplearemos un motor DC con un transistor, con el cual también podemos controlar el PWM, pero solo puede ir en una dirección dependiendo de la “polaridad” de los cables del motor, no se entrará en ninguna explicación del código pues ya se vio en control de cargas, solo se explicará un detalle de la parte electrónica.

Materiales:

  • 1x Arduino
  • 1x Motorreductor de 6V
  • 1x Fuente de 6V (pueden ser 4 pilas AA)
  • 1x Tip122
  • 1x Resistor de 4.7K
  • 1x Resistor de 10K
  • 1x Pulsador de 4 o 2 pines
  • 1x Diodo 1N4004
  • 1x Protoboard
  • Jumpers

Esquema de montaje

En la parte electrónica, lo único diferente a lo ya explicado es que usamos un diodo 1N4004 entre la salida del colector del TIP122 que está unida a un pin del motor y el voltaje de alimentación que está unido al otro pin del motor, esto se hace porque el motor genera un campo electromagnético para que pueda girar. Cuando se deja de alimentar o se le quita el voltaje, este campo se convierte en voltaje y corriente que deben de fluir hacia algún lado, por eso el uso del diodo, gracias a este componente ese flujo no va a ningún lado y no estropeará nuestro Arduino.

Código

El código es bastante simple, debido a que ya se vio todo esto en temas anteriores no se entrará en detalles, lo único que tiene extra es la lectura de un pulsador con una sentencia de control if, para que prenda o no el motor.

//Definimos pines a usar
#define Motor 2
#define Pulsador 3

//Variables a usar
int Push;

void setup() {
  //Configuramos los pines como entrada o salida
  pinMode(Motor, OUTPUT);
  pinMode(Pulsador, INPUT);
  digitalWrite(Motor,LOW);
}

void loop() {
  Push = digitalRead(Pulsador);

  if (Push == HIGH) {
    digitalWrite(Motor, HIGH);
  } else {
    digitalWrite(Motor, LOW);
  }

}