4N35 ingresso arduino

ciao a tutti.
ho necessità di leggere un ingresso a 12V con arduino.
ho pensato di usare un 4N35 e di collegarlo come nello schema allegato (scusate se lo schema non è precisissimo, ma non sono un drago con i cad…).
ho fatto una prova usando una batteria da 9V invece dei 12V e usando un led al posto del pin di arduino e tutto sembra funzionare correttamente.
prima di passare alla fase successiva vorrei qualche rassicurazione da qualcuno più ferrato di me…

  • sono corretti i valori delle resistenze?
  • devo limitare in qualche modo la corrente che entra nel pin?
  • visto che il 4N35 funziona come un interruttore, devo mettere un resistenza di pullup / pulldown come faccio con i normali pulsanti?
    grazie in anticipo

esempio_4N35.png

L' immagine é troppo microscopica da capire qualcosa.

hai ragione... ho ricaricato l'immagine.
grazie

Grazie

Ciao,
è sostanzialmente quello che utilizzo io nel mio sistema di automazione con Arduino.
Tensione di 12V con R da 1K.
L'unica differenza è che il ho abilitato la PULL UP interna in questo modo evito i 5V e la relativa resistenza.

Ciao

porta pazienza ma non ho capito bene...
per come l'ho messa io, la logica sul pin di arduino è invertita rispetto all'ingresso del 4N35, cioé se ho 0V in ingresso sul 4N35 leggo HIGH sul pin e se ho 12V all'ingresso del 4N35 leggo LOW sul pin.
mi pare di capire che anche tu ragioni così... ma non ho capito cosa hai messo al posto del +5V...

per diminuire i consumi puoi portare la res di collettore a 10k e quella del diodo a 2k2 o anche a 4k7

al posto di quella di collettore khriss75 non ha messo niente perchè dentro il Mc c’è già una pullup da 40-50k circa , basta solo attivarla, si può non metterla se il collegamento tra collettore e pin arduino è corto (pochi cm) e se la velocità di commutazione non è alta (< 1khz) ad esempio per pulsanti e sensori vari va bene non metterla

ottimo, grazie

fratt:
porta pazienza ma non ho capito bene...
per come l'ho messa io, la logica sul pin di arduino è invertita rispetto all'ingresso del 4N35, cioé se ho 0V in ingresso sul 4N35 leggo HIGH sul pin e se ho 12V all'ingresso del 4N35 leggo LOW sul pin.
mi pare di capire che anche tu ragioni così... ma non ho capito cosa hai messo al posto del +5V...

Esatto, funziona esattamente come hai detto tu.
Quando "alimenti" il led del fotoaccoppiatore con i 12V, il pin di arduino viene messo a massa.
Nel tuo caso, elimina la resistenza ed i 5V e collega il pin del fotoaccoppiatore direttamente al pin di arduino. L'altro pin del fotoaccoppiatore lo lasci a GND (di Arduino!).
Nello sketch scrivi:

pinMode(7, INPUT); //setti il pin come ingresso
digitalWrite(7, HIGH); // forzi il pin 7 a livello alto sfruttando la resistenza di pull-up interna ad arduino

Ovviamente cambi il numero del pin con quello effettivamente collegato.

ho capito, grazie