problema accoppiamento tensione esterna su pin arduino

ho realizzato un mio primo piccolo progetto di logger per memorizzare lo stato di uno strumento, ora di accensione, ora di spegnimento e minuti che è rimasto in tale stato. ho usato arduino Uno con un modulo RTC e un shield SD. Lo shetch è realizzato per verificare lo stato del PIN3, se lo stato di tale PIN cambia in HIGT il programma aggiunge una riga sul file della SD con scritto i valori dello stato precedente "SPENTO / ora spegnimento / ora accensione / minuti in OFF" se il PIN invece va LOW il programma aggiunge una riga sul file della SD con scritto i valori dello stato precedente "ACCESO / ora accensione / ora spegnimento / minuti in OFF" lo stato cambia non frequentemente ogni 2- 4 ore arriviamo al problema e domanda. al PIN3 devo fornire una tensione esterna ad arduino che arriva dallo strumento, lo strumento ha una porta USB e ho prelevato i 5 volt di tale tensione come ingresso al PIN3

pensavo che come accoppiamento hardware di eseguire un partitore o utilizzare un BC547 alimentato dalla tensione esterna e prelevare lo stato dal collettore del transistor per l'ingresso al PIN3 però non funziona, poichè lo stato cambia più frequentemente come se fosse interessato da disturbi. ho modificato il circuito dando il segnale con un relè e tutto funziona bene. esiste una soluzione per non usare il relè? scusate la lungaggine e gli eventuali errori da primo post... speriamo bene.

grazie per il contributo

Dato che l'uscita USB dello strumento va a 5V quando esso è acceso, non capisco perché l'uso di un partitore od altro per modificare tale valore ... al limite, se proprio vuoi proteggere l'ingresso di Arduino, una resistenza in serie seguita da uno Zener che taglia qualsiasi cosa sopra il valore scelto ... ::)

Arduino UNO accetta normalmente sui sui ingressi 5V quindi, collega la massa di Arduino alla massa dello strumento e i 5V della USB dello strumento al pin 3 ... quello che magari dovrai fare è aggiungere esternamente una resistenza di pull-down in modo che, a strumento spento, e quindi in assenza di segnale da esso, il pin venga forzato in uno stato LOW e vada in HIGH quando si accende lo strumento.

Guglielmo

gpb01: Arduino UNO accetta normalmente sui sui ingressi 5V quindi, collega la massa di Arduino alla massa dello strumento e i 5V della USB dello strumento al pin 3 ... quello che magari dovrai fare è aggiungere esternamente una resistenza di pull-down in modo che, a strumento spento, e quindi in assenza di segnale da esso, il pin venga forzato in uno stato LOW e vada in HIGH quando si accende lo strumento.

Tenuto conto che parliamo di due apparati con alimentazioni diverse sarebbe bene inserire anche una resistenza da 220-330 ohm in serie al pin per disaccoppiamento.

astrobeed: Tenuto conto che parliamo di due apparati con alimentazioni diverse sarebbe bene inserire anche una resistenza da 220-330 ohm in serie al pin per disaccoppiamento.

Si (anche se comunque, mi sembra di capire, sono sulla stessa rete di alimentazione), infatti suggerivo anche ...

gpb01: ... se proprio vuoi proteggere l'ingresso di Arduino, una resistenza in serie seguita da uno Zener che taglia qualsiasi cosa sopra il valore scelto ...

... così limita eventuali correnti e taglia eventuali sovratensioni. ;)

Guglielmo

grazie per l’aiuto.
penso che il banale errore sia di non aver collegato le masse insieme.
Pura ignoranza.
le alimentazioni sono diverse: arduino è alimentato da un alimentatore esterno 9 volt, l’ingresso pin3 è a 5 volt prelevato da una porta USB dell’apparecchio.

per sicurezza traduco quello che ho compreso:

così verifico come funziona l’inserimento di immagine nel forum.
:slight_smile:
grazie ancora

collegamento.png

Le hai nominate tutte e due R2 :grin: ... comunque, quella in serie, va benone da 330Ω ;)

Guglielmo