Input Pullup si può attivare da un 3v esterno?

Ciao avrei la necessità che all'accensione di un led da un apparecchiatura esterna, arduino riceva un input su un pin, la cosa è fattibile mettendo un relè e usando il comando pullup fra la massa e un pin, però mi chiedevo se fosse possibile bypassare il relè e usare la tensione che attraversa il led per fare la stessa cosa

Mettendo insieme le masse e limitando la corrente del led con una resistenza, si può fare tranquillamente.

P.S.
La tua presentazione IN TEORIA esiste, in pratica non c’è scritto nulla…

steve-cr:
La tua presentazione IN TEORIA esiste, in pratica non c'è scritto nulla...

>misterita: come scritto nel REGOLAMENTO, al punto 16.7, la presentazione ha un suo scopo, per cui, cortesemente, integrala indicando bene quali conoscenze hai di elettronica e di programmazione. Grazie :slight_smile:

Guglielmo

steve-cr:
Mettendo insieme le masse e limitando la corrente del led con una resistenza, si può fare tranquillamente.

P.S.
La tua presentazione IN TEORIA esiste, in pratica non c'è scritto nulla...

perfetto funziona ma la resistenza a cosa serve?

Teoricamente potresti anche farne a meno perché se il led si accende significa che hai 2,5 - 3 volt mentre arduino ne sopporta 5, ma quando mi connetto a schede che non conosco solitamente parto con una resistenza…

Non mi é chiaro che uscita hai di preciso.
Ciao Uwe

steve-cr:
Teoricamente potresti anche farne a meno perché se il led si accende significa che hai 2,5 - 3 volt mentre arduino ne sopporta 5, ma quando mi connetto a schede che non conosco solitamente parto con una resistenza...

ah ok allora faccio una misura se sta sotto i 3v evito la resistenza, non pensavo che i pin avessero un limite in ingresso

uwefed:
Non mi é chiaro che uscita hai di preciso.
Ciao Uwe

l'uscita dispositivo/ingresso arduino è il led di un caricabatteria/mantenitore, mi serve per cambiare veicolo da lasciare sotto mantenitore, diciamo che potrei evitare di collegare il led agendo sullo stacco della corrente del mantenitore ma credo che fra lasciare un relè sempre eccitato e fare una piccola saldatura sul led di raggiunta carica sia preferibile la seconda ipotesi

Non modificare un apparecchiatura / caricabatteria industriale.
Ciao Uwe

mi sa che non ci siamo capiti è il mantenitore per auto e moto, la modifica consiste semplicemente nel saldare due fili al led che segnanla il completamento della carica per collegarli al pin in ingresso e alla gnd di arduino, nessun pericolo quindi

Leggendo l'equivalenza tra millisecondi e giorni mi pare di capire che per eseguire lo script ogni 14 giorni devo impostare un delay a 36000002414 che corrisponde a "1209600000" , mi confermate che è esatto?

Volevo sapere anche se si poteva togliere il check sui sensori perchè mi chiudono e aprono i relè a cui sono collegati all'avvio

1 sec. = 1'000 msec.
1 minuto = 60 sec. = 60'000 msec.
1 ora = 3'600 secondi = 3'600'000 msec.
1 giorno = 24 ore = 86'400 secondi = 86'400'000 msec.

Quindi, nel tuo caso, giustamente 14 giorni = 1'209'600 secondi = 1'209'600'000 msec. :slight_smile:

Guglielmo

Perfetto grazie, ma se volessi ripetere due volte il ciclo prima del riavvio ogni 14 giorni non si usa il for in questo modo:

void loop() {
for (int x=0; x<2; x++) { // ripeti loop tot volte
codice
}delay(1209600000); // riavvio loop fra 14 giorni
}

:confused:

steve-cr:
Mettendo insieme le masse e limitando la corrente del led con una resistenza, si può fare tranquillamente.

scusa mi puoi spiegare nei dettagli come usare l'ingresso arduino con l'output del led esterno, ho fatto i test attivando i led da un altro arduino e funzionava ma probabilmente era perchè usavo i suoi pin, ho provato a dare 3v da un alimentatore esterno ma non funziona, tks

... hai messo le masse in comune (l'alimentatore esterno e Arduino) ? ? ?

Guglielmo

i collegamenti mi sembrano corretti sono gli stessi che ho fatto con l’altro arduino e li funzionava tutto alla perfezione, ho provato con un alimentatore esterno da 3 a 6 v ma non è cambiato nulla ti allego una foto dei collegamenti fatti con un power bank , ho messo una resistenza da 10 k in ingresso ma anche senza non cambia nulla , bhò non riesco a capire come sia possibile

sicuramente starò dicendo una stupidaggine ma ho verificato con il tester che il controllo sull'input dell'arduino viene fatto sul led spento e non acceso, probabilmente nella fase di test funzionava essendo due arduino compatibili e ingannava il fatto che il led lampeggiasse, ma su un circuito completamente isolato il contatto lo da la massa e accendendo il led non vedo modo di dare il segnale di chiusura senza usare un relè, farò ulteriori test ma l'aggiunta di un relè mi pare la soluzione più semplice

Prova a disegnare lo schema elettrico indicando il problema che hai rilevato, forse è più facile capirsi e individuare l'eventuale errore rispetto ad una descrizione sommaria o ad una foto.

Da quello che capisco dall'immagine, hai prelevato il segnale sul led e tramite una resistenza l'hai portato al pin di arduino.
Questa resistenza non dovrebbe servire. E' il pin usato come input per leggere la tensione?

Tu vuoi misurare la tensione ai capi del led giusto?
Dovresti usare un pin analogico, non digitale.
Ovvio, poi, che se il led lampeggia potresti misurare tensioni oscillanti a seconda di com'è il led nell'istante in cui misuri.

Se poi hai attivato la pull-up interna, se non arriva tensione dall'esterno, è lei che la alza.

Ripeto, prova a disegnare uno schema elettirico di tutto il circuito, compresa l'eventuale pull-up interna, e così dovrebbe essere più chiaro l'eventuale inghippo.

Io voglio semplicemente che quando il led esterno si accende ho un segnale ad arduino che mi permetta di essere utilizzato per dare un comando, nella fattispecie chiudere un pin e aprirne un altro, ora se per farlo mi serve un pin analogico megli così presumo che basta cambiare il pin, io ho usato un semplice pin come input e come schema mi sono basato su quanto mi era stato indicato ovvero di collegare le masse poi ho presunto che i due positivi andassero insieme e che un pin valesse l’altro, cercando su internet ho provato anche questo schema in allegato:

ma anche sostituendo al pulsante il led il risultato non cambia, è inutile che ti metto un mio schema perchè ho fatto svariate varianti, chiedevo appunto se qualcuno che l’ha già fatto mi sa indicare quale sia la procedura corretta per evitare di andare per tentativi

circuito01-fz.jpg

il pin digitale per il pulsante va bene, se devi misurare una tensione a metà tra il segnala high e low rischi di restare in quel limbo indefinito in cui è indeterminato se il segnale viene rilevato come high o come low e quindi con l'analogico decidi tu la soglia.
Questo per farti capire cosa intendo.

Ora, con il circuito che hai postato, dovresti leggere sul pin digitale LOW se il pulsante non è premuto e HIGH se è premuto.
Ti torna?

Se al posto del pulsante, su quel circuito, ci metti un led, rischi di avere una caduta sulla resistenza, misurata con il pin digitale, di meno di 2V e quindi sulla zona indeterminata descritta sul doc allegato.
Già invertendo led con resistenza usciresti da questa zona per led bianchi che hanno una caduta attorno ai 3V.

maubarzi:
Già i usciresti da questa zona per led bianchi che hanno una caduta attorno ai 3V.

Premetto che ti rigrazio per il link che ho guardato e mi sembra molto interessante e di sicuro poi studierò a fondo , però io ho provato a variare la tensione del led da 2 a 6 v ma in ogni caso dava sempre lo stesso errore, forse sbaglio qualche collegamento ma non ho capito cosa intendi con"invertendo led con resistenza" la corretta sostituzione del pulsante come andrebbe fatta? magari sbaglio io e in tal caso vorrei capire il collegamento giusto da fare, se riesco ad evitare il pin analogico mi salvo da dover rimettere mano al codice