C++ programación orientada a objetos de la Biblioteca para la Programación del Lego NXT
Pregunta
Hace un tiempo, tengo un LEGO Mindstorms NXT conjunto para la Navidad, y ahora me gustaría programa en C++.
He mirado por ahí, aquí y en otros lugares, y no podía encontrar una cruz-plataforma de código abierto, la programación orientada a objetos C++ biblioteca que "se sentía bien", incluyendo lestat y nxtOSEK.
Así que, he decidido que, a menos que pueda encontrar uno que me gusta, entonces sería una gran experiencia de aprendizaje para mí escribir mi propia biblioteca.
He hecho un poco de investigación, y decidió que sería más fácil comunicarse con ella a través de bluetooth, en lugar de la recopilación de mis programas para el NXT código máquina.
También me gustaría que esto se hace en el estilo de programación orientada a objetos, lo que significa el ladrillo NXT, motores, sensores, etc existiría como objetos.
Entonces, mi pregunta es:¿qué necesito saber antes de embarcarse en esto?donde puedo conseguir buenas referencias (además de aquí, y específico para el NXT)?¿Cuáles son los otros decente "basic" bibliotecas* para cosas como la comunicación Bluetooth?
*Yo soy todo para el uso de boost y la STL, si es necesario, por cierto.
Alternativamente, creo que no hay que reinventar la rueda si no tengo, así que si hay una decente C++ programación orientada a objetos con bluetooth, la comunicación de NXT biblioteca por ahí, que me haga saber!
Solución
He echado un vistazo a hacer esto antes.
Comience a buscar aquí: http://bricxcc.sourceforge.net/
En esta página se puede descargar el código fuente de la misma. Lo que terminé haciendo es compilar el código fuente en C hasta códigos de bytes que el ladrillo NXT puede entender.
Esto me permitió añadir algunas extensiones personalizadas a C, aunque lo hice pasar mucho tiempo compilar C hasta una forma lo suficientemente compacto como en códigos de bytes que se ajustan en la memoria del NXT:)
Si desea utilizar una aplicación C existente, entonces echa un vistazo a esta tabla: http: // www.teamhassenplug.org/NXT/NXTSoftware.html
Para obtener una lista de los códigos de bytes NBC (Siguiente) comenzar con esta página. Me pareció muy útil.
Otros consejos
He utilizado este, no sé si se ha comprobado a cabo o no:
http://www.norgesgade14.dk/bluetoothlibrary.php
Esta biblioteca proporciona soporte para la lectura de diversos datos del sensor a través de una conexión Bluetooth, así como soporte para el control de motores.
Además de la biblioteca se pueden modificar fácilmente, y me pareció muy fácil de configurar de nuevo a él.
Me encontré con este hilo el año pasado, mientras trabajaba en un proyecto sobre el uso de C++ para el control de un brazo robot.He utilizado 2 NXT ladrillos y 5 motores.
Usted puede encontrar el original NXT++ 0.6 biblioteca de aquí:
http://nxtpp.clustur.com
https://sourceforge.net/projects/nxtpp/forums/
Por desgracia, este sitio no se actualiza.
Yo bifurcada una nueva versión NXT++ 0,7 con algunas correcciones, y soporte para múltiples ladrillos, a través de USB o Bluetooth:https://github.com/dbworth/nxt-plus-plus
Consulte el archivo Léame para obtener más detalles.
Otro usuario, Piotr, se ha añadido soporte para NXT++ 0.6-2 para la HiTechnic sensor multiplexor y Lego sensor de color:
http://wmii.uwm.edu.pl/~artem/downloads.html
Saludos,
David.
Le permite ver la demostración de las posibilidades de NXT ++, el filtrado de histograma, https://www.youtube.com/watch?v=PDYtjWgvsxg que se basa en los multiplexores versión más reciente de soporte, de http://wmii.uwm.edu.pl/~artem y sección de descargas,