Arduino Forum

International => Español => Topic started by: daviten on Sep 22, 2017, 01:01 am

Title: Estado Pulsador
Post by: daviten on Sep 22, 2017, 01:01 am
Compre una fuente de 5v, quiero usar un pin de arduino como entrada mandarle 5v, como tendria que hacer la conexion? arduino lo alimento con otra fuente aparte.
Title: Re: Estado Pulsador
Post by: Lucario448 on Sep 22, 2017, 01:11 am
No. De los mismos 5v que salen de donde sea que lo alimentes; puedes crear el estado alto en una entrada digital.
Title: Re: Estado Pulsador
Post by: daviten on Sep 22, 2017, 01:17 am
ok y como hago la conexion? pungo resistencia? porque me funciona pero con errores como descargas... mira este es la fuente que uso..
Title: Re: Estado Pulsador
Post by: daviten on Sep 22, 2017, 01:27 am
Esa es la fuente que utilizo la fuente se enciende cuando prendo la lampara , entonces de esta manera cuando la lampara esta prendida mando 5v a una entrada digital y asi saber cuando esta prendida o apagada la lampara.


(https://forum.arduino.cc/index.php?action=dlattach;topic=501493.0;attach=226862)
Title: Re: Estado Pulsador
Post by: Lucario448 on Sep 22, 2017, 01:52 am
(http://forum.arduino.cc/index.php?action=dlattach;topic=501493.0;attach=226862)
¿Qué es esa caja azul? Aparte de que no está centrada en la imagen, no puedo ver nada que me dé una pista para buscar información.
Title: Re: Estado Pulsador
Post by: daviten on Sep 22, 2017, 01:55 am
esa caja azul es la fuente que manda los 5v a arduino, meparece que el problema es que tengo que poner una resistencia Pull Down de 10k, pero no tengo de 10k. Uno el negativo con el positivo mediante una resistencia?
Title: Re: Estado Pulsador
Post by: Lucario448 on Sep 22, 2017, 02:23 am
meparece que el problema es que tengo que poner una resistencia Pull Down
Pull-down = estado activo alto. Mejor dicho: la acción sucede cuando la entrada digital recibe voltaje.


de 10k, pero no tengo de 10k.
Se vale entre 4.7k y 20k.


Uno el negativo con el positivo mediante una resistencia?
Positivo y negativo directamente de la fuente no, así solo estarás creando una carga eléctrica.

Pull-down se conecta entre la entrada digital y tierra.
Title: Re: Estado Pulsador
Post by: daviten on Sep 22, 2017, 02:40 am
ASi lo hice funcionar sin ruidos electricos, me anda todo genial, un solo problema cuando apago la fuente , se ve que queda unos segundos con carga electrica y tarda unos 2 o 3 segundos en pasar a estado low, alguna solucion?

(https://forum.arduino.cc/index.php?action=dlattach;topic=501493.0;attach=226862)
Title: Re: Estado Pulsador
Post by: Lucario448 on Sep 22, 2017, 03:00 am
un solo problema cuando apago la fuente , se ve que queda unos segundos con carga electrica y tarda unos 2 o 3 segundos en pasar a estado low
Si te refieres a que el Arduino tarda unos segundos en apagar una vez se haya desconectado la fuente de poder; es clara seña de que la fuente tiene buenos capacitores que filtran cualquier rizado de voltaje.

(http://forum.arduino.cc/index.php?action=dlattach;topic=501493.0;attach=226868)
Viéndolo así, el pin queda permanentemente en estado alto; y además no se coloca otra resistencia entre la entrada digital y el punto común entre accionador y pull-down...
Title: Re: Estado Pulsador
Post by: daviten on Sep 22, 2017, 03:18 am
es que no estoy usando un pulsador, esa fuente de 5v se enciende y apaga cuando se prende o apaga la luz de la casa. y sino le ponia esa resistencia tenia ruido electrico y me mandaba mal los estados. Asi quedo funcionando bien, lo unico es lo que te dije cuando desenchufo la fuente de los 220v , tarda 2 segundos en pasar a estado LOW.
Title: Re: Estado Pulsador
Post by: Lucario448 on Sep 22, 2017, 04:06 am
esa fuente de 5v se enciende y apaga cuando se prende o apaga la luz de la casa. [...] lo unico es lo que te dije cuando desenchufo la fuente de los 220v , tarda 2 segundos en pasar a estado LOW.
Entonces creo que sí es tema de capacitores de la fuente.
Title: Re: Estado Pulsador
Post by: daviten on Sep 22, 2017, 04:10 am
nose si me entendiste , es como enchufar un transformador a la pared y cuando esta enchufada pasa el pin  input rapidamente a HIGH , pero al desenchufar de la pared el transformador tarda 2 segundos en pasar el pin input a LOW, sera que queda con carga el transformador... no se puede hacer nada entonces?
Title: Re: Estado Pulsador
Post by: daviten on Sep 22, 2017, 02:14 pm
Mira ahi te dejo mas claro con la imagen como funciona el circuito, entonces cuando prendo la lampara de casa, esto enciende la fuente externa y me manda los 5v a arduino y puedo saber cada vez que prendo y apagado la lampara. El problema es cuando la apago demora 2 segundos en tomarme la lectura LOW el digital input.

(https://forum.arduino.cc/index.php?action=dlattach;topic=501493.0;attach=226921)
Title: Re: Estado Pulsador
Post by: surbyte on Sep 22, 2017, 04:26 pm
Dijiste que la fuente tenia ruido (me suena raro) y por esa razón le pusiste una Resistencia, de un valor que no me queda claro cual fue, entre VCC y GND de la fuente.
Eso esta bien pero podria mejorarse teniendo en cuenta los 2 segundos que tarda en descargase el capacitor.

Dime exactamente los datos de la fuente tension y corriente de salida?
La idea es bajar el valor de la resistencia para que la descarga de ese capacitor sea más rapida.

Supongamos una fuente de 5V 500mA => 5V/0.5A = 10 ohms quiere decir que un valor de 10 ohms sería el ideal pero por otro lado 10 x 0.5^2 = 2.5W para que pueda disipar el calor. ALgo exagerado me parece

Busquemos algo termino medio. Una de 100 ohms

5V/100 = 0.05A

P = 100 x (0.05^2) = 0.25 W o sea una resistencia de 1/4 W
Va a calentar un poco pero si quieres ir a la segura compra una de 1/2W de 100 ohms

Esto hara que la descarga sea mas rápida, bajarán tus 2 seg.


Dicho todo esto te hago mi comentario.
No hubiera usado una fuente y si hubiera usado un RELE de 220VAC conectado a esa lampara para indicar el estado y desde sus contactos NO y común tendría el estado de la lámpara.
De todas maneras esta bien.
Title: Re: Estado Pulsador
Post by: daviten on Sep 22, 2017, 04:34 pm
Esta es la fuente que estoy usando...

Modulo Fuente Alimentacion 220v A 5v 600ma

(https://forum.arduino.cc/index.php?action=dlattach;topic=501493.0;attach=226935)
Title: Re: Estado Pulsador
Post by: daviten on Sep 22, 2017, 05:01 pm
ahi decis vos que ponga la resistencia de 100 ohms 1/2w?

(http://forum.arduino.cc/index.php?action=dlattach;topic=501493.0;attach=226939)
Title: Re: Estado Pulsador
Post by: surbyte on Sep 22, 2017, 05:42 pm
Esa fuente esta preparada para otra cosa. Olvida todo lo que te dije de la resistencia. Ves lo que ocurre cuando no se ponen las imagenes..

No es una fuente adecuada. Es una fuente de Switching de tamaño pequeño diseñada para alimentar microcontroladores con 5V y de acuerdo a lo que se lee 3W o sea 3W/5V = 600mA

Porque no usas un relé de 220VAC y te evistas estos problemas.
Ten en cuenta posibles rebotes. Lo conectas como cualquier pulsador, hablo de sus contactos.
El rele con la bobina conectada a la lámpara cuyo estado quieres conocer.
Title: Re: Estado Pulsador
Post by: daviten on Sep 22, 2017, 06:03 pm
Como seria el circuito con un rele?
Title: Re: Estado Pulsador
Post by: surbyte on Sep 22, 2017, 07:47 pm
Tal vez no me haya explicado del todo correctamente.
Hablo de un relé con Bobina 220VAC. No hablo de los contactos.

La bobina se conecta a 220VAC y cuando hay tensión el contacto NO se cierra. Cuando no hay 220VAC el contacto esta abierto.

(https://altronics.cl/image/cache/catalog/productos/electronica/accesorios/rele_220vac_dpdt/rele_220vac_6-1000x1000.jpg)
Title: Re: Estado Pulsador
Post by: daviten on Sep 22, 2017, 07:48 pm
pero porque decis que no sirve? Si me esta funcionando asi lo que quiero, el problema son los 2 segundos de delay que tiene cuando apago la fuente para tirarme estado LOW... nada mas.
Title: Re: Estado Pulsador
Post by: surbyte on Sep 22, 2017, 07:49 pm
Ok SI quieres seguir con esa fuente continua pero el único modo de bajar ese tiempo es poniendo una resistencia de consumo como ya te indiqué.
Title: Re: Estado Pulsador
Post by: daviten on Sep 22, 2017, 07:54 pm
Este me sirve?

(https://http2.mlstatic.com/D_Q_NP_348425-MLA25445159947_032017-H.jpg)
Title: Re: Estado Pulsador
Post by: surbyte on Sep 22, 2017, 07:56 pm
Si lees su especificación dice 5V. La bobina se comanda con 5VDC y yo hablo de 220VAC.
No sirve.

Pero sigue con la fuente y prueba con la Resistencia a ver si baja el tiempo y aceptalo
Title: Re: Estado Pulsador
Post by: daviten on Sep 22, 2017, 08:00 pm
Ok SI quieres seguir con esa fuente continua pero el único modo de bajar ese tiempo es poniendo una resistencia de consumo como ya te indiqué.

Entonces la resistencia va puesta como en la imagen que te mostre anteriormente?
Title: Re: Estado Pulsador
Post by: surbyte on Sep 22, 2017, 08:03 pm
Creo habertelo explicado entre VCC y GND. Una resistencia que consume corriente como todo lo que se conecta a una fuente. Todo consume corriente.
Title: Re: Estado Pulsador
Post by: daviten on Sep 22, 2017, 08:06 pm
Si lees su especificación dice 5V. La bobina se comanda con 5VDC y yo hablo de 220VAC.
No sirve.

Pero sigue con la fuente y prueba con la Resistencia a ver si baja el tiempo y aceptalo

AHI DICE 220 VAC,
Title: Re: Estado Pulsador
Post by: daviten on Sep 22, 2017, 08:13 pm
Creo habertelo explicado entre VCC y GND. Una resistencia que consume corriente como todo lo que se conecta a una fuente. Todo consume corriente.
Asi quedaría? Corregime.

(https://forum.arduino.cc/index.php?action=dlattach;topic=501493.0;attach=226971)
Title: Re: Estado Pulsador
Post by: surbyte on Sep 22, 2017, 08:57 pm
Quote
Asi quedaría? Corregime.
Si asi.


De nuevo con el relé te hago notar la diferencia.
Si fueras uno de mis alumnos diría que eres duro (jajaja acepta la broma) y como veo que sos Argentino me entenderás.

El rele dice 5VDC para la BOBINA. Yo hablo de una bobina de 220VAC que nada tiene que ver con los contactos.
Asi que por favor ni se te ocurra conectar eso a 220VAC porque tendras fuegos artificiales.

Yo comprendo que seas nuevo pero GOOGLE es una máquina de información. Buscas rele y aprendes.

Las bobinas por un lado y los contactos por otro definen un RELE

Hay bobinas de DC o sea corriente continua y hay otras para AC.
DC y AC no son lo mismo.
Title: Re: Estado Pulsador
Post by: daviten on Sep 22, 2017, 10:53 pm
Sos un maestro, compre una resistencia de 100 ohms 1/2 y bajo un monton el delay ahora en lugar de ser 3 segundos es un solo segundo, podria disminuirlo mas? alguna resistencia mas chica?
Title: Re: Estado Pulsador
Post by: surbyte on Sep 22, 2017, 11:01 pm
Si puedes pero sobrecargas todo.
si quieres instantaneidad usa un Rele con bobina de 220VAC.
Ya te lo expliqué.

Son cosas diferentes. Pretendes que algo que fue diseñado para sostener la tensión ahora haga otra cosa.
Lo hace pero con un costo.


La resistencia mas baja seria de 10 ohsm pero tendría que ser de 5Wattios.

Tener algo que consume 5W al divino ...  me entiendes me parece un despropósito.

Puedes usar algo como esto

(http://www.avrfreaks.net/sites/default/files/mains.jpg)

Este simple circuito pero en lugar de 6.8K que sean de 12K cada una, te detecta cada vez que la AC pasa por 0.
O sea.. hay que usar algo de software pero sabras si tienes o no el foco prendido cada 10 mseg
Title: Re: Estado Pulsador
Post by: daviten on Sep 22, 2017, 11:08 pm
pasame link de ese rele que me decis, asi lo puedo comprar.
Title: Re: Estado Pulsador
Post by: surbyte on Sep 23, 2017, 05:29 am
Busca en ML.
Title: Re: Estado Pulsador
Post by: daviten on Sep 29, 2017, 01:53 pm
Busca en ML.
aqui en mi pais no los encuentro. o por lo menos eso creo.
Title: Re: Estado Pulsador
Post by: surbyte on Sep 29, 2017, 10:26 pm
Que es lo que no encuentras en tu país? Que por cierto comprobé que es Argentina.

Primero ve a una casa de electricidad o electronica y busca el rele con bobina 220VAC mas barato que consigas. Solo necesitas que te diga por su contacto si esta o no activo.

Aca tienes un ejemplo: Rele con bobina 220VAC (https://articulo.mercadolibre.com.ar/MLA-649439125-rele-industrial-220-vac-zettler-az1401-4c-made-in-germany-_JM) x 200 peso smas o menos

y este por 95 pero verifica bien

https://articulo.mercadolibre.com.ar/MLA-675563817-rele-ry2s-u-idec-220vca-x-unidad-envios-al-interior-_JM (https://articulo.mercadolibre.com.ar/MLA-675563817-rele-ry2s-u-idec-220vca-x-unidad-envios-al-interior-_JM)
Title: Re: Estado Pulsador
Post by: daviten on Sep 29, 2017, 11:14 pm
Que es lo que no encuentras en tu país? Que por cierto comprobé que es Argentina.

Primero ve a una casa de electricidad o electronica y busca el rele con bobina 220VAC mas barato que consigas. Solo necesitas que te diga por su contacto si esta o no activo.

Aca tienes un ejemplo: Rele con bobina 220VAC (https://articulo.mercadolibre.com.ar/MLA-649439125-rele-industrial-220-vac-zettler-az1401-4c-made-in-germany-_JM) x 200 peso smas o menos

y este por 95 pero verifica bien

https://articulo.mercadolibre.com.ar/MLA-675563817-rele-ry2s-u-idec-220vca-x-unidad-envios-al-interior-_JM (https://articulo.mercadolibre.com.ar/MLA-675563817-rele-ry2s-u-idec-220vca-x-unidad-envios-al-interior-_JM)

OK, ya lo compre. Como seria la conexion que tengo que hacer para usar esto? PErdon pero soy novato y principiante con todo esto.
Title: Re: Estado Pulsador
Post by: surbyte on Sep 30, 2017, 12:15 am
Los terminales de la bobina a 220VAC, o sea con tu foco.
Los contactos COMUN y NO serán tu nuevo indicador de foco on o foco OFF
SI el foco esta on ese contacto NO estará cerrado porque se pegó el rele
Si el foco esta OFF ese contacto NO estara abierto porque no hay 220VAC.

Muy simple.
Title: Re: Estado Pulsador
Post by: daviten on Sep 30, 2017, 03:27 am
pero no entiendo, esta bobina va a arduino tmb para saber el estado?
Title: Re: Estado Pulsador
Post by: surbyte on Sep 30, 2017, 05:01 am
Rele (https://es.wikipedia.org/wiki/Rel%C3%A9)
Title: Re: Estado Pulsador
Post by: steel_series on Sep 30, 2017, 11:38 am
pero no entiendo, esta bobina va a arduino tmb para saber el estado?
A mi entender, lo que te están explicando es, usar un Relay de 220 VAC, el cual no cumple la función de encender la lampara, sino de actuar junto con ella, la bobina del Relay iría conectada en paralelo con Fase y Neutro de la lampara, cuando la misma se enciende, también lo hace el Relay, de ese modo podría usarse como como un "botón", que esta en estado HIGH cuando la lampara esta prendida y LOW cuando esta apagada o viceversa.

Si no estas seguro cuales son los contactos de la bobina, podes usar un multimetro e ir midiendo resistencia, la bobina te va a dar un determinado valor en ohms, mientras que los demás contactos te van a dar dar 0 o infinito. (esos son los que debes usar como "botón").

Corrijanme si me equivoco.

Saludos!!
Title: Re: Estado Pulsador
Post by: surbyte on Sep 30, 2017, 02:51 pm
Todo el hilo trata de reemplazar una fuente que INDIQUE en que estado esta el foco, por lo tanto, el RELE sugerido es para la misma función.
Conectado a través de su bobina en paralelo con el foco para que indique su estado a través de sus contactos.
Title: Re: Estado Pulsador
Post by: daviten on Oct 03, 2017, 07:00 pm
Entiendo lo que dices, pero mi pregunta es esa bobina tiene salidas de 5v? para conectarlo a arduino? porque sinceramente no entiendo la funcion. Yo lo que estoy haciendo con la fuente switch de 5v conectada a los 220 de la lampara que esta cuando la lampara prende enciende la fuente y me manda 5v a arduino entonces asi puedo saber cuando esta prendida. Esto de la bobina es algo similar?
Title: Re: Estado Pulsador
Post by: daviten on Oct 03, 2017, 07:16 pm
CREO QUE YA ENTENDI, ESTA BOBINA ACTUA COMO UN PULSADOR SE ACTIVA AUTOMATICAMENTE AL TENER 220, Y ESTO ME CORTARIA O PASARIA LOS 5V QUE PUEDO USAR DE LA MISMA SALIDA DE ARDUINO A ESTE EJEMPLO USANDO EL PIN4 COMO ENTRADA, ENTONCES AL PRENDER LA LAMPARA ESTARIA ALTO Y LOW CUANDO ESTA APAGADA. ES ASI CORRECTO?



(https://forum.arduino.cc/index.php?action=dlattach;topic=501493.0;attach=228395)
Title: Re: Estado Pulsador
Post by: steel_series on Oct 04, 2017, 03:28 am
Si, eso es lo que te explicaron, pero en la foto/dibujo lo tenes conectado al revés por lo que veo. Si no entendes como funciona un relay, no te recomiendo que empieces aprendiendo con uno de 220VAC.
Title: Re: Estado Pulsador
Post by: surbyte on Oct 05, 2017, 04:46 am
Rele (https://es.wikipedia.org/wiki/Rel%C3%A9)
Por favor lee esto o quemarás arduino, relé y lo que este cerca!!
Title: Re: Estado Pulsador
Post by: daviten on Oct 05, 2017, 04:31 pm
YA lo lei, por eso te adjunte la imagen esa, seria como esta la imagen, obviamente buscando los contactos adecuados en la imagen puse por poner en cualquiier pata del rele.
Title: Re: Estado Pulsador
Post by: surbyte on Oct 05, 2017, 05:21 pm
Esta mal entonces.
Mas alla que no conoces los contactos te comento. Los dos que estan en sentido diferente son los de la bobina y deben ir al foco.
El contacto NO y el COMUN (que veo es doble) tienen que ir al arduino con resistencia PULL UP o PULL DOWN por medio.
Title: Re: Estado Pulsador
Post by: daviten on Oct 10, 2017, 11:41 pm
Hola Surbyte hoy me llegaron los rele 220vac te adjunto una imagen con los contactos , me podrias decir donde pongo el cable de 5v que va a arduino, el negativo y positivo de los 220 ya me quedo claro pin 13 y 14. pero donde pongo para cortar y abrir el contacto del cable de 5v.



(https://forum.arduino.cc/index.php?action=dlattach;topic=501493.0;attach=229301)
Title: Re: Estado Pulsador
Post by: daviten on Oct 11, 2017, 12:40 am
ya esta, lo hice andar.
Title: Re: Estado Pulsador
Post by: surbyte on Oct 11, 2017, 12:45 am
Seguro que lo resolviste pero no lo explicaste y esto no es solo para ti sino para todo quien lo lee

13 y 14 son los contactos de la bobina 220VAC asi que van al foco
El común e 1
Y el contacto NO (normal open o abierto) es 5, asi que 1 y 5 seran tus contactos.

1 a GND
5 al pin y luego decides si usas resistencia interna o externa pull up

Title: Re: Estado Pulsador
Post by: daviten on Oct 11, 2017, 01:19 pm
Bueno, yo use 5 y 8 solo para cortar el cble que entra con 5v al pin deentrada. Tengo una duda , tengo que usar 8 de estos a cada cable positivo tengo que ponerle resistencia pulldown? O puedo usar una sola para los 8?
Title: Re: Estado Pulsador
Post by: surbyte on Oct 11, 2017, 04:22 pm
Quote
5 al pin y luego decides si usas resistencia interna o externa pull up
5 y 8 no puede ser


Lee esto Leer estado de rele externo (http://forum.arduino.cc/index.php?topic=396746.0)
En el post#1 que voy a replicar aca responde tu consulta.

Nunca podras saber un estado usando solo un cable. Debe ser un cable mas las conexion de retorno por GND.


Tu problema es como estos dos esquemas. Donde el interruptor o pulsador representan los contactos de tu relé. Los contactos son de un lado en tu caso 9 y 1 y del otro 8 y 12. Hablo de contactos Normales Abiertos o NO.

(http://forum.arduino.cc/index.php?action=dlattach;topic=501493.0;attach=229365)

Supongamos NO (5) y Comun (9).

Como verás debes usar una Resistencia por ejemplo de 4k7 pero puede ser de 10k tmb.
Y ese GND debe ser el mismo que el arduino.

Tambien puedes olvidar la resistencia y conectar solo el comun a GND y el NO al pin y luego veremos al programarlo como usamos el PULL UP interno.

Por favor no te apartes de esto okay!!
Title: Re: Estado Pulsador
Post by: daviten on Oct 11, 2017, 04:36 pm
perdon 5 y 9 estoy usando.
Title: Re: Estado Pulsador
Post by: daviten on Oct 11, 2017, 05:02 pm
Voy a conectar todo hoy y si funciona todo lo doy por silucionado...
Title: Re: Estado Pulsador
Post by: daviten on Oct 12, 2017, 12:00 am
asi tengo la conexion, funciona asi, cada vez que mandas 220 , arduino me manda por socket "pin1", y cuando apagas me manda "pin0" ahora aveces cuando prendes y apagas varias veces es como si se buguea y me manda pin1 pin0, como 2 estados y aveces esta prendida y me manda pin1 , pin0, entonces en mi app la ultima lectura fue 0 por ende queda como si estaria apagada... que puede ser? tengo mal la resistencia? o que?

(https://forum.arduino.cc/index.php?action=dlattach;topic=501493.0;attach=229409)
Title: Re: Estado Pulsador
Post by: surbyte on Oct 12, 2017, 12:41 am
Debes agregar una rutina antirebotes porque el rele no es maravilloso

para ellos dos alternativas o usas una Libreria que ya te lo resuelve o lo haces a mano.

La libreria la buscas con el ide y se llama Bounce2
Luego mira los ejemplos, el tiempo en el que consulta si un pin esta en un estado el el tiempo BOUNCE o de REBOTE y yo te diria que lo pongas en 100 mseg.

Sino hay que hacerlo x programa. Busca arriba derecha Debounce
Title: Re: Estado Pulsador
Post by: daviten on Oct 12, 2017, 01:14 am
pero con o sin el rele me lo hace igual, siempre es asi? cuantos problemas que tengo... puchaaaa
Title: Re: Estado Pulsador
Post by: surbyte on Oct 12, 2017, 02:30 am
Libreria Bounce2 (https://github.com/thomasfredericks/Bounce2) ejecuta un ejemplo como bounce.ino (https://github.com/thomasfredericks/Bounce2/blob/master/examples/bounce/bounce.ino) y esta resuelto.

cambia esa linea
Code: [Select]
debouncer.interval(5); // interval in ms

por esta

Code: [Select]
debouncer.interval(100); // interval in ms

Y el pin que corresponda a tu caso y lo tienes.
Title: Re: Estado Pulsador
Post by: daviten on Oct 12, 2017, 02:42 am
pero no estoy encendiendo ningun pin , solo leeo el pin de entrada para saber cuando la lampara esta encendida, si el pinMode(8, INPUT); esta en alto me manda pin1, si esta low me manda pin0. entonces en la app que diseñe puedo saber cuando la lampara esta prendida o apagada.
Title: Re: Estado Pulsador
Post by: surbyte on Oct 12, 2017, 03:02 am
Quote
pero no estoy encendiendo ningun pin
Quien hablo de encender un pin?

Tu dices que estas conectado al pin 8 bueno
Sinceramente no entiendo como no entiendes lo que se te explica? O yo tengo poca paciencia o no se que ocurre.

Trabaja un poco, Daviten. Tienes el ejemplo, cambia el pin del ejemplo por tu pin 8.

Cambia la linea por lo que te aconsejo y resuelves el problema. Ahora si con todo y con eso, el arduino se cuelga o no se que le pasa.. yo no se. que mas decir.

Title: Re: Estado Pulsador
Post by: daviten on Oct 12, 2017, 03:04 am
Code: [Select]
#include <Bounce2.h>

#define BUTTON_PIN 2
#define LED_PIN 13

// Instantiate a Bounce object
Bounce debouncer = Bounce();

void setup() {

  // Setup the button with an internal pull-up :
  pinMode(BUTTON_PIN,INPUT_PULLUP);

  // After setting up the button, setup the Bounce instance :
  debouncer.attach(BUTTON_PIN);
  debouncer.interval(5); // interval in ms

  //Setup the LED :
  pinMode(LED_PIN,OUTPUT);

}
Title: Re: Estado Pulsador
Post by: daviten on Oct 12, 2017, 03:09 am
ahi dice led pin y boton pin, lo del arduino que se cae es otro problema que tengo otro hilo, pero hace bastante no recibo respuestas. compre otro arduino y otro ethernet y otro arduino uno para cambiar todo.
Title: Re: Estado Pulsador
Post by: surbyte on Oct 12, 2017, 05:07 am
Quote
Libreria Bounce2 ejecuta un ejemplo como bounce.ino y esta resuelto.
Este ejemplo es genérico y sirve como guia para resolver lo que necesitas en tu caso
El LED es parte de este ejemplo. Olvídalo.

Solo debías modificar el pin del boton que es tu RELE, no hacia falta volver a copiar el ejemplo que se ve en el vínculo sin modificaciones.

Entonces en lugar de 2 debes poner 8 y luego solo tiene un antirebote de 5 mseg y ahi te indique que pongas 100 asi que si hubieras puesto esto

Code: [Select]

#include <Bounce2.h>

#define BUTTON_PIN 8
#define LED_PIN 13

// Instantiate a Bounce object
Bounce debouncer = Bounce();

void setup() {

  // configura el boton con un resistor externo pull-up del valor mostrado en la figura anterior:
  pinMode(BUTTON_PIN,INPUT);

  // After setting up the button, setup the Bounce instance :
  debouncer.attach(BUTTON_PIN);
  debouncer.interval(100); // interval in ms

  //Setup the LED :
  pinMode(LED_PIN,OUTPUT);

}
Title: Re: Estado Pulsador
Post by: daviten on Oct 12, 2017, 03:58 pm
Llego a casa y lo pruebo , puedo hacerlo con 8 pulsqdores? Tengo 8 lamparas, lo raro es que vos prendes y apagas y funciona bien cada tanto hqce ruido.
Title: Re: Estado Pulsador
Post by: surbyte on Oct 12, 2017, 04:08 pm
Cuando hablas de que prendes y apagas te referis a la lámpara?
El que hace ruido es el relé?

Quote
puedo hacerlo con 8 pulsqdores?
Claro porque no pero vas a tener que repetir cosas con nombres distinos te muestro con supuestos 3 reles conectados a 8, 9 y 10.

Code: [Select]
#include <Bounce2.h>

#define BUTTON_PIN1  8
#define BUTTON_PIN2  9
#define BUTTON_PIN3 10


// Instantiate a Bounce object
Bounce debouncer1 = Bounce();
Bounce debouncer2 = Bounce();
Bounce debouncer3 = Bounce();

void setup() {

  Serial.begin(9600); // o la velociad del monitor serie que quieras

  // Setup the button with an internal pull-up :
  pinMode(BUTTON_PIN,INPUT_PULLUP);

  // After setting up the button, setup the Bounce instance :
  debouncer1.attach(BUTTON_PIN1);
  debouncer1.interval(100); // interval in ms
  debouncer2.attach(BUTTON_PIN2);
  debouncer2.interval(100); // interval in ms
  debouncer3.attach(BUTTON_PIN3);
  debouncer3.interval(100); // interval in ms
}

void loop() {
  // Actualiza la instancia
  debouncer1.update();
  debouncer2.update();
  debouncer3.update();

  // obtiene el valor actualizado
  bool value1 = debouncer1.read();

  Serial.println(value1?"Rele1 : ON":"Rele1 : OFF");

  bool value2 = debouncer2.read();

  Serial.println(value2?"Rele2 : ON":"Rele2 : OFF");

  bool value3 = debouncer3.read();

  Serial.println(value3?"Rele3 : ON":"Rele3 : OFF");

}

Title: Re: Estado Pulsador
Post by: daviten on Oct 13, 2017, 12:47 am
Listo , lo hice y funciona! pero no me queda claro el ms en 100, en el ejemplo viene en 5, lo probe en 5 y hace lo mismo, siempre cambia rapido el estado pero hay veces cuando tiene rebote demora 3 segundos en mandarme el estado.
Title: Re: Estado Pulsador
Post by: daviten on Oct 13, 2017, 12:54 am
Lo estoy haciendo asi, pero ahora me cuelga el arduino con este codigo...

Code: [Select]
#include <SPI.h>
#include <Ethernet.h>
#include <Bounce2.h>
#define BUTTON_PIN 8
Bounce debouncer1 = Bounce();
char mess[15];
int estadopin3 = 0;
int estadopin4 = 0;
int estadopin5 = 0;
int estadopin6 = 0;
int estadopin7 = 0;
int estadopin31 = 0;
int estadopin33 = 0;
int estadopin35 = 0;
int alarma = 0;
int estadoalarma = 0;
int voz = 0;
int estadovoz = 0;
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
IPAddress ip(192, 168, 1, 200);
IPAddress myDns(192,168, 1, 1);
IPAddress gateway(192, 168, 1, 1);
IPAddress subnet(255, 255, 255, 0);
EthernetServer server(23);
EthernetClient client;
void setup() {
  pinMode(BUTTON_PIN,INPUT_PULLUP);
  debouncer1.attach(BUTTON_PIN);
  debouncer1.interval(5); // interval in ms
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(31, OUTPUT);
  pinMode(33, OUTPUT);
  pinMode(22, OUTPUT);
  pinMode(33, OUTPUT);
  pinMode(35, OUTPUT);
  Ethernet.begin(mac, ip, myDns, gateway, subnet);
  server.begin();
}
void loop() {
  if(digitalRead(37) == HIGH && alarma == 1)
  {
      server.print("ala");
      alarma = 0;   
  }
  debouncer1.update();   
EthernetClient client = server.available();       
  if (client) {
    if (client.available() > 0) {
      char c = client.read();
      //Mandar estados al iniciar app
      if(c == '*'){
      sprintf(mess,"pin%i%i%i%i%i%i%i%i%i%i",debouncer1.read(),digitalRead(4),digitalRead(5),digitalRead(7),digitalRead(31),digitalRead(33),alarma,voz,digitalRead(35),digitalRead(6));       
      server.print(mess);
      }
      //PIN3
      if(c == '1')
      digitalWrite(3, HIGH);
      if(c == '2')
      digitalWrite(3, LOW);
      //PIN4
      if(c == '3')
      digitalWrite(4, HIGH);
      if(c == '4')
      digitalWrite(4, LOW);
      //PIN5
      if(c == '5')
      digitalWrite(6, HIGH);
      if(c == '6')
      digitalWrite(6, LOW);
      //PIN8
      if(c == '7')
      digitalWrite(33, HIGH);
      if(c == '8')
      digitalWrite(33, LOW);
      //PIN31
      if(c == '9')
      digitalWrite(5, HIGH);
      if(c == 'm')
      digitalWrite(5, LOW);
      //PIN33
      if(c == 'n')
      digitalWrite(7, HIGH);
      if(c == 'b')
      digitalWrite(7, LOW);
      if(c == 'q')
      alarma = 1;
      if(c == 'w')
      alarma = 0;
      if(c == 'c')
      voz = 1;
      if(c == 'v')
      voz = 0;
      if(c == 'z')
      digitalWrite(35, HIGH);
      if(c == 'x')
      digitalWrite(35, LOW);
    }
 
  }     
//Cambio de estado de pin3 me manda el aviso

      if(estadopin3 != debouncer1.read() || estadopin4 != digitalRead(4) || estadopin5 != digitalRead(5) || estadopin6 != digitalRead(6) || estadopin7 != digitalRead(7) || estadopin31 != digitalRead(31) || estadopin33 != digitalRead(33) || alarma != estadoalarma || voz != estadovoz || estadopin35 != digitalRead(35))
      {
      sprintf(mess,"pin%i%i%i%i%i%i%i%i%i%i",debouncer1.read(),digitalRead(4),digitalRead(5),digitalRead(7),digitalRead(31),digitalRead(33),alarma,voz,digitalRead(35),digitalRead(6));       
      server.print(mess);
      estadopin3 = debouncer1.read();
      estadopin4 = digitalRead(4);
      estadopin5 = digitalRead(5);
      estadopin6 = digitalRead(6);
      estadopin7 = digitalRead(7);
      estadopin31 = digitalRead(31);
      estadopin33 = digitalRead(33);
      estadoalarma = alarma;
      estadovoz = voz;
      estadopin35 = digitalRead(35);
      }
//Mando cambio de distancia tanque sensor

//Fin Loop
}
Title: Re: Estado Pulsador
Post by: daviten on Oct 13, 2017, 05:52 pm
no hay otra forma de saber el estado de la lampara? me parece medio embole tener que hacer estos con todas las lamparas de la casa, resistencia anti rebote, etc.- tendria que ser super sencillo hacerlo...
Title: Re: Estado Pulsador
Post by: daviten on Oct 13, 2017, 07:49 pm
Esto es %100 eficiente?

http://domotica-arduino.es/comprar-online/es/conexion-a-tornillo/163-arduino-detector-220v.html (http://domotica-arduino.es/comprar-online/es/conexion-a-tornillo/163-arduino-detector-220v.html)
Title: Re: Estado Pulsador
Post by: surbyte on Oct 14, 2017, 01:34 am
Quote
http://domotica-arduino.es/comprar-online/es/conexion-a-tornillo/163-arduino-detector-220v.html
Eso te lo puse en el post#29.


Quote
lo hice y funciona! pero no me queda claro el ms en 100, en el ejemplo viene en 5, lo probe en 5 y hace lo mismo, siempre cambia rapido el estado pero hay veces cuando tiene rebote demora 3 segundos en mandarme el estado.
El ejemplo es para un pulsador y vos tenes un rele. No tiene nada que ver un pulsador con un rele, aunque funcionalmente sean lo mismo.
Yo te dije que uses 100mseg y es porque en un RELE, sus contactos rebotan!!!

El rebote no lo eliminas con 5 mseg

Quote
no hay otra forma de saber el estado de la lampara? me parece medio embole tener que hacer estos con todas las lamparas de la casa, resistencia anti rebote, etc.- tendria que ser super sencillo hacerlo...
No era molesto ponerle una fuente que demoraba 3seg en avisarte pero poner un rele si lo es?


La mejor solucion es usar SONOFF pero requiere todo otro set de elementos de mayor complejidad aunque en lo que respecta a la lampara y su estado se simplifica pero tu comenzaste el hilo con esta opcion.
No es mi responsabilidad.
Title: Re: Estado Pulsador
Post by: daviten on Oct 17, 2017, 05:12 pm
Lo que no probe hacer es usar pinMode INPUT_PULLUP , y en lugar de hacerlo con el cable de 5v, hacerlo con GND, dara menos ruido? sera la solucion?
Title: Re: Estado Pulsador
Post by: surbyte on Oct 17, 2017, 05:36 pm
Es lo mismo.
Ruido de que ruido hablas?
Rebote no es ruido.
Title: Re: Estado Pulsador
Post by: daviten on Oct 17, 2017, 06:59 pm
Si rebote a eso me referia.
Title: Re: Estado Pulsador
Post by: surbyte on Oct 17, 2017, 10:16 pm
El rebote se elemina con la rutina antirebote y para eso te sugerí la librería Bounce2 y usar 100 mseg.
Title: Re: Estado Pulsador
Post by: daviten on Oct 19, 2017, 01:00 am
Voy a probar con esto , asi no cargo tanto arduino con codigos y retraso todo...

DEBOUNCE POR HARDWARE

Aplicar un debounce por hardware tiene la ventaja de no incrementar el tiempo de ejecución de nuestro código. Además, en general, es una solución más robusta. Por contra, tiene la desventaja de aumentar la complejidad de nuestro montaje.

La forma más sencilla de aplicar un debounce por hardware es colocar un condensador en paralelo con el dispositivo (pulsador, interruptor, sensor…). Un condensador del orden de 1uF debería ser suficiente para filtrar la mayoría del ruido.

El esquema de conexión es el siguiente.

(https://www.luisllamas.es/wp-content/uploads/2016/05/arduino-debounce-hardware.png)
Title: Re: Estado Pulsador
Post by: surbyte on Oct 19, 2017, 01:15 am
Usar un capacitor para filtrar ruido es como arrastrar un auto con motor funcionado usando un caballo.

El Arduino no se carga Daviten, esta para eso!!
Si 100 mseg no son suficientes usa mas.
Title: Re: Estado Pulsador
Post by: daviten on Oct 19, 2017, 01:16 am
ok, listo entonces voy a usar bounce, me convenciste.