View Full Version : Visual C++ ed nqc
CIAO a tutti ho questo problema: nqc è un programma per far funzionare un robotino ma funziona con la console del dos! Io vorrei fare un programmino in visual c++ che attraverso la pressione di tasti vada ad trasferire il codice in nqc e quindi far muovere il robot! Come posso far capire al nqc che la presion edi un tasto (scritto in visual) corrisponde un comando?
grazie in anticipo ciao
Che tipo di programma è nqc ? Semplice testo ? Potresti farmi uno screenshot ?
vai a questa pagina che parla di nqc e robot della lego!
http://www.cs.uu.nl/~markov/lego/
I comandi sono questi ?
task main()
{
SetWatch(1,1); Wait(100);
SetWatch(2,4); Wait(100);
SetWatch(3,9); Wait(100);
SetWatch(4,16); Wait(100);
SetWatch(5,25); Wait(100);
}
Ma come glieli passi al programma ?
questo è un programma di prova che ho fatto:
task main()
{
OnFwd(OUT_A);
OnFwd(OUT_C);
Wait(400);
OnRev(OUT_A+OUT_C);
Wait(400);
Off(OUT_A+OUT_C);
}
Il robot va avanti per 4secondi poi si ferma e torna indientro per altri 4 secondi!
per passarlo al robot da riga di comando:
nqc -d prova.nqc -run
Il programma lo scrivi con il notepad e lo metti nella stessa directory del nqc!
Spero di essere stato chiaro
ciao
Ok...ma te lo vorresti muovere in tempo reale...quindi non creando i vari file .nqc e lanciando il programma ogni volta... Ho detto bene ?
Se lanci il programma senza passare il nome del file che succede ? Prende l'input del programma da tastiera ?!?!?
Qui c'è il sorgente di nqc: http://www.baumfamily.org/nqc/beta/
Usage: nqc [options] [actions] [ - | filename ] [actions]
- : read from stdin instead of a source_file
Interessante questo per leggere dallo standard input...
Qui c'è un programma per redirigere l'output di un programma sull'input di un altro programma...
Ovviamente te al posto di "child" dovrai lanciare "nqc -d - -run"....
Originally posted by "cionci"
Ok...ma te lo vorresti muovere in tempo reale...quindi non creando i vari file .nqc e lanciando il programma ogni volta... Ho detto bene ?
Se lanci il programma senza passare il nome del file che succede ? Prende l'input del programma da tastiera ?!?!?
Scusa se non ti ho risposto subito ma l'adsl è down e sono tornato con il 56k!
In tempo reale non credo che funzioni bisogna sempre creare un file .nqc che lo scarichi sulla memoria del robot! Poi a me non interessa per ora che funzioni in tempo reale! Hai qualche listato?
Originally posted by "cionci"
Qui c'è un programma per redirigere l'output di un programma sull'input di un altro programma...
Ovviamente te al posto di "child" dovrai lanciare "nqc -d - -run"....
Non vedo niente
ciao
Ecco qua: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/creating_a_child_process_with_redirected_input_and_output.asp
Prova a lanciare il programma così : "nqc -d - -run" e scrivi da tastiera un programma... Prova a vedere se i comandi vengono inviati subito o alla fine del file...
Appena posso provo e ti faccio sapere!
Ne ho visto uno fatto in builder dove creava un file start.nqc e per ogni movimento scriveva il codice lo salvava nel file start.nqc e lo eseguiva! Un pò lento ma funzionante!
ciao ;)
Originally posted by "Murphy"
Appena posso provo e ti faccio sapere!
Ne ho visto uno fatto in builder dove creava un file start.nqc e per ogni movimento scriveva il codice lo salvava nel file start.nqc e lo eseguiva! Un pò lento ma funzionante!
Così è troppo semplice ;) Se interpretasse volta volta ogni comando passato da tastiera basterebbe redirigire l'output del tuo programma su nqc ed avresti un movimento in tempo reale :)
Ciao sono riuscito a farlo funzionare scrivendo il codice che nqc esegue e salvandolo in un file! Quindi appena premo il tasto il codice viene salvato e viene richiamato nqc che lo esegue! C'è un ritardo di 1 sec tra il comando e l'esecuzione ma per ora mi sta bene!
un'altra strada era caricare una ocx del robot la spirit.ocx che ho già registrrato e passare direttamente i comandi al robot attraverso questa spirit.ocx! Però ancora non ho capito come si ingloba in visual c++ e come si richiamano i comandi di questa ocx! Uso il Visual studio .net!!!
Grazie per l'interessamento
ciao :)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.