Entradas digitales siempre arrojan HIGH

Hola. Aprovecho para presentarme por primera vez. La verdad es que leo muchísimo, porque estoy empezando. Y todo está bastante claro. Hay muchísima información, así que pregunto poco, de momento. Comencé programando con GW-basic, hace ya muchos años. Pero he visto que la lógica de programación con Arduino es básicamente la misma y me ha vuelto el gusanillo. Bueno, al grano. Resulta que la placa Arduino Uno que utilizo, entrega siempre las entradas digitales como HIGH, pero curiosamente sólo si tienen un cable enchufado. Es decir, sólo el cable, sin ningún sensor o detector. De esta forma, al enchufar el cable, detecta que el sensor se ha activado. Seguramente se ha fastidiado la placa, pero quería preguntar a alguien más experto si es así definitivamente o existe solución. Gracias de nuevo por todo y saludos.

Creo que ya está. Me respondo sólo Resulta que uno de los sensores está mal y arroja siempre ALTO aunque no se haya activado. Así que me estaba volviendo loco haciendo pruebas. Si conectaba ARDUINO sólo, el programa corría bien. Si conectaba los cables de salida, también. Si conectaba los cables de las entradas, me daba como que el sensor estaba activado. (solo con el cable, sin el sensor) Entonces comencé a hacer pruebas, la primera, conectar el sensor, para que anulara posibles cargas residuales del cable. Pero si el sensor está mal... (hay que asegurarse siempre por dos o tres veces, no vale con presuponer) Luego probé intercalando una resistencia de 120 entre el cable y la entrada. Nada, también me daba HIGH. Finalmente, comencé a comprobar todo y... vaya, el sensor estaba mal. Así que he probado con otro sensor y ahora sí que funciona todo conforme debe. Apagado y encendido. Perfecto. Lo que sigo sin comprender es por qué ARDUINO me lee la entrada digital como HIGH cuando conecto sólo el cable, sin sensor ni nada. ¿alguien lo sabe? Gracias y espero haber aportado algo.

Lo que sigo sin comprender es por qué ARDUINO me lee la entrada digital como HIGH cuando conecto sólo el cable, sin sensor ni nada.

Esto es porque el puerto de entrada queda en un estado indeterminado. Imagina una puerta muy ligera la cual no tiene cerrojo, ¿que pasara con cualquier corriente de aire? exacto! el aire la puede abrirla o cerrarla, es decir la puerta está en un estado indeterminado, puede estar abierta o cerrada. En los microcontroladores cuando están en un estado indeterminado, cualquier ruido puede entrar por el cable pudiendo dejar la señal en alto o en bajo. Disculpa la analogía hechale un ojo a esta pagina https://www.luisllamas.es/leer-un-pulsador-con-arduino/ Tambien te recomiendo mires el siguiente vídeo y todos los demás de esta persona: Entradas y salidas digitales

Gracias. Es más o menos lo que yo había pensado. De ahí que mi primera comprobación fuera hacerlo con un sensor. Saludos.