falsos positivos en la entrada de Arduino

6

He utilizado entradas analógicas y digitales para una multitud de aplicaciones con la placa Arduino Uno. Continuamente ha dado lecturas extremadamente no confiables, donde la entrada analógica siempre está fluctuando, o la lectura digital será verdadera incluso si no está conectada a nada. ¿Hay alguna forma de conexión a un pin de entrada digital o analógica que elimine ese problema? ¿Como un condensador? No soy muy versado en electrónica, entiendo lo básico sobre transistores, diodos, resistencias, etc. Pero no sé mucho acerca de cómo eliminar el ruido de la señal eléctrica. Siento que con tantos falsos positivos, mi capacidad para crear proyectos más complejos se ha disparado por completo.

¿Alguna sugerencia para eliminar todos los falsos positivos / ruidos adicionales cuando se recibe una entrada analógica / digital en un Arduino Uno?

    
pregunta Mark Y.

2 respuestas

6

Suena como si te faltaran las resistencias para subir o bajar en tus entradas. Si deja sus entradas flotantes, obtendrá resultados poco confiables.

enlace < == lea esto para más información

Si su entrada está normalmente desactivada, usaría una resistencia desplegable y, si está normalmente, usaría una resistencia desplegable. Esta es una forma simplificada de pensar en ello, pero hace que sea fácil saber qué esperar cuando se lee la entrada.

Cuando miras el pequeño esquema, muestra un interruptor abierto y una resistencia de extracción. Esto significa que cuando el interruptor esté abierto, Vin irá a través del búfer a Vout. Vout = Vin aquí. Cuando el interruptor está cerca, Vin irá a través de la resistencia de elevación hacia arriba y luego a tierra. La entrada de la puerta lógica tendría 0 voltios y se conectaría directamente a tierra. Por lo tanto, Vout = Ground.

    
respondido por el Hair_of_the_Dog
5

Las entradas digitales que pueden abrirse deben tener una resistencia de pullup / pulldown para que se defina su estado. De lo contrario, tendrán un voltaje indeterminado entre [0,5V] , lo que dará lugar a lecturas digitales esporádicas (como ha notado). Los microcontroladores utilizados por Arduinos tienen resistencias de extracción internas que pueden habilitarse.

No estoy completamente seguro de cuál es el método recomendado, ya que diferentes partes del sitio web de Arduino proporcionan información diferente sobre cómo habilitar resistencias pullup.

La página Digital Pins sugiere configurar el modo pin para ingresar y escribir un valor alto en el pin.

Sin embargo, la referencia a la función PinMode tiene una constante INPUT_PULLUP , lo que tendría más sentido utilizarla en lugar de método de redondeo utilizado anteriormente.

La misma recomendación sobre el uso de resistencias pullup / pulldown va para pines analógicos que pueden abrirse. Además, también puede intentar agregar un filtro de paso bajo a sus entradas analógicas para reducir la ruido de frecuencia.

    
respondido por el helloworld922

Lea otras preguntas en las etiquetas