2009-12-18 11 views
8

A für Programmierung einiger Zeit habe ich ein LEGO MINDSTORMS NXT Set zu Weihnachten bekommen, und jetzt würde Ich mag es in C++ programmieren.C++ OOP Bibliothek der Lego NXT

Ich habe mich hier und an anderen Orten umgesehen und konnte keine plattformübergreifende Open-Source-OOP C++ - Bibliothek finden, die sich "richtig angefühlt" hat, einschließlich Lestat und NxtOSEK.

Also, ich habe beschlossen, dass es eine großartige Lernerfahrung für mich sein würde, meine eigene Bibliothek zu schreiben, es sei denn, ich kann einen finden, den ich mag.

Ich habe eine wenig Forschung getan, und beschlossen, es wäre am einfachsten mit ihm über Bluetooth zu kommunizieren, anstatt meine Programme auf den NXT Maschinencode kompiliert.

Ich würde so auch in OOP Stil zu tun, das NXT-Baustein bedeuten, Motoren, Sensoren, usw. würde als Objekte existieren.

Also, meine Frage ist: Was brauche ich, bevor sie sich auf das wissen? Wo kann ich gute Referenzen bekommen (außer hier und spezifisch für den NXT)? Was sind andere anständige "Basis" -Bibliotheken für Dinge wie Bluetooth-Kommunikation?

* Ich bin alle für die Verwendung von Boost und der STL, wenn nötig, übrigens.

Alternativ glaube ich daran, das Rad nicht neu zu erfinden, wenn ich nicht muss, also, wenn es eine anständige C++ OOP Bluetooth-kommunizierende NXT-Bibliothek gibt, lass es mich wissen!

Antwort

3

Ich habe mir das schon mal angesehen.

Beginn der Suche hier: http://bricxcc.sourceforge.net/

Auf dieser Seite findet man die Quelle für sie herunterladen können. Am Ende habe ich meinen C-Quellcode bis auf Byte-Codes kompiliert, die der NXT-Baustein verstehen kann. Diese

mir erlaubt, einige benutzerdefinierte Erweiterungen C hinzufügen, obwohl ich viel Zeit bis zu einer kompakt genug Form in Bytecode kompiliert C tat verbringen, die in den Speicher des NXT passen :)

Wenn Sie ein verwenden bestehende C-Implementierung dann überprüfen Sie dieses Diagramm: http://www.teamhassenplug.org/NXT/NXTSoftware.html

Für eine Liste der NBC (Next Byte Codes) mit dieser Seite beginnen. Ich fand es sehr hilfreich.

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

1

ich verwendet, um dieses eine, ich weiß nicht, ob Sie es oder nicht überprüft haben:

Unterstützung

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

Diese Bibliothek liefert Daten für das Lesen von verschiedenen Sensor über eine Bluetooth-Verbindung sowie Unterstützung für die Steuerung von Motoren.

Darüber hinaus kann die Bibliothek leicht geändert werden, und ich fand es extrem einfach, es neu zu konfigurieren.

1

Ich kam im vergangenen Jahr über diesen Thread, während an einem Projekt arbeiten in C++ einen Roboterarm zu steuern. Ich habe 2 NXT-Steine ​​und 5 Motoren verwendet.

Sie können das Original NXT ++ 0 finden.6 Bibliothek hier:
http://nxtpp.clustur.com
https://sourceforge.net/projects/nxtpp/forums/
Leider ist diese Seite nicht aktualisiert wird.

gegabelt ich eine neue NXT-Version ++ 0.7 mit einigen Korrekturen sowie Unterstützung für mehrere Steine, über USB oder Bluetooth: https://github.com/dbworth/nxt-plus-plus
die Readme-Datei für Details.

Ein anderer Benutzer, Piotr hat Unterstützung NXT hinzugefügt ++ 0,6-2 für den HiTechnic Sensor Multiplexer und Lego Farbsensor:
http://wmii.uwm.edu.pl/~artem/downloads.html

Grüße,
David.