[SOLUCIONADO] Detectar pulsador en otro circuito

Hola.
Antes que nada, perdón si el título no está bien. No sé cómo describir en pocas palabras lo que necesito.
Tengo un dispositivo que tiene, entre otras cosas, un pulsador a través del cual, al ser presionado, pasa una tensión de 5V.
Lo que necesito es, mediante Arduino Mega 2560, detectar cuándo el pulsador es presionado.
El Arduino lo alimentaría con la misma fuente que el dispositivo.
¿Hay manera de hacer esto?
Muchas gracias.

Jerónimo

Hola buenos días, si claro que hay manera. Utiliza un optoacoplador para separar las corrientes del circuito exterior con los puertos de salida de tu arduino en casi de que tu circuito exterior sea complejo y utilice corrientes que puedan dañar tu arduino.

Si por el contrario tienes un circuito simple conformado por una resistencia, vcc (+5v) y tierra entonces lo conectas directamente a tu puerto digital.

Estudia un poco las funciones digitalread (pin) de tu arduino para que aprendas a leer los estados de los pines digitales.

Saludos Cordiales.

¡Hola, carlosjq10!
El circuito de mi arduino no es más que lo que describís: una resistencia, los 5 v y la tierra del Arduino.
Vengo de la programación, no entiendo de electrónica y estoy aprendiendo con Arduino. Y mi duda es (perdón si digo una burrada) si no puede haber un cruce de tensiones o algo así con el circuito externo. Mi miedo es dañar el circuito externo, ya que es mucho más complejo y no lo hice yo (insisto, no entiendo de electrónica). Porque por el pulsador que quiero sensar va a estar corriendo ya la tensión del otro circuito (no sé si me expliqué bien).
Muchas gracias por tu ayuda.

Jerónimo

Pero con la misma tensión que alimentas tu arduino no puedes alimentar el circuito del pulsador? Mira en YouTube hay miles de video de este tipo de ejemplos básicos.

Si alimentas con la misma tensión no tendrás problemas a menos que hagas un cortocircuito franco conectando +5v directamente con tierra.

Sí, de la misma fuente que se alimenta el circuito externo (es una batería de 7 v) voy a alimentar el Arduino.
¡Muchas gracias!

Jerónimo

Epa, con 7v puedes dañar tu arduino. Hay varios post acá en este foro que tratan sobre la problemática de la alimentación del arduino, limites y demás características cuando alimentamos externamente nuestro arduino. Lee, lee, lee y lee hermano. Busca en google o en youtube y veras la gran cantidad de información que tienes a tu alcance

Lo había leído y me pareció entender que el Arduino tiene un regulador de voltaje para su alimentación. Seguramente entendí mal.
Igualmente, del circuito externo tengo manera de sacar 5 v (del mismo lugar que los saca el pulsador). Así, en virtud de la observación que hacés, lo sacaré de ahí.
¿Está bien?

Jerónimo

Que mezcla de cosas!!!
Tienes una batería de 7V y con eso por un lado conectas un pulsador que quieres monitorear con el arduino. okay,
Por otro lado con esos 7V alimentas el arduino vía conector externo? Claro que puedes o por la entrada VIN.

Ahora el pulsador si esta a 7V deberías usar la recomenación de @carlosjq10 o bien usar un resistor seguido de un zener de 5V para asegurarnos que no vas a quemar una entrada del Arduino.
Te dejo opciones


otra idea similar

Y aca lo del optoacoplador

Hola, surbyte.
A partir de lo que me sugieren me di cuenta de que no describí bien la situación.
Tengo un dispositivo que tiene varios pulsadores, todos con la misma estructura.
El dispositivo se alimenta con una batería de 7 voltios, pero por los pulsadores pasan 5 v (medido con tester).
El "circuito" de los pulsadores es así: una pata del pulsador va a GND y la otra, a una resistencia (no medí su valor) y, a continuación, a los 5 v de la placa.
Cuando el pulsador está sin pulsarse, la tensión es 5 v. Cuando lo pulso cae a 0.
Ese circuito está en una placa muy compleja (por lo menos, para mí, que no entiendo de electrónica) y no puedo modificarlo. Por eso quiero agregarle lo necesario para sensar, con un Arduino, cuándo se presione cada pulsador.
Lo que hice hasta ahora es un "circuito" similar al que describí arriba (empleando un Arduino Mega 2560 y conectando las patas de los pulsadores a la salida de 5v y a GND del Arduino), pero entre la resistencia y la pata del pulsador le conecté un cable que va a un pin del Arduino. Leyendo todos los pines que están conectados a los pulsadores puedo determinar cuáles son pulsados.
Si desconecto los pulsadores del circuito principal y los conecto a mi circuito funciona perfectamente, pero necesito hacerlo funcionar sin desconectarlos del circuito principal. Entonces, no sé si al convivir los dos circuitos en los mismos pulsadores puede volar todo por el aire.
El Arduino lo alimentaría con 5v obtenidos de la placa principal.
Espero no haber confundido más.
¡Muchas gracias!

Jerónimo

Esto es lo que tienes

A la izquierda tu plaqueta compleja con el boton a GND y luego una Resistencia.
Ya has puesto el tester (que es como si fuera el arduino) y no voló nada asi que tranquilo.
Debes compartir gnd con esa placa y el arduino y luego del contacto entre boton y resistencia sacarás un cable al pin definido como entrada del arduino.
Prueba con uno y luego generaliza con los demás.

surbyte: ¡hice lo que me recomendaste en el último post y anduvo perfectamente!
¡Muchas gracias por todo a ambos!
Ahora edito el título para indicar que mi problema fue solucionado.
No quiero desvirtuar pero me parece que no amerita abrir un hilo aparte porque ya hay bastante escrito sobre el tema, pero les consulto. ¿Por qué no puedo alimentar el Arduino con los 7 v de la batería (lo que hice hasta ahora fue alimentarlo desde la pc)? He leído un post en el que se recomendaba alimentarlo con 9 v.

¿Es posible eso, o entendí cualquier cosa?
Muchas gracias.

Jerónimo

Si puedes alimentarlo con la batería pero por VIN o mejor por conector externo.

Usa la fuente de alimentación externa que dice el dibujo o la alimentación regulada conectando una pila de mayor voltaje o sea VIN. Compartes GND como antes y todo bien y sin problemas.

La tensión minima no puede caer de 6.5V o tu UNO dejará de funcionar apropiadamente.

Por lo que comentás, me parece que voy a alimentarlo por el conector de fuente externa.
¿Aun así debo compartir la masa? Hasta ahora la tengo compartida por el pin de masa que está al lado del 53 (no es un UNO, es un Mega 2560). ¿Eso debe quedar así y solo le agrego la alimentación (positivo y masa) desde la batería por el conector de fuente externa, o debo cambiar algo más?
¿O me conviene dejar la masa compartida como está y solo conectar el positivo de la batería al pin VIN del Arduino?
Muchas gracias.

Jerónimo

Si no compartes la masa, todo es una tensión flotatente sin REFERENCIA y por donde circula la corriente de regreso?
Obvio que si.

Positivo de la bateria y negativo a GND del Arduino. Lo demas como ya conversamos.
Con el pulsador no cambias nada. EL GND ya esta compartido y solo ves el cambio en ese pulsador que va entre 0 y 5V.
Si ves que la tensión sube algo mas de 5V entonces usa alguna de las recomendaciones que te di con un Zener.

Genial. Lo voy a probar y luego comentaré.
¡Muchas gracias nuevamente!

Jerónimo