Subject:
|
Re: Regolamento.
|
Newsgroups:
|
lugnet.loc.it
|
Date:
|
Mon, 17 Jan 2000 23:49:56 GMT
|
Viewed:
|
374 times
|
| |
| |
Marco Beri wrote:
>
> A proposito, chi posta il pezzo di codice preciso per i tempi?
Io veramente l'ho postato gia' da mercoledi' scorso...
E' che da quando ti hanno detto che non ti daranno il dolce
sei entrato in evidente stato confusionale! :)))
Dunque, rapido cut'n'paste e...
Approfitto dell'occasione per postare la bozza del codice del
cronometro. Fate i bravi beta tester, mi raccomando ;)
Aspetto vostri commenti.
(Il robot di riferimento e' ormai il mio classico con due sensori
di contatto nelle porte 1 e 3 che suonano quando sono premuti. ;)
Se fate i cattivi e premete due volte il sensore 1 peggio per voi
riazzerate tutto :)
------------------- crono.nqc ----------------------
int t, t0, t1, t2, t3;
task main()
{
SetSensor(SENSOR_1,SENSOR_TOUCH); // che dovra' invece diventare
SetSensor(SENSOR_3,SENSOR_TOUCH); // SENSOR_LIGHT
CreateDatalog(5);
while (true)
{
if(SENSOR_1 == 1) // sara' if(SENSOR_1 > "soglia")...
{
PlaySound(2);
StartTimer();
}
if(SENSOR_3 == 1) // sara' if(SENSOR_1 > "soglia")...
{
StopTimer();
PlaySound(3);
break;
}
}
}
void StartTimer()
{
ClearTimer(0);
Wait(2);
ClearTimer(1);
Wait(3);
ClearTimer(2);
Wait(3);
ClearTimer(3);
}
void StopTimer()
{
t0 = Timer(0);
t1 = Timer(1);
t2 = Timer(2);
t3 = Timer(3);
AddToDatalog(t0);
AddToDatalog(t1);
AddToDatalog(t2);
AddToDatalog(t3);
if( t1 < t0 )
t = t0 * 10;
else if( t2 < t0 )
t = t0 * 10 + 2;
else if( t3 < t0 )
t = t0 * 10 + 5;
else
t = t0 * 10 + 8;
AddToDatalog(t);
}
--------------- end of crono.nqc ----------------------------
Due esempi di Datalog che ho ottenuto (non con il dragster, che
ancora non esiste :) sono:
Variable 1: 47
Variable 2: 47
Variable 3: 47
Variable 4: 46
Variable 0: 475 ---> 475 centesimi di secondo
e
Variable 1: 104
Variable 2: 104
Variable 3: 103
Variable 4: 103
Variable 0: 1042 ---> 1042 centesimi di secondo
(Ovviamente il cronometro definitivo non avra' bisogno di mettere
t0, t1, t2 e t3 nel Datalog, ne' di sprecare l'ulteriore variabile t.)
> A riproposito, come si da la partenza?
Magari si puo' partire dopo una Wait() di 5 secondi dopo aver
posizionato il dragster sulla linea di partenza e aver premuto run.
Il cronometro dovrebbe scattare in corrispondenza della linea di
partenza, e poi di nuovo in corrispondenza del traguardo.
Una domanda per Carlo: quanto sara' largo lo scotch che userai per
il traguardo?
> A ririproposito, come si visualizzano i tempi?
Si porta il dragster davanti al PC, si apre l'RCX-CC e si fa
l'upload del Datalog sul PC.
Ciao,
Antonio
|
|
Message is in Reply To:
| | Re: Regolamento.
|
| (...) :-))) (...) Aggiungerei: 5) non deve essere "perso" nessun pezzo strada facendo 6) non possono essere usate rampe di lancio 7) il sensore di luminosita` deve costituire un corpo unico con l'RCX (se qualcuno e` cosi` bravo da riuscire a (...) (25 years ago, 17-Jan-00, to lugnet.loc.it)
|
19 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|