1. ¿Qué es un motor?
Un motor es un dispositivo que transforma energía calórica o eléctrica en energía mecánica. Los que parten de energía calórica se encuentran en vehículos, suelen utilizar combustibles fósiles o biocombustibles y un comburente como el aire. Mientras que los motores eléctricos obtienen la energía a partir de la circulación de una corriente eléctrica.
En esta unidad conocerás motores eléctricos de corriente continua como los que se encuentran en impresoras, juguetes, etc.
2. Motor de corriente continua
En general, los motores de corriente continua con dos terminales están compuestos por bobinas de cobre e imanes que generan un campo magnético que hace girar el rotor (eje del motor). En el siguiente video vemos que, según cómo se conecten las terminales del motor a una fuente, este girará en un sentido o en otro. Asimismo se pueden apreciar las revoluciones por minuto (rpm) del motor, es decir, cuántos giros da el eje en un minuto.
Siempre es recomendable tomar una fuente y probar el sentido de giro del motor antes de instalarlo en un dispositivo.
3. Conectar un motor de corriente continua
Salvo algunas excepciones, la energía que entrega la placa Arduino no es suficiente para mover un motor. En la mayoría de los casos, necesitarás una fuente externa de 9 V o 12 V. Por eso, para conectar un motor de corriente continua a Arduino, podés emplear el mismo método que usaste en la unidad 2 para controlar varios leds. O sea, utilizar un transistor NPN y una fuente externa. En el siguiente video te mostramos un ejemplo de su funcionamiento.
Si no posees la placa podés utilizar el entorno virtual.
Podés entrar a Circuito de motor DC copiar y modificar el circuito como te mostramos en el video anterior.
Por otro lado, las rpm de un motor pueden variar según la energía que se le suministre. En el video que sigue vemos cómo, al variar la intensidad del pulso, se modifican las rpm. En esta simulación el motor siempre se mueve, pero en la práctica es posible que con tensiones muy bajas no llegue a moverse.
4. Bucles
En algunos de los ejemplos anteriores hay instrucciones que se repiten o repitieron de forma manual y cuya utilización junto a otras puede complejizar la lectura y ejecución del código. En estos casos, existen herramientas de programación como los bucles, que facilitan la tarea. Uno de los bucles más utilizados en Arduino es el «ciclo for», que repite las instrucciones entre llaves, siempre que la expresión entre paréntesis sea verdadera, es decir, se cumpla.
El ciclo for tiene la siguiente estructura:
for(expresión) {
}
La expresión suele tener esta forma:
(int i = 0; i < número; i++)
Como la variable i se crea dentro de la condición, solo existe dentro del ciclo for. Las instrucciones de dicho ciclo se ejecutarán mientras la condición del medio sea válida (i < número). La condición puede utilizar otros operadores como > (mayor), => (mayor o igual), =< (menor o igual). Finalmente, en cada ejecución, la variable i se incrementará en uno porque hay un i++ (se pueden utilizar otras variantes como i--, i += número, i -= número, etc.).
Entonces, por ejemplo, para variar el valor, podemos usar la función analogWrite() que anteriormente se realizó de forma manual:
for(int i = 0 ; i =< 255 ; i++){
analogWrite(13,i);
delay(100); // te recomendamos agregar un delay para observar mejor los cambios
}
5. Servomotor
Los servomotores son motores de corriente continua con el agregado de un sistema de engranajes planetarios, un conjunto de ejes y engranajes que reducen la velocidad del motor y permiten controlar cuántos grados se movió el eje mediante un cable de señal. Por eso, a diferencia de motores anteriores, estos tendrán tres terminales: dos para la bobina y uno para la señal (grados de desplazamiento).
Una de las formas más sencillas de manejar servomotores con Arduino incluye el uso de una librería o biblioteca (procedimientos y funciones creados para facilitar determinadas aplicaciones) llamada «Servo», que suele venir incluida en el IDE y se añade al código agregando al inicio:
#include <Servo.h>
A los tipos de variables ya conocidos se les añade el tipo Servo, que será necesaria para utilizar el resto de las funciones de la biblioteca.
Las funciones principales que utilizarás son attach() y write(). Para emplearlas tenés que anteponer el nombre de la variable tipo Servo a la que se asocia el motor y un punto.
#include <Servo.h>
Servo pinServo ; // se declara la variable
void setup(){
pinServo.attach(11); //asociar la variable al pin donde se conectó el motor
}
void loop(){
pinServo.write(50);//grados a los que se moverá el motor
}
En el caso de los servomotores más pequeños, los podrás conectar directamente a la placa y mover en un rango de 0º a 180º (generalmente son de color azul), como se ve en el siguiente video. Además de su conexión, podrás aprender cómo controlar su funcionamiento utilizando bucles y la biblioteca Servo.
Comentarios
Publicar un comentario