To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.loc.itOpen lugnet.loc.it in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Local / Italia / 1002
1001  |  1003
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
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR