Buon giorno a tutti.
So che è tanto che non scrivo ma purtroppo non avevo in mete progetti. Ora finalmente ne sto iniziando uno e come al solito cerco di procedere uno step per volta. Ovviamente prima di cominciare ad armeggiare ho cercato di documentarmi un po' ma evidentemente non è bastato.
Lo scopo ultimo del progetto sarà un cronometro/contagiri per piste con macchine radiocomandate (macchina singola).
Posto l'argomento in generale perché non saprei se si tratta in un problema di hardware o di Software.
Ho acquistato dei rilevatori IR VS1838 a tre pin con i loro LED emettitori associati. Ho quindi realizzato il circuito in modo che con il fascio IR continuo si mantenga acceso un semplice led verde che dovrebbe spegnersi se qualcosa interrompe il fascio.
Solo che avviando il programma il led si accende ma poi si spegne dopo nemmeno un secondo. Se però passo la mano a interrompere il fascio quando la tolgo il led verde blippa acceso e poi si spegne nuovamente.
Questo vorrebbe dire che la macchina verrebbe letta solo dopo essere interamente passata oltre la barriera.
Questo è lo sketch che sto usando
const int sensorPin = 2; // select the input pin for the reciever
const int ledPin = 4; // select the input pin for control led
const int IrPin = 11; // select the input pin for the IR led
void setup() {
pinMode(sensorPin, INPUT);
pinMode(ledPin, OUTPUT);
pinMode(IrPin, OUTPUT);
}
void loop() {
tone (IrPin, 38000);
int StatoRicevitore = digitalRead(sensorPin);
if (StatoRicevitore == LOW) {
digitalWrite (ledPin, HIGH);
}
digitalWrite (ledPin, LOW);
}
La scheda che sto usando è una arduino UNO
Cosa sto sbagliando?
Grazie mille a chiunque voglia aiutarmi a capire.