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 / 1067
1066  |  1068
Subject: 
Re: A tutti i Dragstereers
Newsgroups: 
lugnet.loc.it
Date: 
Fri, 21 Jan 2000 11:26:33 GMT
Viewed: 
476 times
  
Marco Beri <marcob@equalis.it> wrote:
Ho pensato: perche` una buona anima, diciamo uno a caso tra Carlo e
Mario, non fanno opera di raccolta e postano la versione definitiva,
inappellabile, cumulativa del regolamento con in appendice il pezzo di
codice?

Ok pigrone. Vedi in coda a questo messaggio, però...

Purtroppo stasera dovro` portare la moglie al cinema e
tornando solo alle 23 avro` poco tempo per raccogliere le mie idee e
quindi mi piacerebbe non dover spulciare tra 23 messaggi.
Comunque un'opera del genere servirebbe a tutti credo.
Per intanto grazie.

...la prossima volta tu fai opera di raccolta e io porto al cinema TUA
moglie :-)

Ciao
Mario

/*

0) La lunghezza del percorso di gara è di 5m. Dopo il traguardo il dragster
deve
arrestarsi entro 20 cm, senza comunque retrocedere oltra la linea di
traguardo
appena superata. Tutte le misurazioni di partenza, arrivo e frenata faranno
riferimento alla posizione del sensore di luce fissato sul dragster. Il
cronometraggio è effettuato dal dragster medesimo con convalida tramite
cronometro esterno. Nel caso il dragster non si arresti entro i 20cm la
prova
sarà considerata nulla. Per la partenza il dragster viene posizionato prima
della
linea, spinto *dolcemente* sulla stessa fino a che il sensore di luce non la
rileva. Il codice deve prevedere a questo punto un attesa di almeno 5
secondi
prima di attivare i motori. Prima dell'attivazione dei motori deve essere
altresì
controllata un'ultima volta, sempre dal codice, la posizione sulla linea di
partenza. Il cronometraggio deve essere avviato *prima* dell'accensione dei
motori ed arrestato *dopo* il superamento del traguardo.
1) Il dragster deve essere costruito *esclusivamente* con pezzi di
produzione Lego. (Con l'unica eccezione delle batterie)
2) Si possono usare un massimo di tre motori.
3) Il dragster deve portare a bordo l'RCX per tutta la durata della prova.
4) Non è possibile alimentare l'RCX dall'esterno.
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 spostare in avanti l'RCX
rispetto alle ruote per "prevenire" la riga, ben venga)
8) il codice dovra` essere messo a disposizione prima della gara e caricato
in
loco sotto controllo pubblico.
9) E' consentito l'uso di un solo sensore di luce.
10) E' vietato l'uso di sensori di rotazione. (I sensori di temperatura
potete usarli :-)
11) Non sono ammessi sistemi propulsivi pre-caricati ad aria, elastico,
molla
o nessun altro tipo. L'unica fonte possibile di moto diretto o indiretto
devono
essere i motori elettrici, azionati durante lo svolgimento della gara.
12) Il dragster deve sembrare, almeno vagamente, un dragster. Veicoli che
ricordano la macchina di Nonna Papera o un carrello per la spesa potranno
non
essere ammessi alla gara con giudizio a maggioranza degli altri concorrenti.
13) E' vietato lubrificare gli assi. (Lego non produce nessun lubrificante.)

*/

// Dragster
// ========
//
// - sensore di luce su porta 1
// - tre motori su A, B, e C

#define SOGLIA 740

// variabili per cronometro
int t, t0, t1, t2, t3;

task main()
{
  // configura sensore di luce su porta 1
  SetSensorType(SENSOR_1, SENSOR_TYPE_LIGHT);
  SetSensorMode(SENSOR_1, SENSOR_MODE_RAW);

  // dimensiona datalog x cronometraggio
  CreateDatalog(5);

  // attende di essere posizionato sulla linea di partenza
  while (SENSOR_1<SOGLIA);

  // sulla linea, pronti al via tra 5 secondi
  Wait(100); PlayTone(440,5);
  Wait(100); PlayTone(440,5);
  Wait(100); PlayTone(440,5);
  Wait(100); PlayTone(440,5);
  Wait(100); PlayTone(880,5);

  // test se posizione di partenza corretta
  if (SENSOR_1<SOGLIA)
  {
    // partenza annullata
    PlaySound(SOUND_LOW_BEEP);
    StopAllTasks();
  }

  // via!!
  StartTimer();
  OnFwd(OUT_A+OUT_B+OUT_C); // o altro codice di vostra specifica scelta

  // attende di essere fuori dalla linea di partenza prima di cercare
  // quella di arrivo
  Wait(50);

  // attende la linea di arrivo
  while (SENSOR_1<SOGLIA);

  // ferma il cronometro
  StopTimer();

  // avvia task di controllo rispetto limiti di frenata
  start controlla_traguardo;

  // frena
  Off(OUT_A+OUT_B+OUT_C); // o qualsiasi altra cosa decidiate di fare per
frenare

}

task controlla_traguardo()
{
  // attende di essere fuori dalla linea di arrivo prima di cercare
  // quella di limite (in 4 centesimi il dragster dovrebbe fare circa 5 cm)
  Wait(4);

  // attende che sia toccata una delle linee (traguardo o limite)
  while (SENSOR_1 < SOGLIA);

  // avvisa di linea toccata
  PlaySound(SOUND_LOW_BEEP);
}

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);

  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);
}



Message has 1 Reply:
  Re: A tutti i Dragstereers
 
(...) :-))) Ok. Venduta. Ciao. Marco. (25 years ago, 21-Jan-00, to lugnet.loc.it)

Message is in Reply To:
  A tutti i Dragstereers
 
Ho pensato: perche` una buona anima, diciamo uno a caso tra Carlo e Mario, non fanno opera di raccolta e postano la versione definitiva, inappellabile, cumulativa del regolamento con in appendice il pezzo di codice? Purtroppo stasera dovro` portare (...) (25 years ago, 21-Jan-00, to lugnet.loc.it)

3 Messages in This Thread:

Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact

This Message and its Replies on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

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