dunque ... vi spiego un attimo il mio problema, ho costruito un sistema con 2 sensori 2 laser e un relè per attivare una fotocamera, il senso è catturare un'azione ad alta velocità.
il problema ? è lento.
entriamo piu nel dettaglio, il sistema funziona in questo modo :
A1 è un analog input che legge i livelli del fotodiodo ( nello schema non avevo i riceventi e ho messo un'emettitore ma è un fotodiodo)
A2 è un digital output che fornisce il livello al relay reed
i componenti li ho selezionati per la loro alta velocità di risposta
il relay è un D1C051000, con un tempo di commutazione di 1ms max. e un'assorbimento di 25mA (quindi gestibile senza transistor)
il fotodiodo è un VTB8440BH.
il laser porta la lettura del diodo a 0, senza laser abbiamo 1023, quindi perfetto.
avevo scritto diverse versioni di software, ma pensando che fosse il software a rallentare tutto ne ho scritta una versione veramente minimal
int relay=13;
int sensore1=0;
int sensore2=1;
void setup(){
pinMode(relay,OUTPUT);
pinMode(sensore1,INPUT);
pinMode(sensore2,INPUT);
digitalWrite(relay,LOW);
}
void loop(){
if((analogRead(sensore1)>5)&&(analogRead(sensore2)>5)){
digitalWrite(relay,HIGH);
delay(20);
digitalWrite(relay,LOW);
delay(1000);
}
}
quando entrambi i sensori danno un valore superiore a 5 il relay viene attivato per 20ms cortocircuitando il controllo remoto della mia canon 5D.
ora uno dei problemi potrebbe essere che la macchina ha bisogno di un tot di tempo per riconoscere la pressione del sensore esterno ... su questo farò altri test in serata ...
sostituendo lo scatch complessino che c'era prima (400righe con tutti i menu e le impostazioni) con quello minimal di sopra, non ho guadagnato pressochè nulla ..
quindi la mia domanda è ... secondo voi da cosa potrebbe essere dato questo ritardo oltre che dalla macchina fotografica ? intanto preparo le foto dei test da allegare.