Input optoisolato e led di stato

Ciao a tutti,

manco da un po' dal forum perché per qualche tempo non ho potuto dedicarmi alla passione per Arduino. Ritorno ora con un problema!!! Spero nel vostro aiuto.

Ho bisogno di creare un input digitale optoisolato con un led che ne segnali l'attivazione. La soluzione circuitale più semplice, che ho già utilizzato con successo, sarebbe quella che ho chiamato A nell'immagine allegata.

Adesso però avrei bisogno di spostare il led di stato sull'uscita dell'optoisolatore e non sull'ingresso, semplicemente perché per questioni di inscatolamento devo creare due distinti PCB: su uno ci sono gli ingressi e l'optoisolatore e sull'altro il led di stato e l'ATmega328. I due PCB sono collegati tra loro tipo gli shields di Arduino.

Ho provato quindi entrambe le soluzioni chiamate B e C nello schema allegato. In entrambi i casi però non ottengo uno 0 (schema B) o un 1 (schema C) preciso nel punto I2 e quindi l'ATmega328 non legge adeguatamente l'input.

Mi rivolgo a voi nella speranza che esista una soluzione.

Grazie a tutti in anticipo.

Ciao.
Vittorio.

La soluzione B è quella corretta, ma devi aggiunger un resistore da 1k tra il collettore del transistor ed i +5V.

ciao... intanto grazie per la risposta.

In realtà nella soluzione B il resistore sul collettore, in serie al led, c'è già ma l'ho messo da 150 e non da 1k. Ho provato su una breadboard con il resistore da 1k ed effettivamente mi pare che vada meglio. Ora la tensione nel punto I2 scende a 0 quando attivo l'input. Normalmente però, a input non attivo rimane a 3.5 V. E' normale? Può essere utile attivare la resistenza di PULLUP interna del ATmega328?

Comunque adesso provo tutto con il microcontrollore e ti faccio sapere.

Grazie ancora per il suggerimento.

Ciao.
Vittorio.

Con il resistore da 1K al posto di quello da 150 ohm funziona tutto correttamente.

Grazie ancora per il prezioso aiuto.

Ciao.
Vittorio.

Funziona sia B che C se metti in paralello al LED/ resistenza un altra resistenza da 10kOhm.

Ciao Uwe