Inicio   Foro   Ayuda Buscar Wiki Ingresar Registrarse  
Páginas: [1]   Ir Abajo
  Imprimir  
Autor Tema: Biblioteca de código  (Leído 5214 veces)
0 Usuarios y 1 Visitante están viendo este tema.
Usuario
Visitante
« : 20 de Enero de 2010, 23:35:05 »


Ya tenemos un hilo con sitios diversos donde encontrar instrucciones de montaje (casi siempre junto con el necesario programa), pero a medida que vamos avanzando pasamos de copiar a crear y nos pueden hacer falta ideas para resolver determinadas complicaciones en la programación. Es por ello que inauguro este hilo con la siguiente base de datos y con la idea de ir agregando a este primer post cualquier cosa que podáis aportar y que merezca la pena guardar como referencia:

http://legoengineering.com/library/cat_view/28-code/33-lego-mindstorms-nxt-software.html

En la misma web también hay una serie de pequeños programas que ayudan a entender cómo usar los sensores de fabricantes externos, compatibles con el NXT: http://legoengineering.com/library/cat_view/28-code/61-third-party-sensors.html

En la galería de Brian Davis en Brickshelf también hay muchos ejemplos de código. Es algo más complejo encontrar lo que puedas necesitar pero están muy bien comentadas: http://www.brickshelf.com/cgi-bin/gallery.cgi?f=191310

Post Unido para corregir el floodeo: [time]17 de Noviembre de 2011, 01:30:22 [/time]
Además de código existen unos cuantos bloques de programación adicionales. No son oficiales, pero funcionan perfectamente y complementan lo disponible por defecto en el software.
Hay unos pocos aquí: http://www.teamhassenplug.org/NXT/NXTGAdditions.html
Y toda una lista aquí: http://nxtasy.org/repository/nxt-g-blocks/
« Última modificación: 15 de Septiembre de 2012, 21:30:22 por WiWaEdu, Razón: Cambio de icono » En línea
jcaro
Visitante
« Respuesta #1 : 24 de Enero de 2010, 12:26:01 »

Una idea estupenda, una lástima que no use NXT-G para programar mis robots, si no robotc un saludo!
En línea
Jetro
Visitante
« Respuesta #2 : 24 de Enero de 2010, 22:30:18 »

Ya quisiera yo saber lo suficiente de C como para poder manejarme cómodamente con RobotC!

De todos modos, si encuentras cosas similares para RobotC (u otro lenguaje para el NXT como NXC) no te cortes: lo añadimos y lo organizamos por lenguajes.
En línea
jcaro
Visitante
« Respuesta #3 : 26 de Enero de 2010, 01:06:41 »

oh, no te creas, yo dí una asignatura en la carrera en la que me enseñaron C básico, y el resto en robotc un poco de práctica, si bien es cierto que requiere para algunos proyectos bastante ensayo-error, tambien se localizan los errores con más facilidad.

Si encuentro algo te lo diré saludos
En línea
Usuario
Visitante
« Respuesta #4 : 14 de Mayo de 2010, 22:51:34 »

Aunque sea un recurso ya mencionado, hace unas semanas di con la página que contiene las explicaciones de los ejemplos de código que aparecen en la carpeta de BS de Brian Davis. Se trata de la siguiente página, donde todos los ejemplos están indexados por su tipo y título:
http://www.teamhassenplug.org/NXT/NXT-GCodeIndex.html



Aunque no sea código en el más estricto sentido de la palabra también son herramientas muy importantes los bloques adicionales que se han creado para NXT-G ya que amplían y mucho el abanico de posibilidades y constituyen en sí un trozo de código que hace posible esa funcionalidad.
Hasta ahora solamente estaban disponibles en inglés, pero desde hace algunas semanas estoy trabajando en hacerlos disponibles a través de la wiki de LRoboticas, más concretamente en el tema Bloques adicionales para NXT-G
« Última modificación: 05 de Julio de 2012, 00:59:39 por WiWaEdu » En línea
Blastem
ABS Brick´s PlastiKman - 我是塑料人的ABS砖 - 高炉他们
Gran maestro Brick
*****
Desconectado Desconectado

Sexo: Masculino
Ciudad: Ponferrada (El Bierzo)
Mensajes: 9781


MCP5 Mindstorms Community Partner - YaoLUG


Galeria Brickshelf Coleccion BrickSet
WWW Premios
« Respuesta #5 : 14 de Mayo de 2010, 23:11:20 »

Otro hilo que tendré que revisar a fondo cuando la estupenda caja de Mindstorms llegue a casa.

A mí me gusta más con código  :}
En línea

Vi
Lugnático
****
Desconectado Desconectado

Sexo: Masculino
Edad: 44
Ciudad: Alicante
Mensajes: 2515




Premios
« Respuesta #6 : 10 de Agosto de 2010, 11:01:11 »

 Holas;

Ya quisiera yo saber lo suficiente de C como para poder manejarme cómodamente con RobotC!

De todos modos, si encuentras cosas similares para RobotC (u otro lenguaje para el NXT como NXC) no te cortes: lo añadimos y lo organizamos por lenguajes.

 Perdón por mi actual (todavía) desconocimiento del NXT.

 Entiendo que en cada caja 8527 u 8547 viene un CD con un software para instalar en un PC, que permite generar un programa que se transmite al 'ladrillo inteligente' mediante (¿pendrive?) USB o por enlace de infrarrojos (¿viene en los NXT una 'torre emisora de infrarrojos' como creo que venía en algún RIS?) para que lo ejecute. Ese software es de entorno gráfico, con una interfaz que se muestra muchas veces en las páginas de Lego.com, intuitiva, a base de ir poniendo 'bloques' de sensor, de movimiento....

 ¿Qué lenguaje es ése? Entiendo como lenguaje el archivo que se transfiere del PC al brick.

 ¿Cuáles son los otros? Entiendo que se generan con otras aplicaciones distintas a la que traen los sets NXT en su CD. Esas aplicaciones, entiendo que tienen diferente entorno. ¿Alguno es tipo texto, no gráfico? ¿Se compran?

 El brick NXT, ¿es capaz de interpretar diferentes lenguajes de forma nativa? O.... ¿hay que instalarle algo para que entienda lenguajes diferentes al originario de los sets? ¿O es que, al compilar, todas esas aplicaciones generan un 'código máquina' idéntico, es decir, lo que es diferente es la parte de 'alto nivel' del lenguaje?

 Repito mis disculpas, pero no acabo de entender lo que comentáis de usar NXC, RobotC, ....
En línea

Salu2 a to2;
PotaG
Brickomaníaco
***
Desconectado Desconectado

Sexo: Masculino
Ciudad: Inopia
Mensajes: 248




Premios
« Respuesta #7 : 10 de Agosto de 2010, 12:42:02 »

Con los actuales ladrillos NXT el programa se transmite vía USB o por Bluetooth, no lleva un receptor/emisor de infrarrojos.

El lenguaje de programación que viene con el NXT es el NXT-G que está basado en LabView.

Tienes una lista de los diferentes lenguajes de programación en esta página.

Muchos de ellos son en modo texto (LeJOS, NBC, NXC, pbLua, RobotC), incluso en algunos ni siquiera hay un IDE (entorno de desarrollo integrado, un editor vamos) para manejarlos y hay que buscarlo aparte como es el caso de NBC y NXC que usan BricxCC como IDE aunque al ser en modo texto los programas se pueden escribir desde el bloc de notas.

La mayoría permite usar el firmware estandar (el sistema operativo que va dentro de los ladrillos) del NXT pero algunos incluyen su propio firmware para añadir nuevas funciones como números en coma flotante por ejemplo.

El usar un lenguaje u otro depende de los conocimientos que se tengan de ese lenguaje, es como saber idiomas, si no sabes francés pero si ingles, pues hablaras en ingles y lo mismo con los lenguajes de programación Java es diferente a C que es diferente a Lua que es diferente al NXT-G…
El que sabe de C puede usar NXC o RobotC, el que sabe de Java usara LeJOS, etc.
« Última modificación: 10 de Agosto de 2010, 13:00:45 por PotaG » En línea

Probando firma...1...2...probando...
Usuario
Visitante
« Respuesta #8 : 11 de Agosto de 2010, 08:55:17 »

¿Qué lenguaje es ése? Entiendo como lenguaje el archivo que se transfiere del PC al brick.

Ese lenguaje es el que solamente el NXT entiende - son las instrucciones en lenguaje de maquina. A veces también se llama el 'programa compilado' - 'traducido' para que lo entienda la maquina.

Existen multitud de maneras para llegar a ese lenguaje: desde la interfaz de programación gráfica que proporciona LEGO, desde NXC o NBC...

Dicho de manera muy pero que muy simplificada, el NXT tiene un firware que es, de alguna manera, una tabla donde se refleja "si te dicen X, haz 'loquesea'. Dependiendo del firmware que se cargue en el NXT es por tanto posible acceder a funciones algo diferentes (dentro de las limitaciones físicas del propio NXT). Es por eso que por ejemplo ROBOTC tiene su propio firmware. Esto significa que el NXT, tal como viene de fabrica puede 'entender' el archivo compilado que se puede generar desde lenguajes de programación como NXT-G o NXC/NBC.
Para que entienda lo que se compila desde ROBOTC o leJOS hay que instalar el firmware apropiado.

La gran mayoría de lenguajes de programación son gratuitos, salvo NXT-G (en la versión Education del NXT no viene y cuesta unos 50 euros si lo quieres comprar) y ROBOTC (que vale unos 25$)
« Última modificación: 05 de Julio de 2012, 00:59:50 por WiWaEdu » En línea
Vi
Lugnático
****
Desconectado Desconectado

Sexo: Masculino
Edad: 44
Ciudad: Alicante
Mensajes: 2515




Premios
« Respuesta #9 : 11 de Agosto de 2010, 14:02:17 »

 Holas de nuevo;

 Y muchas gracias a ambos, repetidas a Jetro  :)

 Muy interesantes la info aportada y el enlace en euskalnet. No sabía que hay tantos lenguajes distintos, no sabía que hay tanta gente trasteando con Mindstorms....

 Respecto a la pregunta que hice que 'quotea' Jetro, no la formulé correctamente.

 Entiendo que NXT-G es el software que se instala en un PC, la interfaz de programación, lo que el humano ve y con lo que interactúa, y NO el chorro de bits que pasa del PC al ladrillo NXT, a través de cable USB o Bluetooth (ahora ya bien descrito....).

 Ese 'chorro de bits' es el código máquina que sólo NXT entiende, el programa ya compilado.

 Bien.

 Entiendo también que tanto NXT-G como NXC o NBC son diferentes en su manejo y prestaciones pero, a la hora de generar el chorro de bits, éste último sale en un mismo idioma de los tres softwares. Y lo entiende el NXT de forma nativa.

 Para que NXT entienda el chorro de bits generado por ROBOTC o leJOS hay que, antes, instalarle un firmware que los entienda, pues la estructura del chorro de bits no es la misma. ¿Ese firmware sustituye a o convive con el original? Es decir, si quiero programar el NXT con leJOS ¿debo cargar ese FW y luego para volver a usarlo con NXT-G debo cargar el FW original? Entiendo que todas esas cargas y modificaciones se hacen desde el PC, a través de USB o BT. A más grande el FW (interpretador del chorro) que cargue, menos memoria me queda para los datos del programa....

 ¡Uf! En su día trabajé con el Basic Sinclair del Spectrum ÔÔ y vi alguna noción de lo que eran lenguajes de alto nivel/bajo nivel, lo que era un ensamblador.... pero estoy un poco perdido. Eso sí, me está entrando una curiosidad superlativa por este mundillo.... (icono de relamerse....).

 GRACIAS por todo chicos  :}
« Última modificación: 11 de Agosto de 2010, 14:07:54 por Vi » En línea

Salu2 a to2;
Usuario
Visitante
« Respuesta #10 : 11 de Agosto de 2010, 15:18:14 »

si quiero programar el NXT con leJOS ¿debo cargar ese FW y luego para volver a usarlo con NXT-G debo cargar el FW original?
Correcto

Citar
Entiendo que todas esas cargas y modificaciones se hacen desde el PC, a través de USB o BT. A más grande el FW (interpretador del chorro) que cargue, menos memoria me queda para los datos del programa....
Todos los FW son bastante pequeños. No se puede tener instalado dos FW en un solo NXT ya que es el FW lo que hace que arranca el 'ordenador' - no es como un PC donde entras en la BIOS y luego seleccionas el sistema operativo que quieres que arranque.
« Última modificación: 05 de Julio de 2012, 01:00:07 por WiWaEdu » En línea
Vi
Lugnático
****
Desconectado Desconectado

Sexo: Masculino
Edad: 44
Ciudad: Alicante
Mensajes: 2515




Premios
« Respuesta #11 : 11 de Agosto de 2010, 22:17:22 »


 Holas;

 Entiendo que el resto de mi 'disertación' es correcto.

 Muchas gracias por toda tu entrega hacia mi persona  :)
En línea

Salu2 a to2;
nxtorm
Lugnático
****
Desconectado Desconectado

Sexo: Masculino
Edad: 49
Ciudad: València
Mensajes: 2229


Haciendo brickolaje. LEGO en la materia.


Galeria Flickr
WWW Premios
« Respuesta #12 : 29 de Diciembre de 2010, 10:26:46 »

Hola.

Allá va una pequeña aportación que creo que merece estar en esta lista. No es que sea novedosa (creo que tod@s lo conocemos) y no es exactamente una biblioteca de código, pero casi. Es amplia, muy elegante de programación y bien organizada.

Es la de Nxt Programs. Viene clasificada por complejidad, tanto para el NXT 2.0 como el anterior. Pongo el enlace al primero, al 2.0, directamente a la tabla de clasificación de los programas:

http://www.nxtprograms.com/projects2.html#ProjectsByProgram
En línea

Usuario
Visitante
« Respuesta #13 : 30 de Diciembre de 2010, 20:14:00 »

Tienes mucha razón: lo puse en el hilo de instrucciones de construcción, pero es igualmente interesante por los programas y las explicaciones sobre los mismos que contiene!
« Última modificación: 05 de Julio de 2012, 01:00:23 por WiWaEdu » En línea
kaanguyr
Brickomaníaco
***
Desconectado Desconectado

Sexo: Masculino
Ciudad: Badalona, Spain
Mensajes: 454


Linux, Technic & LDCad forever!


Galeria Flickr Galeria Brickshelf Galeria MOCpages Coleccion BrickSet
Premios
« Respuesta #14 : 23 de Diciembre de 2015, 00:42:41 »

Hola a todos,

He adquirido recientemente un Mindstorms EV3 con la intención de programarlo desde un entorno Linux (concretamente, Ubuntu 14.04.03 LTS). Existe un proyecto llamado EV3DEV (www.ev3dev.org) que permite programarlo utilizando lenguajes generales como C++, Python o Bourne Shell. Aún estoy en los comienzos y, de momento, sólo he conseguido controlar algunos movimientos básicos pero lo digo aquí por si hay alguien igual de loco o al que "le pique el gusanillo" y quiera intercambiar información y experiencias.

Un saludo,
Kaanguyr
En línea
Páginas: [1]   Ir Arriba
  Imprimir  
 
Ir a:  

www.HispaLUG.com - La web en español de los aficionados a LEGO®
LEGO®, DUPLO®, MINDSTORMS®, EXO-FORCE®, BIONICLE® y el logotipo LEGO® son marcas registradas de The LEGO Group.
Esta web no es un sitio oficial de LEGO®, el cual no patrocina, autoriza o aprueba esta sitio.
Para cualquier consulta dirígete a info@hispalug.com - ©HispaLUG® 2006-2012

Powered by SMF 1.1.21 | SMF © 2006-2011, Simple Machines
SimplePortal 2.3.5 © 2008-2012, SimplePortal
Página creada en 0.121 segundos con 24 consultas.