martin1984 Inserito: 6 luglio 2019 Segnala Inserito: 6 luglio 2019 salve io sarein interessato ad costruire un rilevatore di fulmini ed ho visto online che si potrebbe creare un rilevatore di fulmini con una radio am ed dei led che indicano la intensita dei fulmini tramite arduino , ma non spiegano come costruirlo ed come avere il file da caricare su arduino qualcuno sa come aiutarmi ? grazie
Livio Orsini Inserita: 7 luglio 2019 Segnala Inserita: 7 luglio 2019 13 ore fa, martin1984 scrisse: ma non spiegano come costruirlo ed come avere il file da caricare su arduino Il file te lo devi realizzare facendo l'apposito programma su arduino. La teroria è abbastanza semplice. Sintonizzi la radio in OM su una freqeunza dove non ci sono trasmissioni. In audio senti dei "crak" in corrispondenza delle scariche elettriche dei fulmini; più èforte il crak maggkiore è l'energia della scarica. Colleghi l'uscita di bassa frequenza ad un circuito rivelatore di picco e questo lo fai entrare in un ingresso analogico di arduino. Ora un paio di domande a te: Hai mai fatto alcun lavoro di programmazione software? Quali sono le tue cono9scenze teorico-pratiche di elettronica?
martin1984 Inserita: 7 luglio 2019 Autore Segnala Inserita: 7 luglio 2019 (modificato) 3 ore fa, Livio Orsini scrisse: . Ora un paio di domande a te: Hai mai fatto alcun lavoro di programmazione software? Quali sono le tue cono9scenze teorico-pratiche di elettronica? -no non ho mai fatto ed da tempo che ho il progammatore arduino ma non l'ho mai usato , spesso faccio lettu ed riscitture di epprom , ma non scrivere i linguaggi - io mi occupo di riparazioni elettroniche sul schede pc , ma non nel creare circuiti Colleghi l'uscita di bassa frequenza ! dove si trova ? Modificato: 7 luglio 2019 da martin1984
gabri-z Inserita: 7 luglio 2019 Segnala Inserita: 7 luglio 2019 😊. Il più alto livello lo trovi ai capi del altoparlante, ma forse ti conviene farti aiutare da qualcuno che cambia componenti perché sa che sono guasti, non a caso. La radiolina non è una scheda di PC che inserisci, vedi se va il PC e se no, rimetti la vecchia, devi sapere come funziona per poterla usarla in altri scopi che ascoltare il giornale.
martin1984 Inserita: 7 luglio 2019 Autore Segnala Inserita: 7 luglio 2019 io mi occupo proprio di riparazione di componenti guasti , ho tutte i strumenti di saldatura , ma su schede di pc , ma radio è nuova non penso sia gia guasta 😀
gabri-z Inserita: 7 luglio 2019 Segnala Inserita: 7 luglio 2019 (modificato) Forse mi sono espresso male, qualcuno ti saprà spiegare meglio. Secondo me hai bisogno di aiuto, e non credo che basti quello che puoi trovare " a distanza " Comincia con leggere qualcosa sul principio di funzionamento di un ricevitore radio, almeno in grosso modo. La cosa è fattibile, con quale precisione, non si sa, dipende da te. Modificato: 7 luglio 2019 da gabri-z
gabri-z Inserita: 7 luglio 2019 Segnala Inserita: 7 luglio 2019 Per dire la verità, dipende anche dai materiali impiegati, avrai un risultato con la radiolina da 4 € ed un altro se usi un ricevitore russo degli anni '80 che giravi la manopola mezzo giro per spostarti di 1 Hz.....
Livio Orsini Inserita: 7 luglio 2019 Segnala Inserita: 7 luglio 2019 4 ore fa, martin1984 scrisse: ma radio è nuova non penso sia gia guasta 😀 non devi ripararla, ma mofificarla leggermente. 4 ore fa, martin1984 scrisse: io mi occupo proprio di riparazione di componenti guasti , ho tutte i strumenti di saldatura Cosda fai cambi solo i componenti o sai fare anche la ricerca guasto? Se sai fare la ricerca guasti dovresti avere anche una discreta conoscenza dei circcuiti che vai a riparare, quindi puoi almeno immaginare che non basta recuperare tutti i componenti per realizare un circuito. Da quanto ho capito io, ma potrei sbagliarmi, non si tratta di darti una mano da di farti tutto il progetto Hw e Sw. poi vedendo i componenti della fotografia cosa vuoi che faccia arduino, oltre a leggere il segnale? accendere i LEDs in funzione dell'ampiezza?, indicarli sul visualizzatore? far suonare il cicalino? (ma c'è già l'altoparlante della radio) con quale logica?
martin1984 Inserita: 10 luglio 2019 Autore Segnala Inserita: 10 luglio 2019 il 7/7/2019 at 15:52 , Livio Orsini scrisse: Cosda fai cambi solo i componenti o sai fare anche la ricerca guasto? si giusto il 7/7/2019 at 15:52 , Livio Orsini scrisse: poi vedendo i componenti della fotografia cosa vuoi che faccia arduino, oltre a leggere il segnale? accendere i LEDs in funzione dell'ampiezza?, indicarli sul visualizzatore? far suonare il cicalino? (ma c'è già l'altoparlante della radio) con quale logica? anche solo far scattere un relè , che poi ci collego un cicalino ed un lempeggiatore a led . Volevo precisare che il rilevatore lo metteri fuori ed i led ed il cicalino in casa , cosi quando che chiuso riesco a capire ugulmente se arriva un temporale
Livio Orsini Inserita: 11 luglio 2019 Segnala Inserita: 11 luglio 2019 Si ma torniamo da capo. Anche per far suonare un cicalino e lampeggiare un LED è comunque necessario fare un poco di progettazione Hw e scrivere il programma Sw. Questo devi farlo tu, noi del forum possiamo aiutarti a svilupparlo, ma non possiamo farlo per te.
martin1984 Inserita: 11 luglio 2019 Autore Segnala Inserita: 11 luglio 2019 ok provo a farlo da solo , poi se ho dubbi scrivo qui
martin1984 Inserita: 21 luglio 2019 Autore Segnala Inserita: 21 luglio 2019 siamo riusciti a trovare un codice , ma vorrei fare delle modifiche ,( ho provato a farle ma non ho capito la procedura ) ! se vi posto il file qualcuno di voi ha la possibilita di modificarlo ?
gabri-z Inserita: 21 luglio 2019 Segnala Inserita: 21 luglio 2019 14 minuti fa, martin1984 scrisse: se vi posto il file qualcuno di voi ha la possibilita di modificarlo ? Tu postalo , spiega cosa vuoi ottenere e di sicuro qualcuno ti aiuterà (io non sono in grado ) , basta che trovi il tempo .
martin1984 Inserita: 22 luglio 2019 Autore Segnala Inserita: 22 luglio 2019 (modificato) l'altro progetto era molto semplice , questo invece è piu completo : con un lcd che rileva la distanza : ho gia acquistato il materiale ed lo sto assemblando. Questo sarebbe il codice , io vorrei aggingere un led verde che lampeggi ad ogni rilevazione ed un un rele che si attivi ad 10 rilevazioni continue. poi i tempi li potete mettere a piacimento , poi mi dite i punti che devo modifiacre per quando farò la taratura dello strumento (non ho trovato altro modo per allegare il codice ) https://github.com/raivisr/AS3935-Arduino-Library */ #include <SPI.h> #include <AS3935.h> #include <SoftwareSerial.h> #define LCD_pin 5 // LCD data signal const int NoDetect=30; int counter; int NumDisturber=0; SoftwareSerial LCD = SoftwareSerial(0, LCD_pin); void printAS3935Registers(); // Function prototype that provides SPI transfer and is passed to // AS3935 to be used from within library, it is defined later in main sketch. // That is up to user to deal with specific implementation of SPI // Note that AS3935 library requires this function to have exactly this signature // and it can not be member function of any C++ class, which happens // to be almost any Arduino library // Please make sure your implementation of choice does not deal with CS pin, // library takes care about it on it's own byte SPItransfer(byte sendByte); // tunecap is needed to display the calibration register value int tunecap; // Iterrupt handler for AS3935 irqs // and flag variable that indicates interrupt has been triggered // Variables that get changed in interrupt routines need to be declared volatile // otherwise compiler can optimize them away, assuming they never get changed void AS3935Irq(); // volatile int AS3935IrqTriggered; - not needed anymore // First parameter - SPI transfer function, second - Arduino pin used for CS // and finally third argument - Arduino pin used for IRQ // It is good idea to chose pin that has interrupts attached, that way one can use // attachInterrupt in sketch to detect interrupt // Library internally polls this pin when doing calibration, so being an interrupt pin // is not a requirement AS3935 AS3935(SPItransfer,3,2); //change to AS3935(SPITransfer,9,3) if using slot #2 // AS3935 AS3935(SPItransfer,77,26); //if using Flip & Click socket A void setup() { serLCDInit(); backlightOn(); clearLCD(); lcdPosition(0,3); LCD.print("Lightining"); lcdPosition(1,5); LCD.print("Sensor"); delay(1500); clearLCD(); Serial.begin(9600); // first begin, then set parameters SPI.begin(); // NB! chip uses SPI MODE1 SPI.setDataMode(SPI_MODE1); // NB! max SPI clock speed that chip supports is 2MHz, // but never use 500kHz, because that will cause interference // to lightning detection circuit SPI.setClockDivider(SPI_CLOCK_DIV16); // and chip is MSB first SPI.setBitOrder(MSBFIRST); // reset all internal register values to defaults AS3935.reset(); delay(10); AS3935.setOutdoors(); AS3935.registerWrite(AS3935_NF_LEV,2); //write 2 in the Noise Level register //AS3935.registerWrite(AS3935_SREJ,0); //write 2 in the Noise Level register // and run calibration // if lightning detector can not tune tank circuit to required tolerance, // calibration function will return false if(!AS3935.calibrate()) Serial.println("Tuning out of range, check your wiring, your sensor and make sure physics laws have not changed!"); // now we print the value in the calibration register TUN_CAP // it is in the range 0 - 15 tunecap=AS3935.registerRead(AS3935_TUN_CAP); //Internal calibration Serial.print("Tuning cap register is "); Serial.println(tunecap); // since this is demo code, we just go on minding our own business and ignore the fact that someone divided by zero // first let's turn on disturber indication and print some register values from AS3935 // tell AS3935 we are indoors, for outdoors use setOutdoors() function // AS3935.setOutdoors(); // turn on indication of distrubers, once you have AS3935 all tuned, you can turn those off with disableDisturbers() AS3935.enableDisturbers(); printAS3935Registers(); // AS3935IrqTriggered = 0; // Using interrupts means you do not have to check for pin being set continiously, chip does that for you and // notifies your code // demo is written and tested on ChipKit MAX32, irq pin is connected to max32 pin 2, that corresponds to interrupt 1 // look up what pins can be used as interrupts on your specific board and how pins map to int numbers // ChipKit Max32 - irq connected to pin 2, or Arduino with irq connected to pin 3 // Uncomment the next line if using slot #2 of the Arduino mikroBUS adapter // attachInterrupt(1,AS3935Irq,RISING); // uncomment line below and comment out line above for Arduino Mega 2560, irq still connected to pin 2 attachInterrupt(0,AS3935Irq,RISING); // attachInterrupt(digitalPinToInterrupt(26),AS3935Irq,RISING); // if using Flip & Click socket A } void loop() { // here we go into loop checking if interrupt has been triggered, which kind of defeats // the whole purpose of interrupts, but in real life you could put your chip to sleep // and lower power consumption or do other nifty things // I prefer to move this code inside the interrupt routine itself // Here I leave only some code to display "Waiting..." so I know everything works delay(1000); Serial.println("Waiting..."); if (counter==0) { NumDisturber=0; counter=NoDetect; clearLCD(); lcdPosition(0,1); LCD.print("No lightining"); lcdPosition(1,4); LCD.print("detected"); } else { counter=counter - 1; } } void printAS3935Registers() { int noiseFloor = AS3935.getNoiseFloor(); int spikeRejection = AS3935.getSpikeRejection(); int watchdogThreshold = AS3935.getWatchdogThreshold(); Serial.print("Noise floor is: "); Serial.println(noiseFloor,DEC); Serial.print("Spike rejection is: "); Serial.println(spikeRejection,DEC); Serial.print("Watchdog threshold is: "); Serial.println(watchdogThreshold,DEC); } // this is implementation of SPI transfer that gets passed to AS3935 // you can (hopefully) wrap any SPI implementation in this byte SPItransfer(byte sendByte) { return SPI.transfer(sendByte); } // this is irq handler for AS3935 interrupts, has to return void and take no arguments // always make code in interrupt handlers fast and short void AS3935Irq() { // there is no need for this flag anymore // AS3935IrqTriggered = 1; // I move all the code for dysplaiying events inside the interrupt routine // again there is no need for this flag // reset the flag // AS3935IrqTriggered = 0; // first step is to find out what caused interrupt // as soon as we read interrupt cause register, irq pin goes low int irqSource = AS3935.interruptSource(); // returned value is bitmap field, bit 0 - noise level too high, bit 2 - disturber detected, and finally bit 3 - lightning! if (irqSource & 0b0001) Serial.println("Noise level too high, try adjusting noise floor"); if (irqSource & 0b0100) { NumDisturber+=1; Serial.println("Disturber detected"); clearLCD(); lcdPosition(0,0); LCD.print("Disturb. Det: "); LCD.print(NumDisturber,DEC); counter=NoDetect; } if (irqSource & 0b1000) { // need to find how far that lightning stroke, function returns approximate distance in kilometers, // where value 1 represents storm in detector's near victinity, and 63 - very distant, out of range stroke // everything in between is just distance in kilometers int strokeDistance = AS3935.lightningDistanceKm(); if (strokeDistance == 1) { Serial.println("Storm overhead, watch out!"); lcdPosition(1,1); Serial.println("Storm overhead"); lcdPosition(1,3); Serial.println("WATCH OUT!"); counter=NoDetect; } if (strokeDistance == 63) { Serial.println("Out of range lightning detected."); lcdPosition(0,2); Serial.println("Out of range"); lcdPosition(1,0); Serial.println("lightning detect"); counter=NoDetect; } if (strokeDistance < 63 && strokeDistance > 1) { Serial.print("Lightning detected "); Serial.print(strokeDistance,DEC); Serial.println(" kilometers away."); lcdPosition(1,0); LCD.print("Distance: "); LCD.print(strokeDistance,DEC); LCD.print("km"); counter=NoDetect; } } } Modificato: 22 luglio 2019 da martin1984
martin1984 Inserita: 18 agosto 2019 Autore Segnala Inserita: 18 agosto 2019 salve scusate ancora il disturbo , ho provato ad pendere delle radioline am ma durante un temporale non sentono le scariche elettriche ! posso creare un circuito semplice per rilevare le onde lunghe , avete uno schema ed la lista del materiale ?
gabri-z Inserita: 18 agosto 2019 Segnala Inserita: 18 agosto 2019 Cerca una del secolo scorso , più vecchia è , più probabile che vada bene per quel che vuoi fare .Parere mio , aspetta anche altri consigli .
Livio Orsini Inserita: 19 agosto 2019 Segnala Inserita: 19 agosto 2019 15 ore fa, martin1984 scrisse: ho provato ad pendere delle radioline am ma durante un temporale non sentono le scariche elettriche ! Forse è una questione di antenna. I fulmini sono trasmettitori a scintilla con uno spettro di freqeunza larghissimo.
martin1984 Inserita: 19 agosto 2019 Autore Segnala Inserita: 19 agosto 2019 ho usato la sua antenna in ferrite interna , ho provarto anche con un accendigas elettrico ed non sente la scintilla !
gabri-z Inserita: 19 agosto 2019 Segnala Inserita: 19 agosto 2019 Butta via la radiolina! Sto scherzando, deve essere una moderna con filtri sopra filtri... Cerca una vecchiotta, a transistor, vedrai che qualche cosa ricevi.
martin1984 Inserita: 19 agosto 2019 Autore Segnala Inserita: 19 agosto 2019 (modificato) infatti per questo motivo cercavo un circuito da fare ! avevo trovato questo in rete , ma non so se vada bene per il mio caso ? Modificato: 19 agosto 2019 da martin1984
martin1984 Inserita: 19 agosto 2019 Autore Segnala Inserita: 19 agosto 2019 (modificato) pero non capisco dove colleagre i pin di ingresso di arduino ? o trovare in commercio un modulino che rileva le onde lunghe gia pronto ? Modificato: 19 agosto 2019 da martin1984
Livio Orsini Inserita: 19 agosto 2019 Segnala Inserita: 19 agosto 2019 Colleghi l'uscita del secondo operazionale (dove c'è il LED) ad un ingresso di arduino; per sicurezza metti in parallelo all'ingresso uno zener da 5.1V. Ad ogni scarica rivelata il secondo operazionale dovrebbe dare un impulso.
martin1984 Inserita: 28 agosto 2019 Autore Segnala Inserita: 28 agosto 2019 ho guardato lo schema con il dataschet del lm324n , servono 2 integrati o solo 1 ?
dott.cicala Inserita: 28 agosto 2019 Segnala Inserita: 28 agosto 2019 Basta anche un solo LM358. In ogni caso quel circuito non potrà mai discriminare l'origine degli impulsi e ti darà false letture. Basterà lo spike di un interruttore, la scintilla di un qualsiasi accenditore per fornelli a gas o per scaldabagni, lo scintillio di un qualsiasi motore a spazzole.... L'analisi del segnale andrà fatta nel firmware. Ma scusa...se hai l'AS3935 che già esegue tutte le verifiche necessarie....perché vuoi realizzare il circuito qui sopra?
Livio Orsini Inserita: 28 agosto 2019 Segnala Inserita: 28 agosto 2019 (modificato) L'integrato è unso solo, contiene 4 amplificatori operazionali e se ne usano 2. Comunque esoste un shield di Arduino specialistica come rivelatore di fulmini Modificato: 28 agosto 2019 da Livio Orsini
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora