Vor einiger Zeit habe ich ein LEGO Mindstorms NXT-Set für Weihnachten bekommen, und jetzt möchte ich es in C ++ programmieren.
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 habe ich beschlossen, dass es für mich eine großartige Lernerfahrung sein würde, eine eigene Bibliothek zu schreiben, wenn ich keine finden kann, die mir gefällt.
Ich habe ein wenig Nachforschungen angestellt und entschieden, dass es am einfachsten wäre, über Bluetooth mit ihm zu kommunizieren, anstatt meine Programme mit dem NXT-Maschinencode zu kompilieren.
Ich möchte auch, dass dies im OOP-Stil gemacht wird, was bedeutet, dass der NXT-Baustein, Motoren, Sensoren usw. als Objekte existieren würden.
Meine Frage ist also: Was muss ich wissen, bevor ich damit anfange? Wo kann ich gute Referenzen bekommen (außer hier und spezifisch für den NXT)? Was sind andere anständige "grundlegende" Bibliotheken * für Dinge wie Bluetooth-Kommunikation?
* Ich benutze Boost und die STL, falls nötig, übrigens.
Alternativ glaube ich daran, das Rad nicht neu zu erfinden, wenn ich es nicht muss. Wenn es also eine anständige C ++ OOP-Bluetooth-kommunizierende NXT-Bibliothek gibt, lassen Sie es mich wissen!
Ich habe mir das schon mal angesehen.
Fangt an, hier zu suchen: Ссылка
Auf dieser Seite können Sie die Quelle herunterladen. Was ich getan habe, besteht darin, meinen C-Quellcode bis auf Byte-Codes zu kompilieren, die der NXT-Baustein verstehen kann.
Dies erlaubte mir, einige benutzerdefinierte Erweiterungen zu C hinzuzufügen, obwohl ich viel Zeit damit verbracht habe, C zu einer kompakten Form in Byte-Codes zu kompilieren, die in den NXT-Speicher passen:)
Wenn Sie eine bestehende C-Implementierung verwenden wollen, dann schauen Sie sich diese Grafik an: Ссылка
Eine Liste der NBC (Next Byte Codes) beginnt mit dieser Seite. Ich fand es sehr hilfreich.
Ich habe das hier benutzt, ich weiß nicht, ob Sie es überprüft haben oder nicht:
Diese Bibliothek bietet Unterstützung für das Lesen verschiedener Sensordaten über eine Bluetooth-Verbindung sowie Unterstützung für die Steuerung von Motoren.
Außerdem kann die Bibliothek leicht modifiziert werden, und ich fand es extrem einfach, sie neu zu konfigurieren.
Ich bin im letzten Jahr auf diesen Thread gestoßen, als ich an einem Projekt mit C ++ zur Steuerung eines Roboterarms gearbeitet habe. Ich habe 2 NXT Steine und 5 Motoren verwendet.
Sie können die ursprüngliche NXT ++ 0.6 Bibliothek hier finden:
Ссылка
Ссылка
Leider wird diese Seite nicht aktualisiert.
Ich gab eine neue Version NXT ++ 0.7 mit einigen Fixes und Unterstützung für mehrere Bausteine via USB oder Bluetooth ab:
Ссылка
Details finden Sie in der Readme-Datei.
Ein weiterer Anwender, Piotr, hat NXT ++ 0.6-2 für den HiTechnic-Sensor-Multiplexer und den Lego-Farbsensor unterstützt:
Ссылка
Grüße, David.