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
}
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
}
---------- Efecto Óptico Mecánico ----------
Utilizando una vieja idea, fabricamos este pequeño ingenio mecánico. Las aspas y engranajes fueron cortados con mi CNC y el resultado es realmente espectacular, esto lo puse como agregado a esta sección, pensando en estimular la creación de otros aparatos mecánico - ópticos similares, solo restaría poner el motor con control de velocidad para variar el efecto, en este ejemplo es puesto en marcha en forma manual..
Este proyecto fue realizado en MDF, más conocido como madera Trupán. Los cortes de las aspas y engranajes se hicieron con la CNC mostrada en la página anterior. El proyecto final sería poner un motor de paso para controlar las diferentes secuencias de giro y producir varios efectos ópticos.