Pergunta

Há um tempo, eu tenho um lego Mindstorms NXT definido para o Natal, e agora gostaria de programá -lo no C ++.

Eu olhei em volta, aqui e outros lugares, e não consegui encontrar uma biblioteca de código aberto, de plataforma cruzada, OOP C ++ que "parecia certo", incluindo Lestat e Nxtosek.

Então, decidi que, a menos que eu possa encontrar um que eu goste, seria uma ótima experiência de aprendizado para eu escrever minha própria biblioteca.

Fiz uma pequena pesquisa e decidi que seria mais fácil se comunicar com ela sobre o Bluetooth, em vez de compilar meus programas com o código da máquina NXT.

Eu também gostaria que isso fosse feito no estilo OOP, o que significa que o tijolo NXT, motores, sensores etc. existiria como objetos.

Então, minha pergunta é: o que eu preciso saber antes de embarcar nisso? Onde posso obter boas referências (além de aqui e específico para o NXT)? O que são outras bibliotecas "básicas" decentes* para coisas como comunicação Bluetooth?

*Sou a favor de usar o Boost e o STL, se necessário, a propósito.

Como alternativa, acredito em não reinventar a roda, se não for necessário, por isso, se houver uma biblioteca NXT decente C ++ OOP Bluetooth Communicating NXT por aí, me avise!

Foi útil?

Solução

Já dei uma olhada em fazer isso antes.

Comece a procurar aqui: http://bricxcc.sourceforge.net/

Nesta página, você pode baixar a fonte para ela. O que acabei fazendo é compilar meu código -fonte C até códigos de bytes que o NXT Brick pode entender.

Isso me permitiu adicionar algumas extensões personalizadas a C, embora eu gaste muito tempo compilando C até uma forma compacta suficiente em códigos de bytes que se encaixam na memória do NXT :)

Se você deseja usar uma implementação C existente, consulte este gráfico: http://www.teamhassenplug.org/nxt/nxtsoftware.html

Para uma lista da NBC (Next Byte Codes), comece com esta página. Achei extremamente útil.

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

Outras dicas

Eu usei este, não sei se você verificou ou não:

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

Esta biblioteca fornece suporte para ler vários dados do sensor sobre uma conexão Bluetooth, bem como suporte para controlar motores.

Além disso, a biblioteca pode ser facilmente modificada e achei extremamente fácil reconfigurá -la.

Me deparei com esse tópico no ano passado, enquanto trabalhava em um projeto usando C ++ para controlar um braço de robô. Eu usei 2 tijolos NXT e 5 motores.

Você pode encontrar a biblioteca NXT ++ 0.6 original aqui:
http://nxtpp.clustur.com
https://sourceforge.net/projects/nxtpp/forums/
Infelizmente, este site não está sendo atualizado.

Fiz uma nova versão NXT ++ 0.7 com algumas correções e suporte para vários tijolos, via USB ou Bluetooth:https://github.com/dbworth/nxt-plus-plus
Consulte o arquivo ReadMe para obter detalhes.

Outro usuário, PIOTR, adicionou suporte ao NXT ++ 0,6-2 para o sensor hitechnic Multiplexor e o sensor de cores LEGO:
http://wmii.uwm.edu.pl/~artem/downloads.html

Cumprimentos,
David.

Vamos ver a demonstração de possibilidades de NXT ++, a filtragem do histograma,https://www.youtube.com/watch?v=pdytjwgvsxgÉ baseado na versão mais recente que suporta multiplexadores, de http://wmii.uwm.edu.pl/~artem e da seção de download,

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top