2009-12-18 7 views
8

Il y a quelque temps, j'avais un ensemble LEGO Mindstorms NXT pour Noël, et maintenant je voudrais le programmer en C++. J'ai regardé autour, ici et d'autres endroits, et je n'ai pas pu trouver une bibliothèque OOP C++ multiplateforme et open source qui "se sentait bien", y compris lestat et nxtOSEK. Donc, j'ai décidé que, à moins que je puisse en trouver un que j'aime, alors ce serait une grande expérience d'apprentissage pour moi d'écrire ma propre bibliothèque. J'ai fait un peu de recherche, et j'ai décidé qu'il serait plus facile de communiquer avec elle via bluetooth, plutôt que de compiler mes programmes sur le code machine NXT.Bibliothèque OOP C++ pour la programmation du Lego NXT

Je voudrais aussi que cela soit fait dans le style OOP, ce qui signifie que la brique NXT, les moteurs, les capteurs, etc. existeraient comme des objets. Donc, ma question est: que dois-je savoir avant de commencer? où puis-je obtenir de bonnes références (en plus d'ici, et spécifiques à la NXT)? Quelles sont les autres bibliothèques «de base» décentes * pour des choses comme la communication Bluetooth?

* Je suis tout à fait d'accord pour utiliser boost et le STL, si nécessaire. Sinon, je ne crois pas à réinventer la roue si je n'ai pas à le faire, donc s'il y a une bibliothèque NXT déconnectée de C++ OOP déconnectable, faites le moi savoir!

Répondre

3

J'ai jeté un oeil à faire cela avant.

Commencez à chercher ici: http://bricxcc.sourceforge.net/

Sur cette page, vous pouvez télécharger la source pour elle. Ce que j'ai fini par faire est de compiler mon code source C en codes octets que la brique NXT peut comprendre.

Cela m'a permis d'ajouter quelques extensions personnalisées à C bien que je l'ai fait passer beaucoup de temps la compilation C jusqu'à une forme assez compacte dans les codes d'octets qui correspondent dans la mémoire du NXT :)

Si vous souhaitez utiliser un l'implémentation C existante puis consultez ce tableau: http://www.teamhassenplug.org/NXT/NXTSoftware.html

Pour une liste des NBC (Next Byte Codes), commencez par cette page. Je l'ai trouvé extrêmement utile.

http://bricxcc.sourceforge.net/nbc/

1

J'utilise celui-ci, je ne sais pas si vous avez vérifié sur ou non:

http://www.norgesgade14.dk/bluetoothlibrary.php

Cette bibliothèque prend en charge la lecture de diverses données de capteur via une connexion Bluetooth ainsi qu'un support pour le contrôle des moteurs.

En outre, la bibliothèque peut être facilement modifiée et j'ai trouvé extrêmement facile de la reconfigurer.

1

Je suis tombé sur ce sujet l'année dernière, alors que je travaillais sur un projet utilisant C++ pour contrôler un bras de robot. J'ai utilisé 2 briques NXT et 5 moteurs.

Vous pouvez trouver l'original NXT ++ 0.6 bibliothèque ici:
http://nxtpp.clustur.com
https://sourceforge.net/projects/nxtpp/forums/
Malheureusement, ce site n'est pas mis à jour.

Je fourchue une nouvelle version ++ NXT 0.7 avec quelques corrections et le support de plusieurs briques, via USB ou Bluetooth: https://github.com/dbworth/nxt-plus-plus
Voir le fichier Lisez-moi pour plus de détails.

Un autre utilisateur, Piotr, a ajouté le support pour NXT ++ 0,6-2 pour le capteur et le capteur HiTechnic multiplexor couleur Lego:
http://wmii.uwm.edu.pl/~artem/downloads.html

Cordialement, David
.