non capisco, puoi schiaffarci praticamente di tutto nel loop, anche il pulseIn
per intenderci: in una riga del loop salvi il dato rilevato dal pulseIn in una variabile, e con un if..else subito dopo puoi mandare il digitalWrite sul pin del led
in questo modo puoi fare tutte le letture che vuoi, e solo se superi una determinata soglia della variabile, l'if accende il led, e lo mantiene acceso per tutto il tempo durante il quale la soglia è superata
se invece implementi delle tue funzioni, allora puoi usare l'interrupt, ma con parecchie limitazioni (zero variabili, non si può usare il delay, ecc)
EDIT
ho letto il programma, il problema è che vuoi una media delle letture rpm...
se ti accontenti della lettura senza media, puoi fare come ho fatto io per la moto, ovvero i led li accendo da funzioni esterne, mentre le letture le faccio dal ciclo loop. Anche se esce in continuazione dalla funzione (spegnendo il led) e riprende il ciclo loop, se il sensore è ancora oltre la soglia da me definita, ripartirà la mia funzione al successivo ciclo loop. Il led apparirà all'occhio umano come sempre acceso, senza sfarfallare.
DNA54 Ha scritto:non capisco, puoi schiaffarci praticamente di tutto nel loop, anche il pulseIn
...CUT...
se invece implementi delle tue funzioni, allora puoi usare l'interrupt, ma con parecchie limitazioni (zero variabili, non si può usare il delay, ecc)
EDIT
ho letto il programma, il problema è che vuoi una media delle letture rpm...
Son d'accordo che nel main loop posso metterci tutto, ma credo che andare a pollare un segnale che di per sè è un ottimo interrupt sia un po' un controsenso.
La media la faccio per evitare sfarfallamenti, forse è una paturnia e potrei farne a meno.
Oggi provo il codice e riporto se e come va.
La Gatta : 2003 NBFL 1.8 Sport http://www.mx5italia.com/showthread.php?19520-La-Gatta
Team Ciocapiàt pResident Evil
Bisso Ha scritto:se poi si arriva a fare il solito discorso: "ne vale la pena?" non se ne viene più fuori...
l'importante è pensare bene a cosa si fa, a cosa si vuole fare e a cosa si vuole ottenere...
Allora, al momento la situazione è al limite del tragico: ieri mattina la macchina "andava male" con l'accrocchio collegato, come l'ho scollegato ha ricominciato ad essere la Gatta di sempre.
Ho anche notato che quando collego l'usb all'arduino c'è un ritorno di corrente verso l'impianto elettrico (si accendono pezzi del cruscotto) e quindi: STOP.
Il progetto subisce uno stepback, devo trovare un modo più intelligente di andare a pescare i segnali che mi servono: è ridicolo che uno strumento che ha come scopo migliorare l'availabilty dell'auto finisca in verità per farla andare peggio.
PS : le letture degli RPM sono completamente ad cazzum, non c'è un senso tra quanto leggo via OBD e quanto riporta la seriale.:cry2:
La Gatta : 2003 NBFL 1.8 Sport http://www.mx5italia.com/showthread.php?19520-La-Gatta
Team Ciocapiàt pResident Evil
Bisso Ha scritto:se poi si arriva a fare il solito discorso: "ne vale la pena?" non se ne viene più fuori...
l'importante è pensare bene a cosa si fa, a cosa si vuole fare e a cosa si vuole ottenere...
Location: Torino
Regione/Stato: Piemonte
Modello:
- NBFL 1.8 146cv (2001-2005)
fracrist Ha scritto:Allora, al momento la situazione è al limite del tragico: ieri mattina la macchina "andava male" con l'accrocchio collegato, come l'ho scollegato ha ricominciato ad essere la Gatta di sempre.
Ho anche notato che quando collego l'usb all'arduino c'è un ritorno di corrente verso l'impianto elettrico (si accendono pezzi del cruscotto) e quindi: STOP.
Il progetto subisce uno stepback, devo trovare un modo più intelligente di andare a pescare i segnali che mi servono: è ridicolo che uno strumento che ha come scopo migliorare l'availabilty dell'auto finisca in verità per farla andare peggio.
PS : le letture degli RPM sono completamente ad cazzum, non c'è un senso tra quanto leggo via OBD e quanto riporta la seriale.:cry2:
non ti abbattere fra, quando arrivo gli diamo un paio di martellate e vedrai! miley:
fracrist Ha scritto:Allora, al momento la situazione è al limite del tragico: ieri mattina la macchina "andava male" con l'accrocchio collegato, come l'ho scollegato ha ricominciato ad essere la Gatta di sempre.
Ho anche notato che quando collego l'usb all'arduino c'è un ritorno di corrente verso l'impianto elettrico (si accendono pezzi del cruscotto) e quindi: STOP.
Il progetto subisce uno stepback, devo trovare un modo più intelligente di andare a pescare i segnali che mi servono: è ridicolo che uno strumento che ha come scopo migliorare l'availabilty dell'auto finisca in verità per farla andare peggio.
PS : le letture degli RPM sono completamente ad cazzum, non c'è un senso tra quanto leggo via OBD e quanto riporta la seriale.:cry2:
Fra,
hai dato un'occhiata ai segnali che ti servono con l'oscilloscopio?
Molto probabilmente dovrai dimensionare degli stadi hardware di adattamento per poter collegare i segnali vettura ad Arduino...
Per esempio, essendo quello RPM un segnale a tensione/Duty Cycle fissi, potresti dimensionare un convertitore Frequenza/Tensione ed avere un segnale facile facile come quelli di temperatura!
MaD Ha scritto:Fra,
hai dato un'occhiata ai segnali che ti servono con l'oscilloscopio?
Molto probabilmente dovrai dimensionare degli stadi hardware di adattamento per poter collegare i segnali vettura ad Arduino...
Per esempio, essendo quello RPM un segnale a tensione/Duty Cycle fissi, potresti dimensionare un convertitore Frequenza/Tensione ed avere un segnale facile facile come quelli di temperatura!
Sì, con quello abbiamo visto che il duty cycle è fisso eccetera.
In effetti c'è uno stadio hw che adatta (è un inseguitore con un operazionale e tre resistenze: mi serve per adattare i segnali da 0-12V a 0-5V che è il range degli ingressi dell'Arduino, successivamente campionati a 10bit), e funziona bene per Olio e Temp.
All'inizio avevo problemi perchè non avevo messo a massa comune lo stadio e l'arduino, poi risolti.
Adesso prendo Vin da IGN e le masse son collegate alle masse dell'impianto elettrico, proprio per avere riferimenti comuni.
Mo vedo la cosa del convertitore frequenza/tensione, mi piace mooooolto l'idea...
Grazie!!!!
La Gatta : 2003 NBFL 1.8 Sport http://www.mx5italia.com/showthread.php?19520-La-Gatta
Team Ciocapiàt pResident Evil
Bisso Ha scritto:se poi si arriva a fare il solito discorso: "ne vale la pena?" non se ne viene più fuori...
l'importante è pensare bene a cosa si fa, a cosa si vuole fare e a cosa si vuole ottenere...
fracrist Ha scritto:Sì, con quello abbiamo visto che il duty cycle è fisso eccetera.
In effetti c'è uno stadio hw che adatta (è un inseguitore con un operazionale e tre resistenze: mi serve per adattare i segnali da 0-12V a 0-5V che è il range degli ingressi dell'Arduino, successivamente campionati a 10bit), e funziona bene per Olio e Temp.
All'inizio avevo problemi perchè non avevo messo a massa comune lo stadio e l'arduino, poi risolti.
Adesso prendo Vin da IGN e le masse son collegate alle masse dell'impianto elettrico, proprio per avere riferimenti comuni.
Mo vedo la cosa del convertitore frequenza/tensione, mi piace mooooolto l'idea...
Grazie!!!!
Ottimo!
La storia delle masse e' tipica, ce n'e' sempre qualcuna che per un motivo o per un altro non viene collegata o viene dimenticata eccetera!
Vin presa da IGN e' ideale, 12V pulito sotto chiave, ergo nessun assorbimento a vettura spenta!
Ti ho suggerito il convertitore perche' (a mio avviso) e' sempre meglio cercare di avere dei segnali il piu' possibile appetibili per gli I/O del micro!
Buon lavoro!
fracrist Ha scritto:Allora, al momento la situazione è al limite del tragico: ieri mattina la macchina "andava male" con l'accrocchio collegato, come l'ho scollegato ha ricominciato ad essere la Gatta di sempre.
Ho anche notato che quando collego l'usb all'arduino c'è un ritorno di corrente verso l'impianto elettrico (si accendono pezzi del cruscotto) e quindi: STOP.
Il progetto subisce uno stepback, devo trovare un modo più intelligente di andare a pescare i segnali che mi servono: è ridicolo che uno strumento che ha come scopo migliorare l'availabilty dell'auto finisca in verità per farla andare peggio.
PS : le letture degli RPM sono completamente ad cazzum, non c'è un senso tra quanto leggo via OBD e quanto riporta la seriale.:cry2:
sei sicuro di aver messo una bella resistenza a monte del segnale preso dal cruscotto?
Quando avevo collegato per la prima volta l'arduino alla moto, scoppiettava, non saliva di giri e si accendeva la spia avaria motore
ho dovuto mettere una resistenza da 12k, evidentemente si ciucciava troppa corrente (ovvero la mandava a massa comune)
DNA54 Ha scritto:sei sicuro di aver messo una bella resistenza a monte del segnale preso dal cruscotto?
Quando avevo collegato per la prima volta l'arduino alla moto, scoppiettava, non saliva di giri e si accendeva la spia avaria motore
ho dovuto mettere una resistenza da 12k, evidentemente si ciucciava troppa corrente (ovvero la mandava a massa comune)
Ricontrollo che sia tutto a posto. Da disegno ogni segnale è protetto con una 20k, proprio per evitare quello che dici tu. :oops:
La Gatta : 2003 NBFL 1.8 Sport http://www.mx5italia.com/showthread.php?19520-La-Gatta
Team Ciocapiàt pResident Evil
Bisso Ha scritto:se poi si arriva a fare il solito discorso: "ne vale la pena?" non se ne viene più fuori...
l'importante è pensare bene a cosa si fa, a cosa si vuole fare e a cosa si vuole ottenere...
|