Control Motor DC (T1:E5)

     Este circuito permite variar la velocidad de un pequeño motor, para lo que usamos un transistor TIP 122 que es controlado por una de las salidas de Arduino. El sistema puede funcionar en este esquema conectado directamente al PC para darle alimentación a Arduino. También es posible alimentar el Arduino a través del Pin que viene marcado como "VIN" con los 12 voltios de la fuente y así poder trasladarlo. (al final de la página capítulo #5 "RoboTongas")

     En esta rutina, vemos que hay dos posibilidades, la primera de ellas es que en forma automática comience a girar el motor y luego de algunos momentos se detenga, realizando en un loop estos movimientos. Para la segunda de ellas podemos controlar la velocidad a través del potenciómetro, pero debemos primero a la línea automatico(); ponerle las barritas (//) de comentario y sacárselas a la línea de potenciometro();.


//------------------------------ VARIABLES
int MOTOR = 3; //-------------------------------- NOMBRAMOS AL PIN 3 DE ARDUINO COMO "MOTOR"
int i;
int velocidad;

//----------------------------------- SETTING SISTEMA
void setup() {
  pinMode(MOTOR, OUTPUT); //------------------------------- PIN 3 ES SALIDA
  Serial.begin(9600);
  analogWrite(MOTOR, 0); //-------------------------------- MOTOR APAGADO
}

void loop() {
 // automatico(); //------------------------------ FUNCIONA ENCENDIDO Y APAGADO EN FORMA AUTOMÁTICA
  potenciometro(); //------------------------------------ CONTROL POR POTENCIÓMETRO

}
void automatico() {
  analogWrite(MOTOR, 254); //----------------------------- MÁXIMA SEÑAL, MÁXIMA VELOCIDAD
  Serial.println("Motor Encendido");
  delay(3000);
  Serial.println("Motor Apagado");
  analogWrite(MOTOR, 0); //------------------------------- 0 SEÑAL, MOTOR APAGADO
  delay(6000);
}
void potenciometro() {
  velocidad = analogRead(A2); //--------------- EN VARIABLE VELOCIDAD PONEMOS VALOR DE PIN "A2"
  Serial.print ("Valor A2: ");
  Serial.println (velocidad);
  //velocidad = map(velocidad, 0, 1023, 0, 179);
  analogWrite(MOTOR, velocidad); //---------------------- VARIAMOS VELOCIDAD MOTOR
}