Domanda

Qualche tempo fa, ho avuto un set LEGO Mindstorms NXT per Natale, e ora vorrei programmare in C ++.

Ho guardato in giro, qui e in altri luoghi, e non riuscivo a trovare un cross-platform, open source, programmazione orientata agli oggetti libreria C ++ che "sembrava giusto", tra cui Lestat e nxtOSEK.

Quindi, ho deciso che se non riesco a trovare uno mi piace, allora sarebbe una grande esperienza di apprendimento per me di scrivere la mia libreria.

Ho fatto una piccola ricerca, e ha deciso che sarebbe stato più semplice per comunicare con esso tramite Bluetooth, piuttosto che compilare i miei programmi per il codice macchina NXT.

Vorrei anche come questo per essere fatto in stile OOP, cioè la NXT mattoni, motori, sensori, ecc esisterebbe come oggetti.

Quindi, la mia domanda è: che cosa ho bisogno di sapere prima di intraprendere questo? dove posso trovare buone referenze (oltre a qui, e specifico per l'NXT)? Quali sono altre librerie decenti "di base" * per cose come la comunicazione Bluetooth?

* Io sono per usare il boost e lo STL, se necessario, tra l'altro.

In alternativa, credo nella non reinventare la ruota se non devo, quindi se c'è un C ++ decente OOP bluetooth comunicanti biblioteca NXT là fuori, me lo faccia sapere!

È stato utile?

Soluzione

Ho preso uno sguardo a fare questo prima.

Iniziare a guardare qui: http://bricxcc.sourceforge.net/

In questa pagina è possibile scaricare il sorgente per esso. Quello che ho finito per fare è compilare il mio codice sorgente C fino a bytecode che il mattoncino NXT può capire.

Questo mi ha permesso di aggiungere alcune estensioni personalizzate per C anche se ho passato un sacco di tempo la compilazione di C fino a una forma abbastanza compatta in bytecode che si adattano nella memoria del NXT:)

Se si desidera utilizzare un'implementazione C esistente quindi controllare questo grafico: http: // www.teamhassenplug.org/NXT/NXTSoftware.html

Per un elenco dei NBC (Next Codici byte) iniziare con questa pagina. Ho trovato estremamente utile.

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

Altri suggerimenti

Ho usato questa, non so se hai controllato fuori o no:

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

Questa libreria fornisce supporto per la lettura vari dati dei sensori su una connessione Bluetooth così come il supporto per il controllo di motori.

Inoltre, la libreria può essere facilmente modificati, e l'ho trovato estremamente facile da riconfigurare.

mi sono imbattuto in questa discussione dello scorso anno, mentre si lavora su un progetto che utilizza C ++ per controllare un braccio robotico. Ho usato 2 NXT mattoni e 5 motori.

È possibile trovare la NXT originale ++ 0.6 biblioteca qui:
http://nxtpp.clustur.com
https://sourceforge.net/projects/nxtpp/forums/
Purtroppo questo sito non viene aggiornato.

I biforcato una nuova versione NXT ++ 0.7 con alcune correzioni, e il supporto per più mattoni, tramite USB o Bluetooth: https://github.com/dbworth/nxt-plus-plus
Vedere il file Leggimi per i dettagli.

Un altro utente, Piotr, ha aggiunto il supporto per NXT ++ 0,6-2 per il sensore multiplexer HiTechnic e sensore di colore di Lego:
http://wmii.uwm.edu.pl/~artem/downloads.html

Saluti,
David.

Vediamo la dimostrazione delle possibilità di NXT ++, il filtraggio istogramma, https://www.youtube.com/watch?v=PDYtjWgvsxg esso si basa sui multiplexer ultima versione di supporto, da http://wmii.uwm.edu.pl/~artem e sezione download,

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top