Anda di halaman 1dari 4

LIBRERA LEGOPF CONTROL CON

ARDUINO DE MOTORES LEGO


gonzalo / 30 Diciembre, 2015 / 0 / 1.1k

0
SHARES
Facebook Twitter Pinterest Google+

La combinacin de un Lego Technic con los motores, controles remotos y receptores de Lego Power
Functions hace que estos juguetes de bloques de plstico cobren otra dimensin. Con Power Functions
podemos dotar a nuestros pequeos proyectos con Lego de movimiento, y con los controles remotos
podemos hacer fcilmente un coche teledirigido o cualquier otro vehculo.

Un paso ms es controlar estos pequeos juguetes con un Arduino, donde ya se nos abre una gran
cantidad de posibilidades.
Mi pequea aportacin a este sinergia es una pequea librera que nos va a facilitar la utilizacin de los
diferentes motores de Lego. La librera LegoPF la podis encontrar en
GitHub https://github.com/gonzalogalvan/LegoPF

Hardware utilizado

Los componentes de Lego Power Functions tienen un voltaje de funcionamiento entre 7v y 9v y los
motores tienen un consumo elevado, con lo que no es aconsejable conectarlos a las salidas del Arduino
directamente.

Aunque ya habr un artculo para ver como conectar y programar nuestros motores Lego, os avanzo que
utilizaremos un L298N para comunicarnos con los motores sin poner en peligro nuestro Arduino.

Aprovecharemos que ya existe en el mercado componentes que adems incluyen un 78M05 que nos va a
permitir alimentar al Arduino de forma segura con la misma batera que utilizaremos para alimentar los
motores.

Uso de la librera

La librera es muy simple de configurar y utilizar. Deberemos descargarla y meterla dentro de la carpeta
library de nuestro IDE.

Incluir la libreria

#include <LegoPF.h>
Iremos aadiendo motores con la funcin lego.addMotor, teniendo en cuenta los siguientes
parmetros:
1. Nmero de motor
2. Pin de activacin del motor
3. Pin A de control de motor
4. Pin B de control de motor

lego.addMotor(0,50,10,11);
lego.addMotor(1,40,8,9);
El Pin A y Pin B sern salidas PWM para los motores normales si queremos controlar su
velocidad. Para los motores servo, obligatoriamente deben ser salidas PWM.

Activar un motor:

lego.enable(0);

Para un motor, o si es un servo, volver a la posicin de reposo o inicial.

lego.stop(0);

Funciones de control de motores normales:

lego.fullForward(0);
lego.fullBackward(0);
Si el motor esta conectado a salidas PWM, podremos indicar el % de velocidad.

lego.forward(0,50);
lego.backward(0,50);

Desactivar motor

lego.disable(0);

Funciones para controlar motores servo, girando completamente o bien indicando un porcentaje
de giro respecto la posicin de reposo.

lego.fullLeft(1);
lego.fullRight(1);
lego.left(1,50);
lego.right(1,100);
En un prximo artculo veremos en detalle como montar un Arduino en un pequeo coche Lego 44.
Utilizaremos bateras 18650 de litio para alimentar tanto los motores como la electrnica, un L297N y
un NanoArduino par gobernar todo.
Otra librera para comunicarse con el receptor infrarojo de Lego
Powerfunctions:

https://github.com/jurriaan/Arduino-PowerFunctions

Otros enlaces interesantes:

Web de Lego Power Functions http://powerfunctions.lego.com/


Mucha informacin sobre el hardware de Lego http://www.philohome.com/pf/pf.htm

No related posts.

Anda mungkin juga menyukai