Библиотека ООП на C ++ для программирования Lego NXT

StackOverflow https://stackoverflow.com/questions/1926078

  •  20-09-2019
  •  | 
  •  

Вопрос

Некоторое время назад я получил набор LEGO Mindstorms NXT на Рождество, и теперь я хотел бы запрограммировать его на C ++.

Я осмотрелся здесь и в других местах и не смог найти кроссплатформенную библиотеку ООП C ++ с открытым исходным кодом, которая "казалась бы подходящей", включая lestat и nxtOSEK.

Итак, я решил, что если я не смогу найти ту, которая мне действительно нравится, то для меня было бы отличным опытом написать свою собственную библиотеку.

Я провел небольшое исследование и решил, что было бы проще всего общаться с ним по bluetooth, а не компилировать свои программы в машинный код NXT.

Я бы также хотел, чтобы это было сделано в стиле ООП, то есть кирпич NXT, двигатели, датчики и т.д. Существовали бы как объекты.

Итак, мой вопрос заключается в следующем:что мне нужно знать, прежде чем приступить к этому?где я могу получить хорошие ссылки (кроме here и специфичные для NXT)?Каковы другие достойные "базовые" библиотеки * для таких вещей, как связь по Bluetooth?

* Кстати, я полностью за использование boost и STL, если это необходимо.

В качестве альтернативы, я верю в то, что не стоит изобретать велосипед, если в этом нет необходимости, поэтому, если существует приличная библиотека NXT для C ++ ООП с поддержкой Bluetooth, дайте мне знать!

Это было полезно?

Решение

Я уже рассматривал, как это делается раньше.

Начните искать здесь: http://bricxcc.sourceforge.net/

На этой странице вы можете скачать исходный код для него.В итоге я скомпилировал свой исходный код C до байтовых кодов, которые может понять NXT-блок.

Это позволило мне добавить некоторые пользовательские расширения к C, хотя я потратил много времени на компиляцию C до достаточно компактной формы в байтовых кодах, которые помещаются в память NXT:)

Если вы хотите использовать существующую реализацию на языке Си, то ознакомьтесь с этой диаграммой: http://www.teamhassenplug.org/NXT/NXTSoftware.html

Список NBC (следующих байтовых кодов) можно найти на этой странице.Я нашел это чрезвычайно полезным.

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

Другие советы

Я использовал этот, я не знаю, проверили вы его или нет:

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

Эта библиотека обеспечивает поддержку считывания различных данных датчиков по Bluetooth-соединению, а также поддержку управления двигателями.

Более того, библиотеку можно легко модифицировать, и я обнаружил, что перенастроить ее чрезвычайно легко.

Я наткнулся на эту тему в прошлом году, работая над проектом, использующим C ++ для управления роботизированной рукой.Я использовал 2 кирпича NXT и 5 моторов.

Вы можете найти оригинальную библиотеку NXT ++ 0.6 здесь:
http://nxtpp.clustur.com
https://sourceforge.net/projects/nxtpp/forums/
К сожалению, этот сайт не обновляется.

Я разветвил новую версию NXT ++ 0.7 с некоторыми исправлениями и поддержкой нескольких блоков через USB или Bluetooth:https://github.com/dbworth/nxt-plus-plus
Смотрите файл Readme для получения подробной информации.

Другой пользователь, Петр, добавил в NXT ++ 0.6-2 поддержку сенсорного мультиплексора HiTechnic и цветового датчика Lego:
http://wmii.uwm.edu.pl /~artem/downloads.html

С уважением,
Дэвид.

Давайте посмотрим на демонстрацию возможностей NXT++, фильтрацию гистограмм, https://www.youtube.com/watch?v=PDYtjWgvsxg он основан на последней версии, поддерживающей мультиплексоры, от http://wmii.uwm.edu.pl /~артем и раздел загрузки,

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top