Go Down

Topic: Cronometro per pendolo  (Read 92 times) previous topic - next topic

ciccio0784

Salve a tutti,
Sono nuovo del forum e premetto che mi sto addentrando nel mondo di Arduino seguendo libri e i vostri consigli nel forum.
La domanda che sto per farvi l'ho cercata proprio tra i vari topic ma non riesco a trovare la risoluzione.

Il problema è questo:
sto progettando per scopi didattici un pendolo che possa spiegare agli studenti i moti oscillatori.
Mi serve un cronometro che possa misurare il tempo tra un passaggio davanti ad una fotocellula ed il successivo, in pratica mi serve i tempi progressivi (t2-t1, t3-t2 e così via) la fotocellula è fatta grazie ad un modulo emettitore laser che incide su una fotoresistenza.
vi posto una foto:

https://ibb.co/zQ7RspV
https://ibb.co/ssQrtNv


Il codice da me elaborato è il seguente:

int pos = 0;   
int  sensorPin  =  A0;     // select the input  pin for  the potentiometer
int  ledPin  =  13;   // select the pin for  the LED
int  sensorValue =  0;  // variable to  store  the value  coming  from  the sensor
float passaggio = 0;
float t1 = 0.0;
void setup() {
  pinMode(9,OUTPUT); 
  pinMode(ledPin,OUTPUT);
Serial.begin(9600);
}

void loop()
{
float passaggio = analogRead(sensorPin);
if (passaggio>13)
{
  t1=millis();
  }
 

sensorValue =  analogRead(sensorPin);
digitalWrite(ledPin,  HIGH);
delay(sensorValue);
digitalWrite(ledPin,  LOW);
delay(sensorValue);
Serial.println(sensorValue,  DEC);
Serial.println(t1);

digitalWrite(9 ,HIGH);

}

questo mi permette di avere valori non troppo sensibili alla luce ambientale.

il problema è proprio come cronometrare i tempi, non capisco l'artificio da utilizzare spero nel vostro aiuto.


gpb01

#1
Sep 19, 2019, 06:48 pm Last Edit: Sep 19, 2019, 06:50 pm by gpb01
Prima di tutto ti segnalo che, nella sezione in lingua Inglese, si può scrivere SOLO in Inglese ... quindi, per favore, la prossima volta presta più attenzione in quale sezione metti i tuoi post ...

... poi,essendo il tuo primo post nella sezione Italiana del forum, nel rispetto del regolamento di detta sezione (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il su citato REGOLAMENTO ...

... infine, in conformità al suddetto regolamento, punto 7, devi editare il tuo post qui sopra (quindi NON scrivendo un nuovo post, ma utilizzando il bottone More -> Modify che si trova in basso a destra del tuo post) e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra).

In pratica, tutto il tuo codice dovrà trovarsi racchiuso tra due tag: [code] _il _tuo_ codice_ [/code] così da non venire interpretato e non dare adito alla formazione di caratteri indesiderati o cattiva formattazione del testo. Grazie.

Guglielmo

P.S.: Il tuo post è già stato spostato nell'opportuna sezione del forum "Italiano"dove puoi proseguire la discussione.

P.P.S:Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell'apposito thread e sistemato il codice come da regolamento, nessuno ti potrà rispondere, quindi ti consiglio di fare il tutto al più presto. ;)
Search is Your friend ... or I am Your enemy !

Go Up