Organizamos mesas de trabajo para que los campuseros puedan trabajar con robots construidos con legos. Con la misma facilidad que se construyen objetos con las piezas del popular juego, nuestros campuseros aprenderán a construir un robot y programarlo para realizar acciones sencillas.
1. Programación en C para robots
LEGO
José de Jesús López Villalobos
Jesús Santana Blanco
José Valderrama Chaidez
2. Temario
• Introducción • Tareas y Subrutinas
• Bricx Command Center • Música
• ¡Hola Mundo! • Control de servos
• Comandos repetitivos • Tareas Paralelos
• Variables • Comunicación
• Estructuras • Periféricos
• Sensorica • Reto 2009 CampusBot
3. Introducción
• Robótica: Es la rama de la ingeniería que
estudia los mecanismos con movimientos
programados y así como el control que regula
dichos elementos.
6. Introducción
• Puertos Motor (A,B,C)
• Puertos Sensor (1,2,3,4)
• Puerto USB
• Bocina
• Botones NXT
– Naranja: On/Enter /Run
– Flechas grises: Menu NXT
– Gris obscuro: Clear/Go
back
• Display
7. Introducción
• Microcontrolador de 32-bit ARM7
• 256 Kbytes FLASH, 64 Kbytes RAM
• Microcontrolador de 8-bit AVR
• 4 Kbytes FLASH, 512 Byte RAM
• Bluetooth comunicación inalámbrica
(Bluetooth Class II V2.0 )
• USB (12 Mbit/s)
• 4 puertos de entrada, cable digital de
6-hilos tipo 50 170
• 3 puertos de salida, cable digital de 6-
hilos tipo 50 170
• 100 x 64 pixeles LCD
• Bocina - 8 kHz calidad de sonido. Con
8-bits de resolución y 2-16 KHz de
muestreo.
• 6 AA baterías
9. Introducción
• Sensor de sonido
– Este sensor trabaja en
función de micrófono y
detecta has 90 dBs.
Puede trabajar en modo
ajustado (dBA) o modo
sin ajustar (dB)
10. Introducción
• Sensor de detección de
luz.
– Este sensor detecta
escalas de grises
(aunque existe también
de colores).
11. Introducción
• Sensor ultrasónico
– Usado para la detección
de objetos y mediar su
distancia ya sea en
centímetros o pulgadas.
Tiene un margen de
hasta 255 centímetros
con un error de +- 3 cms.
12. Introducción
• Servomotores
– Tienen una precisión de
1 grado en su rotación y
puede ser especificada
de acuerdo al ángulo,
velocidad y giros.
13. Introducción
• Existen otros sensores específicos con los
cuales se tiene la detección de variables mas
complejas, así también interfaces con
actuadores de mayor capacidad.
15. Bricx Command Center
• Para el desarrollo de programación del brick
se hace uso de diversas plataformas de
diseño, muchas de ellas con costo, pero hay
software libre para trabajar con LEGO´s
25. Estructuras
• Esta parte es la decisiva para los procesos de programación
dentro de cualquier brick; la componen la declaraciones: if y
do.
• Las comparaciones típicas son:
Simbolo Declaración
== Igual a
< Menor que
<= Menor o igual a
> Mayor que
>= Mayor o igual a
!= No igual a
28. Sensorica
• Este apartado es muy importante debido a
que los diversos sensores tienen diversos
rangos especificados por el fabricante y nos
tenemos que adaptar a ellos para poder
usarlos correctamente.
43. Comunicación
• En este caso se tienen 4 bricks los cuales se
interconectan a través de una red de 1
maestro y 3 esclavos usando Bluetooth para
comunicarse.
49. Algunas referncias
• Benedettelli, D. “Programming LEGO NXT
Robots using NXC”, 2007, Italia
• Crawford, R. “Programming Lego Robots using
NBC”, 2007, Estados Unidos de Ámerica
• Sitio web
http://mindstorms.lego.com/Overview/NXTre
me.aspx, 2009.
50. Contacto
José de Jesús López Villalobos
Jesús Santana Blanco
José Valderrama Chaidez
jjlopez@itnl.mx
santana@itesm.mx
valderrama@itnl.mx