En primer lugar hola. Me encuentro en problemas al intentar simular el comportamiento de un sensor fotointerruptor utilizando Arduino Uno R3. La idea es deshacerse del sensor y usar Arduino para enviar las señales, para poder controlar el dispositivo por mi propia demanda.
De acuerdo con la hoja de datos, el sensor funciona con 3.3V y tiene las siguientes salidas. ALTO - si el voltaje es > 2.4V BAJA: si el voltaje es < 0.4V
He conectado mi PWM pin10 de Arduino al pin de salida del sensor y GND a GND y escribí un código de prueba simple que cambia el estado dentro de un bucle como este:
analogWrite(PinNr, 170);// send High signal 170 = 3.3v PWM output
delay(120); // wait 120ms
analogWrite(PinNr,0); // send Low signal
delay(120); // wait 120ms
El problema es que no funciona de esta manera.
Si conecto una simple batería de 3V al Pin de salida del sensor y GND a GND a través de un simple botón y presiono y suelte rápidamente el botón, este método funciona perfectamente. Necesito poder hacer esto usando Arduino y no a mano, así que creo que el problema se relaciona con el tipo de señal (Arduino PWM vs analógico).
Busqué una forma de convertir la señal PWM de Arduino a analógica usando un filtro de paso bajo, pero tengo problemas para entender cuál es la frecuencia de cufoff y el tiempo de respuesta del filtro RC que debo tener en cuenta. Por ejemplo, sé que el pin 10 de Arduino PWM funciona a una frecuencia de 500 hz y me gustaría que el filtro respondiera al cambio de estado HIGH-delay (120) -LOW-delay (120) lo más rápido posible. La hoja de datos del sensor especifica que cualquier voltaje > 2.4v se interpretará como una señal ALTA y cualquier tensión < 0.4v se interpretará como un voltaje BAJO, por lo que creo que la ondulación puede tener un marje mayor.
Por favor, ayúdeme a entender qué valores elegir para el RC