Hay dos cosas que tomo en cuenta:
-
Su resistencia de pull-up R2 es muy fuerte. Cuando 12V está encendido, se encenderá el LED que dispara el fototransistor dentro del CNY17. Esto hará que la línea que va al Arduino a 0. La cantidad de fuente actual se base generalmente en el CTR , o el índice de transferencia actual. Creo que tiene suficiente espacio para la cabeza ya que incluso a un 40% del CTR, su 12 mA de corriente directa (12 V / 1000 ohmios) debería generar al menos 4,8 mA, superando esa resistencia de 1 K, pero no hay razón para que no se pueda usar una resistencia de 10 K. el lado Arduino para darle más espacio para la cabeza.
-
La base está flotando. Puede ayudar con la inmunidad al ruido atar la base (Pin P6) al emisor (Pin P4) a través de una resistencia de 100K.
Tocar ese cable (que está muy fuertemente inclinado a 3.3V en este momento) no debería causar una lectura de CC de 1.6V a menos que algo esté terriblemente mal o que esté conectado a tierra (y sea conductor) de manera muy, muy extraña. ¿Mediste con un DMM?
Finalmente, observo que ambos lados de tu opto están usando el mismo símbolo GND. Si todo lo que necesitas es sentir que 12V ingresan al Arduino, y no necesitas aislamiento, puedes dividirlo de manera que algunos rangos de voltaje de entrada válidos coincidan con la especificación de VIH de la entrada de Arduino.
Alternativamente, con una resistencia lo suficientemente grande (como 100K), puede aplicar 12V directamente y no recibir daño, ya que casi ninguna corriente fluirá, aunque esto puede ser peligroso si accidentalmente cortocircuite esa resistencia. Por supuesto, esto supone que las entradas no tienen un requisito de corriente de sesgo particularmente alto.