Arduino trigger per foto fulmini
Salve a tutti, vorrei utulixzzare un arduino nano per creare un piccolo trigger per fulmini da usare con la mia macchina fotografica. in rete ho trovato diverse soluzioni e tutte si basano su sensori di luminosita fotodiodi, fototransistor o alcuni anche fotoresistenze (alcuni dicono che sono troppo lente per questo utilizzo), poi ne ho trovato uno che ho provato a realizzare visti i pochissimi componenti richiesti ma con scarsi risultati....
ho trovato questo articolo e mi sono messo all'opera
https://github.com/klauscam/Arduino-Lightning-Detector
ho realizzato il circuitino su basetta millefori collegata al nano, l'unica differenza è che ho usato 4 resistenze tre da 1Mohm e 1 da 3kohm in serie perche non ne avevo una da 3,3Mohm pooi ho aggiunto un led ed un optoisolatore da collegare alla reflex.
questo è lo schizzo scaricato da github
se non ho capito male lo schizzo i dati vengono inviati sulla seriale solo quando viene rilevato un fulmine ed il fulmine viene da quello che ho capito viene individuato quando c'è una la differenza tra l'ultima lettura e la precedente è maggio re di 10 giusto?
io per far scattare la mia reflex ho solo aggiunto un digitalWrite(4, HIGH) sotto la riga toSend=true;
ed un digitalWrite(4,LOW) dopo toSend=false; per fa accende il led e far scattare la mai reflex.
ora che il tempo è sereno collegando il nano al plotter serial o al monitor seriale non ho trasmissioni, se con un accendino piezo provo a farlo scattare parte la trasmissione sulla seriale ed il led si accende e spegne dopo un istante il che sembrerebbe funzionare, ma oggi a pranzo c'era un accenno di temporale con alcuni tuoni in lontananza e il led era praticamente sempre acceso quindi sembra non funzionare... dove sbaglio?
ho anche provato ad incrementare il valore 10 e -10 della condizione portandolo fino a 100 senza nessun risultato, il led di trasmissine e di scatto sempre accesi... secondo voi rilevare fulmini con un antenna è una strada percorribile o conviene buttrasi sui sensori di luminosità?
ho trovato questo articolo e mi sono messo all'opera
https://github.com/klauscam/Arduino-Lightning-Detector
ho realizzato il circuitino su basetta millefori collegata al nano, l'unica differenza è che ho usato 4 resistenze tre da 1Mohm e 1 da 3kohm in serie perche non ne avevo una da 3,3Mohm pooi ho aggiunto un led ed un optoisolatore da collegare alla reflex.
questo è lo schizzo scaricato da github
- Codice: Seleziona tutto
define FASTADC 1
// defines for setting and clearing register bits
#ifndef cbi
#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
#endif
#ifndef sbi
#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
#endif
int data = 512;
int storage[512];
long batchStarted;
long batchEnded;
int reading;
int count;
int maximum;
int minimum;
bool toSend;
void setup() {
#if FASTADC
// set prescale to 16
sbi(ADCSRA,ADPS2) ;
cbi(ADCSRA,ADPS1) ;
cbi(ADCSRA,ADPS0) ;
#endif
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(A4,INPUT);
Serial.println(micros());
batchStarted=0;
batchEnded=0;
reading=0;
count=0;
maximum=0;
minimum=1023;
toSend=false;
}
void loop() {
// put your main code here, to run repeatedly:
reading = (analogRead(A4));
storage[count]=reading;
if ((!toSend)&&(count!=0)&&((reading>storage[count-1]+10)||(reading<storage[count-1]-10))){
toSend=true;
}
count=count+1;
if ((count == 512) && (toSend))
{
count=0;
batchEnded = millis();
sendData();
batchStarted = millis();
}
else if (count==512){
count=0;
batchEnded = millis();
//sendData();
batchStarted = millis();
}
}
void sendData()
{
//Serial.print(">>>");
//Serial.println(batchStarted);
for (int i=0;i<data;i++){
Serial.println(storage[i]);
}
//Serial.print("<<<");
//Serial.println(batchEnded);
//Serial.println("END");
toSend=false;
}
se non ho capito male lo schizzo i dati vengono inviati sulla seriale solo quando viene rilevato un fulmine ed il fulmine viene da quello che ho capito viene individuato quando c'è una la differenza tra l'ultima lettura e la precedente è maggio re di 10 giusto?
io per far scattare la mia reflex ho solo aggiunto un digitalWrite(4, HIGH) sotto la riga toSend=true;
ed un digitalWrite(4,LOW) dopo toSend=false; per fa accende il led e far scattare la mai reflex.
ora che il tempo è sereno collegando il nano al plotter serial o al monitor seriale non ho trasmissioni, se con un accendino piezo provo a farlo scattare parte la trasmissione sulla seriale ed il led si accende e spegne dopo un istante il che sembrerebbe funzionare, ma oggi a pranzo c'era un accenno di temporale con alcuni tuoni in lontananza e il led era praticamente sempre acceso quindi sembra non funzionare... dove sbaglio?
ho anche provato ad incrementare il valore 10 e -10 della condizione portandolo fino a 100 senza nessun risultato, il led di trasmissine e di scatto sempre accesi... secondo voi rilevare fulmini con un antenna è una strada percorribile o conviene buttrasi sui sensori di luminosità?