GianCann Inserito 16 Agosto 2014 segnalazione Share Inserito 16 Agosto 2014 Buongiorno a tutti! Ho a disposizione alcuni RCX (sia 1.5 che 2.0), due NXT 2.0 e due EV3 Finora ho sempre utilizzato il software originale LEGO per realizzare semplici progetti... ma visto che qualcuno (Valter1966 ne sai qualcosa??? ) mi ha lanciato la "sfida" di partecipare a Lecco 2015 con un mio robot per il SUMO robotico, è ora di passare ad un livello successivo di programmazione. Pertanto, durante i prossimi giorni di ferie, mi dedicherò un po' allo studio del linguaggio NQC/NXC ;D Ho scaricato e stampato un paio di tutorial sia su NQC che su NXC (quello di Daniele Benedetelli e quello di Mark Overmars) e porterò con me (nella località di villeggiatura) un RCX ed un NXT con i relativi motori/sensori/cavi, allo scopo di fare qualche esperimento. Ho conoscenze avanzate di programmazione (essendo un sviluppatore software) seppur utilizzando altri linguaggi di programmazione (VB/VB.NET/C#) e, da quel che ho visto, l'ambiente di sviluppo (BricxCC) e il linguaggio NQC, sono abbastanza intuitivi. Inizierò con l'RCX, visto che ho intenzione di realizzare un semplice sistema di controllo per un circuito ferroviario e per un modulo GBC che sto sviluppando. Poi passerò all'NXT, per realizzare un paio di sumo-robot di test... Scrivo questo post per raccogliere alcuni suggerimenti, indicazioni e consigli, *anche banali* che un "newbie" come come, deve conoscere per non perdere tempo ed iniziare subito a "produrre" con questo sistema Ad esempio: c'è qualche particolare accortezza per quanto riguarda i driver? Lavoro con WinXP Pro ed ho la torretta USB per l'RCX ma ricordo che, in passato, ho avuto un po' di problemi a farla funzionare... tanto che, sul PC di casa, uso la torretta con porta seriale. Inoltre, ho notato che, spesso, il trasferimento via IrDA tra torretta e RCX non va a buon fine... ho letto che può essere un problema di luce... c'è qualche workaround a proposito? Insomma, l'idea di questo thread è quella di raccogliere un po' di info, link, consigli ed esperienze reali per "giocare" al meglio, con questi brick Grazie in anticipo a chiunque collaborerà a questa raccolta di informazioni Link to comment Condividi su altri siti More sharing options...
Giuliano Inserito 16 Agosto 2014 segnalazione Share Inserito 16 Agosto 2014 Scrivo questo post per raccogliere alcuni suggerimenti, indicazioni e consigli, *anche banali* che un "newbie" come come, deve conoscere per non perdere tempo ed iniziare subito a "produrre" con questo sistema Caschi a fagiolo!!! Anche io vorrei realizzare della semplice automazione ferroviaria. E anche io ho gli RCX! Ma con una piccola differenza: non so programmare!!! Riguardo al controllo ferroviario, tempo fa, il grande Mario Ferrari mi aveva passato un paio di suoi software per RCX, e li potremo analizzare. Per la torretta, io uso quella USB su PC con WinXP, ma so che occorre scaricare il driver giusto, più una patch. Qui trovi qualche cosa: http://www.philohome.com/sdk25/sdk25.htm E' un pò di tempo che non faccio più niente, ma è ora che mi rinfresco la memoria!!! Link to comment Condividi su altri siti More sharing options...
GianCann Inserito 16 Agosto 2014 Author segnalazione Share Inserito 16 Agosto 2014 E anche io ho gli RCX! Ma con una piccola differenza: non so programmare!!! (...) E' un pò di tempo che non faccio più niente, ma è ora che mi rinfresco la memoria!!! Bene! Devo dire che l'input per passare a NQC/NXC l'ho avuto sia in occasione di Empoli 2014 (guardando Biffuz che riprogrammava al volo (con il mio PC, tra l'altro ) l'RCX che controllava il treno del suo GBC e in occasione di Lecco 2014, grazie alla chiacchierata con Alf e con Valter1966. Se hai modo di passarmi il file che ti aveva fornito Mario, ci do un'occhiata anch'io, e vediamo cosa ne riusciamo tirar fuori Ha reagito a questo contenuto: Giuliano 1 Link to comment Condividi su altri siti More sharing options...
GianCann Inserito 16 Agosto 2014 Author segnalazione Share Inserito 16 Agosto 2014 Ok, ho "speso" la prima mezz'ora con Bricxcc Alcune note positive: 1) La torretta USB ha funzionato al volo... 2) Mai, prima d'ora, ero riuscito a scaricare il firmware sull'RCX senza riscontrare alcun problema, come questa volta 3) In meno di 10 minuti il mio programma NQC girava sull'RCX Il programma è banale e la sua funzionalità finale sarà quella di invertire il senso di rotazione di un motore, ogni qualvolta viene premuto un pulsante. Lo scopo è quello di utilizzarlo, in futuro, su un tracciato ferroviario 9V "aperto", con il tram del trasporto urbano (set 8404) che fa 'avanti/indietro' sul percorso, dalla stazione A alla stazione B e viceversa. E' composto da due task, main e WaitForStopProgram , che "viaggiano paralleli". Il programma parte dal task main (che, per default, è il principale) che, a sua volta, lancia il task WaitForStopProgram . Quest'ultimo non fa nulla di particolare, se non attendere che venga premuto il sensore di tocco collegato alla porta 3, e fermare tutto! La "logica" principale è tutta nel task main , Si parte da una situazione in cui il motore (posizionato sulla porta A) è fermo. Il ciclo infinito, stabilito dall'istruzione while (true), resta in attesa che venga premuto il sensore di tocco collegato alla porta 1. Quando ciò avviene, viene testato il valore della variabile locale VersoRotazione e, in base al suo valore (0 o 1, ovvero AVANTI o INDIETRO) non fa altro che invertire il senso di marcia del motore, attendendo un po' di tempo, a motore fermo (simulando la fermata alla stazione). Immaginate questa situazione: due sensori di tocco collegati in parallelo sulla stessa porta 'A', e posizionati ognuno all'estremo di una parte del circuito ferroviario (aperto, vi ricordo). Il treno è al centro del circuito (o comunque, lontano dai due sensori di tocco). A questo punto si preme (manualmente) uno dei due sensori e il programma, dopo aver atteso un paio di secondi (stabilito dalla costante TEMPO_FERMATA_STAZIONE ) fa partire il treno in direzione 'AVANTI'. Quando il treno raggiungerà il punto finale di una delle due estremità del circuito, ovvero quando azionerà uno dei due sensori di tocco posto lungo il tracciato ferroviario, in prossimità di una delle due stazioni, verrà fermato. Dopo un paio di secondi (tempo ovviamente modifibile intervenendo sul valore della costante TEMPO_FERMATA_STAZIONE) ripartirà in direzione opposta. ...e così via. Il programma ovviamente non è perfetto, ed è giusto per prendere confidenza con Bricxcc e il linguaggio NQC. Suggerimenti e commenti sono più che graditi #define AVANTI 0 #define INDIETRO 1 #define TEMPO_FERMATA_STAZIONE 200 task main() { int VersoRotazione; VersoRotazione=INDIETRO; SetSensor(SENSOR_1,SENSOR_TOUCH); SetPower(OUT_A,2); start WaitForStopProgram; while (true) { if (SENSOR_1 == 1) { if (VersoRotazione==INDIETRO) { VersoRotazione=AVANTI; Off(OUT_A); Wait(TEMPO_FERMATA_STAZIONE); SetPower(OUT_A,2); OnFwd(OUT_A); Wait(150); } else { VersoRotazione=INDIETRO; Off(OUT_A); Wait(TEMPO_FERMATA_STAZIONE); SetPower(OUT_A,2); OnRev(OUT_A); Wait(150); } } } } task WaitForStopProgram () { SetSensor(SENSOR_3,SENSOR_TOUCH); while (true) { if (SENSOR_3 == 1) { StopAllTasks (); } } } Ha reagito a questo contenuto: Giuliano 1 Link to comment Condividi su altri siti More sharing options...
GianCann Inserito 16 Agosto 2014 Author segnalazione Share Inserito 16 Agosto 2014 È parecchio rudimentale, ma rende l'idea del risultato che voglio ottenere... Per averci impiegato un'oretta di "lavoro", sono piuttosto soddisfatto Ha reagito a questo contenuto: Giuliano 1 Link to comment Condividi su altri siti More sharing options...
Valter1966 Inserito 21 Agosto 2014 segnalazione Share Inserito 21 Agosto 2014 Mi sembra un buon inizio, anche se da un AFOL del tuo livello e che vuole entrare nel mondo del Sumo, dobbiamo aspettarci ben altro ! ;D Link to comment Condividi su altri siti More sharing options...
ruperez Inserito 7 Dicembre 2014 segnalazione Share Inserito 7 Dicembre 2014 ciao, che ne pensate di questo sistema di programmazione http://www.lejos.org/ Link to comment Condividi su altri siti More sharing options...
dpiscina Inserito 7 Dicembre 2014 segnalazione Share Inserito 7 Dicembre 2014 Servirebbe un sensore x il rallentamento. Prima di arrivare al respingente oppure usare solo quello a 10 cm dal respingente. Ha reagito a questo contenuto: ciri 1 Link to comment Condividi su altri siti More sharing options...
goroxto Inserito 16 Dicembre 2014 segnalazione Share Inserito 16 Dicembre 2014 Non riesco ad aprire un topic nuovo per l'argomento.. Che voi sappiate, è possibile programmare ev3 senza installare un nuovo firmware? Installando un nuovo firmware, poi com'è possibile tornare al firmware originale Lego? Attualmente ho provato solo lejos installandolo su schedina sd ma preferivo qualcosa di stabile in rom (o ram?) dell'ev3.. Link to comment Condividi su altri siti More sharing options...
GianCann Inserito 18 Dicembre 2014 Author segnalazione Share Inserito 18 Dicembre 2014 Ciao, Ti confermo che è possibile programmare l'EV3 senza la necessità di installare un firmware modificato: http://bricxcc.sourceforge.net Non ho ancora avuto modo di testare un firmware alternativo, ma leggendo alcuni post su altri forum, pare sia possibile ripristinare il firmware originale senza alcun problema: http://www.thenxtstep.com/2013/08/how-to-update-your-ev3-firmware.html?m=1 Link to comment Condividi su altri siti More sharing options...
holyhope Inserito 24 Dicembre 2014 segnalazione Share Inserito 24 Dicembre 2014 Ciao, io sono Ingegnere Informatico / Automazione e lavoro come programmatore C embedded. Non ho per ora conoscenza dell' NXT ma se ti dovesse servire una mano sono lieto di dartela... ciao! Link to comment Condividi su altri siti More sharing options...
Post raccomandati
Crea un account o accedi per commentare
Devi essere un utente registrato per postare un commento
Crea un account
Iscriviti per un nuovo account nella nostra community. È facile!
Registra un nuovo accountAccedi
Hai un account? Accedi .
Accedi ora