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 / 1005
1004  |  1006
Subject: 
Re: Regolamento.
Newsgroups: 
lugnet.loc.it
Date: 
Tue, 18 Jan 2000 09:04:41 GMT
Viewed: 
465 times
  
Carlo Ottolina <kruntz@tiscalinet.it> wrote in message:
"marco berti" <arcmberti@dinet.it> wrote in message:
Per la partenza la cosa piu' semplice e' a mio avviso di spingerlo sulla
linea
bianca lo fai quindi aspettare un secondo e poi via ed e' lo stesso
sensore di luce che inizia la procedura.

Mmmmmhh, qualcuno ha le braccia più lunghe........
Anch'io propenderei per il telecomando.

A me non dispiace l'idea della partenza automatica, non credo che le braccia
possano influire :-)
Il codice potrebbe essere una cosa di questo genere (incluso il cronometro
di Antonio):

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


// Carlo ci deve fornire questo valore di soglia, la media tra la lettura
// di luce del suo pavimento e quella della linea

#define SOGLIA 67

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

task main()
{
  // configura sensore di luce su porta 1
  SetSensor(SENSOR_1,SENSOR_LIGHT);

  // dimensiona datalog
  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);

  // via!! corre e perde (il vostro)
  StartTimer();
  OnFwd(OUT_A+OUT_B+OUT_C);

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

  // frena
  Off(OUT_A+OUT_B+OUT_C);

}

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

Naturalmente dove io ho messo un semplice On e Off dei motori potete
inserire codici più sofisticati che rispecchiano l'architettura fisica del
vostro veicolo.

Compilato ma non provato (non ho ancora il dragster).

Ciao
Mario



Message has 1 Reply:
  Re: Regolamento.
 
"Mario Ferrari" <mario.ferrari@edis.it> wrote in message news:FoIxCy.vE@lugnet.com... (...) Credo sia necessario inserire qui il codice per impedire che il dragster possa essere spinto *oltre* la linea. Era questo che intendevo con "braccia (...) (25 years ago, 18-Jan-00, to lugnet.loc.it)

Message is in Reply To:
  Re: Regolamento.
 
"marco berti" <arcmberti@dinet.it> wrote in message news:FoI5wM.7us@lugnet.com... (...) linea (...) sensore di (...) Mmmmmhh, qualcuno ha le braccia più lunghe........ Anch'io propenderei per il telecomando. -- Cheers Carlo. LUGNET member page: (...) (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

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