# Timbre inteligente con ESP-01S



## jjmuriel (Mar 20, 2021)

Buenas tardes a todos. 

He estado siguiendo un tutorial de la página Web DIY Smart Doorbell for just $2, no soldering required, donde conectan un  timbre a un módulo ESP-01S para detectar la acción del botón del timbre y poder enviar una señal a un sistema de automatización (en este caso, Home Assistant).  A diferencia del transformador de usado en dicho tutorial,  uno de 8V DC, yo utilizo un transformador de 16 V AC - 10 A.  Mis conocimientos de electrónico están por el momento algo limitados y tengo la siguiente inquietud: ¿Qué debo poner aquí (ver PDF adjunto) para proteger el circuito del voltaje del transformador, cuando alguien oprime el timbre y de donde tomo la tierra para obtener el diferencial de voltaje?  Mi timbre tiene video y una completa descripción de este puede encontrase en: New RCA HSDB2A 3MP Doorbell IP Camera.  Este dispositivo utiliza un elemento adicional que se llama Power Kit, que lo que hace es simplemente seguir alimentando el timbre con video para que no se desconecte en ningún momento (cuando timbran) y siempre haya video, independiente de si presionan el timbre o no.  Por el momento no pienso utilizar el relé para desconectar el timbre, así que este elemento puede ser obviado.  Agradecería por favor me den detalles de los elementos para poder adquirirlos y completar el circuito.


----------



## DJ T3 (Mar 21, 2021)

Una resistencia en serie, seguido (del lado del ESP) de un zener a masa (gnd, ground, tierra, etc).
Procura que la señal sea en continua NO en alterna


----------



## Scooter (Mar 21, 2021)

No entiendo nada ese "esquema", por ponerle un nombre.
Lo que tu llamas "transformador de continua" es un oxímoron en toda regla. Los transformadores son si o si "alterna - alterna" si sale continua es que no es un transformador, es una fuente de alimentación.
Si quieres hacer una fuente de alimentación, busca en el foro como hacer una porque hay miles de esquemas.
Si tienes un transformador de 16V te recomendaría buscar uno menor. Te falta toda la fuente de alimentación excepto el transformador en si.
La fuente puede ser lineal o conmutada, las lineales son mas económicas y mucho mas ineficientes y las conmutadas lo contrario.
Dados tus conocimientos que confundes una cosa con la otra y dado que el ESP se alimenta si o si a 3V3, partir de 16Vac que rectificado y filtrado saldrán 22,5V y de ahí bajar a 3,3V... mejor compras una. Va a salir un ente de fuente.

No cobro comisión, yo he comprado estas y van muy bien, son pequeñas etc:





						AZDelivery 3 x 220V a 3.3V Fuente de alimentación Mini Compatible con Raspberry Pi con E-Book Incluido! : Amazon.es: Informática
					

AZDelivery 3 x 220V a 3.3V Fuente de alimentación Mini Compatible con Raspberry Pi con E-Book Incluido! : Amazon.es: Informática



					www.amazon.es
				




Asegurate al 100% que la alimentación sea continua y estable, se quemará de lo contrario
Asegurate al 100% que la alimentación sea e 3,3V. Se quemará de lo contrario
Asegurate de que da la corriente suficiente que demanda el ESP, si no no funcionará.

Una fuente simple sin transformador de 50mA no te vale.


----------



## jjmuriel (Mar 21, 2021)

Gracias por sus respuestas. 
El transformador, es uno típico para alimentar timbres como este https://www.amazon.com/Heath-Zenith...coding=UTF8&psc=1&refRID=0K064Y3GQPDZHCZBQ7WN. Todo el sistema ya estaba montado y quiero agregar el ESP-01S sin cambiar nada.  Precisamente, lo que necesito es poder manejar el voltaje AC que usa el timbre y adaptarlo para que le llegue la señal al ESP (GPIO PIN) cuando presionen el botón, sin dañar el módulo.  El ESP lo alimentaré por aparte con una fuente 110VAC a 3.3. VDC, solo le llegará la señal del timbre por el GPIO.


----------



## ricbevi (Mar 21, 2021)

El interruptor del timbre como esta, lo debes desconectar del interruptor en sí, el cual va a conectarse al ESP(GPIO2) y el otro termina a GND del mismo ESP.

Las conexiones esas que estaban conectadas al timbre original van conectadas a la bornera que maneja el relay, placa rely+esp y eso se debe alimentar con 5Vdc.

Esta claramente explicado en el enlace que aporto, aquí.



Querer alimentar con el mismo transformador de alterna u otro, implica hacer una rectificación, filtrado y posterior regulación a los 5V que se debe alimentar el conjunto placa+ESP.

La placa ya incluye el regulador de 3.3Vdc a partir de los 5Vdc de alimentación por lo que no se debe implementar nada mas. 


Saludos.


----------



## jjmuriel (Mar 21, 2021)

@ricbevi , a diferencia del tutorial de Frenck (DIY Smart Doorbell for just $2, no soldering required), yo no quiero usar el relé porque no me interesa desconectar el timbre.  Solo utilizaría el ESP-01S para que a través de un PIN GPIO capture la señal cuando oprimen el botón del timbre.  El ESP se alimentaría independiente con una fuente de poder 110VAC a 3.3VDC como esta: Amazon.com: Hi-link HLK-PM03 AC-DC 220V to 3.3V Step Down Buck Isolated Power Supply Module Intelligent Household Switch Converter: Musical Instruments.  El único contacto del ESP-01S con el sistema del timbre sería a través del GPIO para capturar la señal cuando opriman el timbre, pero necesito proteger la lógica y respetar los parámetros que ese PIN GPIO soportan para no "freír" el ESP. Esa es la parte en la que necesito ayuda (ver gráfico improvisado adjunto).


----------



## switchxxi (Mar 21, 2021)

Esta podría ser una solución. R2 deberás calcularla de acorde a la corriente y tensión requerida por el diodo del optoacoplador y la tensión que hay en la linea del timbre, recuerda que lo que midas con el multímetro en AC deberas multiplicarlo por 1.414.

* Las tierras no se comparten.
* Este circuito solo sirve para los timbres que funcionan con baja tensión y de alterna.
* D1 puede ser cualquiera, incluso uno del tipo 1N400X.
* Se conecta en paralelo a la campanilla.


----------



## jjmuriel (Mar 21, 2021)

Muchas gracias @switchxxi , voy a conseguir los elementos y a probar. A penas lo haga, publico mis resultados por aquí.


----------



## ricbevi (Mar 21, 2021)

Entonces, debería comenzar por verificar si existe una señal del tipo si-no en los cables que van a la campanilla en sí desde el visor de la puerta.

Desconozco como funcionan pero seguramente por los cables va la señal de video/audio y también puede ir adosada la de dicho interruptor lo que no se es si van juntas o separadas y eso es de vital importancia para la interfaz que quiere realizar.


----------



## jjmuriel (Mar 21, 2021)

ricbevi dijo:


> Entonces, debería comenzar por verificar si existe una señal del tipo si-no en los cables que van a la campanilla en sí desde el visor de la puerta.
> 
> Desconozco como funcionan pero seguramente por los cables va la señal de video/audio y también puede ir adosada la de dicho interruptor lo que no se es si van juntas o separadas y eso es de vital importancia para la interfaz que quiere realizar.


El funcionamiento del timbre con video es igual que un timbre convencional y solo funciona como un pulsador para cerrar el circuito con la campana y el transformador.  La parte de audio/video (es una cámara IP con WIFI) es totalmente independiente de este circuito y de hecho, tiene un elemento adicional (Power Kit) que lo aisla del circuito del timbre para recibir solo el voltaje de alimentación del transformador de 16 VAC.  Por tanto, por el circuito del timbre va a viajar el pulso de corriente AC que se genera cuando este se cierra. No es una señal digital y de allí la necesidad de "traducirla" para que el ESP pueda reconocer ese pulso cuando se cierra el circuito, por la presión del botón del timbre.


----------



## ricbevi (Mar 22, 2021)

Si es así, el esquema que te paso switchxxi te puede funcionar lo que debes tener en cuenta que la lógica será, cuando toquen timbre, pasara a estado alto de 3.3V, estando en estado bajo, en reposo.


----------



## jjmuriel (Mar 22, 2021)

ricbevi dijo:


> Si es así, el esquema que te paso switchxxi te puede funcionar lo que debes tener en cuenta que la lógica será, cuando toquen timbre, pasara a estado alto de 3.3V, estando en estado bajo, en reposo.


Gracias @ricbevi.


----------



## emilio177 (Mar 22, 2021)

ricbevi dijo:


> Si es así, el esquema que te paso switchxxi te puede funcionar lo que debes tener en cuenta que la lógica será, cuando toquen timbre, pasara a estado alto de 3.3V, estando en estado bajo, en reposo.


No..no...no.... en estado de reposo el nivel logico sera alto osea 3.3vdc... cuando aprete el timbre el nivel lógico bajara y subirá a una frecuencia de 100hertz 
Bueno. depende de el recurrente que o como quiera usar ese nivel lógico


----------



## ricbevi (Mar 22, 2021)

emilio177 dijo:


> No..no...no.... en estado de reposo el nivel logico sera alto osea 3.3vdc... cuando aprete el timbre el nivel lógico bajara y subirá a una frecuencia de 100hertz
> Bueno. depende de el recurrente que o como quiera usar ese nivel lógico


En reposo y al estar en paralelo con el interruptor del timbre, la tensión alterna recorrerá el circuito de la campanilla y llegara al led del optoacoplador el cual seguramente conducirá sin que accione la campanilla pero generando un estado bajo en el transistor de salida.

Al menos así lo veo yo.


----------



## switchxxi (Mar 22, 2021)

Me olvide de aclararlo pero si, en reposo se obtiene un nivel lógico alto y al accionar el pulsador se obtendrá un tren de pulsos. No puse un capacitor porque va a un microcontrolador y es fácil discernir los estados por software. Pero si se quiere un código mucho mas sencillo se pone un capacitor obteniendo así un nivel lógico bajo al presionar el pulsador y uno alto en reposo. Se puede aumentar la resistencia de 1K a 10K, por ejemplo, para que el capacitor sea mas chico.

@Rickbevi, no va en paralelo al interruptor, sino a la campanilla. Si estuviese como dices, si, funcionaria al revés, pero en reposo se obtiene un tren de pulsos y al presionar el pulsador un nivel lógico alto. Se me hace que se complica mucho mas el código para discernir que en las otras dos opciones (salvo si se agrega el capacitor).


----------



## emilio177 (Mar 22, 2021)

switchxxi dijo:


> Me olvide de aclararlo pero si, en reposo se obtiene un nivel lógico alto y al accionar el pulsador se obtendrá un tren de pulsos. No puse un capacitor porque va a un microcontrolador y es fácil discernir los estados por software. Pero si se quiere un código mucho mas sencillo se pone un capacitor obteniendo así un nivel lógico bajo al presionar el pulsador y uno alto en reposo. Se puede aumentar la resistencia de 1K a 10K, por ejemplo, para que el capacitor sea mas chico.
> 
> @Rickbevi, no va en paralelo al interruptor, sino a la campanilla. Si estuviese como dices, si, funcionaria al revés, pero en reposo se obtiene un tren de pulsos y al presionar el pulsador un nivel lógico alto. Se me hace que se complica mucho mas el código para discernir que en las otras dos opciones (salvo si se agrega el capacitor).


Mejor seria este diagrama
timbre apagado... nivel micro 0v
timbre encendido.. nivel micro.. tren de pulsos 100hertz


----------



## switchxxi (Mar 22, 2021)

Siendo que va a un micro ambas opciones las veo iguales, solo hay que cambiar el software. De echo quizá ni siquiera haya que cambiar el software: 

- Interrupción por cambio en el estado del pin. (Reset del temporizador dentro de esta interrupción).
- Interrupción por tiempo. > 5mS. (Se apaga las interrupciones por tiempo que serán habilitadas nuevamente cuando se entre a la interrupción por cambio en el puerto la primera vez que sea llamada).

Si entra la interrupción por puerto de entrada: Tecla presionada.
Si entra la interrupción por tiempo: Se soltó la tecla.

Y dado que las interrupciones son por cambio en el nivel, no importa si se usa pull-up o pull-down con las resistencias.

Tan solo es un ejemplo (que puede que no ande ya que salio de mi cabeza ), hay cientos de formas para hacerlo.


----------



## jjmuriel (Mar 22, 2021)

switchxxi dijo:


> Ver el archivo adjunto 264475
> 
> Esta podría ser una solución. R2 deberás calcularla de acorde a la corriente y tensión requerida por el diodo del optoacoplador y la tensión que hay en la linea del timbre, recuerda que lo que midas con el multímetro en AC deberas multiplicarlo por 1.414.
> 
> ...


Gracias a todos por sus ideas. Ya encargué los componentes y espero poder probar mañana o pasado mañana. Igual publicaré los resultados. @switchxxi, quisiera hacerte una pregunta más y disculpa mi ignorancia, pero mis conocimientos de electrónica por ahora están limitados. Es decir, que de acuerdo a esto que dices, la tensión que medí fue de 18.8 a 19.02 V en AC, entonces debería buscar una valor de resistencia para R2 equivalente a Voltaje_ac_medido X 1.414 ?


----------



## switchxxi (Mar 22, 2021)

Eso que mides con el multímetro es la tensión RMS, pero los picos llegan a mas amplitud, por lo que deberás tener en cuenta esos picos para no pasarte con la corriente por el LED del optoacoplador cuando calcules la resistencia.

Para saber a cuanto llegan los picos multiplicas esos 19V por 1.414 (En realidad la raíz cuadrada de 2). Con ese dato y la tensión y corriente que requiere el LED interno del optoacoplador ya puedes calcular el valor de la resistencia.

R = (Vpico - tensión del LED) / corriente del led.


----------



## Scooter (Mar 22, 2021)

Compra un pc814 y así tienes entrada de alterna en el opto.
Activa la resistencia de pullup así te la ahorras.
No te recomiendo filtrar con un condensador, se puede hacer fácilmente por soft


----------



## jjmuriel (Mar 22, 2021)

Scooter dijo:


> Compra un pc814 y así tienes entrada de alterna en el opto.
> Activa la resistencia de pullup así te la ahorras.
> No te recomiendo filtrar con un condensador, se puede hacer fácilmente por soft


Gracias @switchxxi. 

Si te entiendo @Scooter, ¿sería algo como el dibujo adjunto?


----------



## Scooter (Mar 22, 2021)

No, el optoacoplador tiene dentro dos diodos en antiparalelo


----------



## jjmuriel (Mar 22, 2021)

Scooter dijo:


> No, el optoacoplador tiene dentro dos diodos en antiparalelo


O sea que no incluyo el 1N4148? El resto del esquema está bien? Gracias @Scooter .


----------



## Scooter (Mar 22, 2021)

Crear offset en entrada ac de optoacoplador
					

Hola a todos, les comento un poco como viene la mano. Se trata de un circuito analogico el cual es capaz de "detectar" (indicación mediante leds) si existe presencia de fase, neutro y puesta a tierra en un tomacorrientes. La idea es, que ahora mediante un microcontrolador (arduino) se "detecte"...




					www.forosdeelectronica.com
				








						¿Como leer en una entrada de un Arduino si hay tensión de 230 AC?
					

Hola , estoy intentando que en una entrada de un arduino mega le llegue señal cuando un cable tiene tensión a 230AC.  He probado instalar un minitransformador de 230VAc a 5V DC y conectar la salida a una entrada del Arduino , pero cuando dejo de alimentar el transformador, al Arduino aun le...




					www.forosdeelectronica.com
				








						PWM y motor lavadora.
					

[Aporte] Control de fase (Dimmer) con Arduino  Sin delays, claro. Lo complican todo. Con incandescencia, claro. Las cargas inductivas tienen lo suyo.  Como tú carga es inductiva, ahora necesitas una red snubber. Por mi experiencia no vale cualquiera, debes de ir probando valores para compensar...




					www.forosdeelectronica.com
				








						[Aporte] Control de fase (Dimmer) con Arduino
					

Acabo de realizar el control de fase de uun tirac por software con un arduino. Por si a alguien le puede interesar, publico el código fuente y un video del funcionamiento, el esquema lo publicaré en cuanto lo haga.  int cuenta = 0; int segundo = 0; int tarda =1; boolean cero = false; int espera...




					www.forosdeelectronica.com
				








						Sensor de corriente para timbre
					

Oquis.... si ya me percate, yo tengo dos o tres como los del link que puse que saque de fuentes que no recuerdo de que eran, voy a intentar lo de la arandela que dice dosme , quizas pequeña :mmm: pero con muchas mas vueltas a ver que pasa. XD Yo he usado una tuerca con 3 y 13 vueltas en primario...




					www.forosdeelectronica.com
				





"o ase" ¿Eso que significa? Lo siento pero no te entiendo.

Edito . ¿Es "OSEA" ?


Hay optoacopladores bastante mas baratos que el PC814. Lo nombro siempre porque me acuerdo de memoria de la referencia. Busca uno equivalente.


----------



## jjmuriel (Mar 22, 2021)

Scooter dijo:


> Crear offset en entrada ac de optoacoplador
> 
> 
> Hola a todos, les comento un poco como viene la mano. Se trata de un circuito analogico el cual es capaz de "detectar" (indicación mediante leds) si existe presencia de fase, neutro y puesta a tierra en un tomacorrientes. La idea es, que ahora mediante un microcontrolador (arduino) se "detecte"...
> ...


Gracias @Scooter,  voy a revisar los enlaces.

PD: Fue un error al digitar que ya corregí, pero según la RAE:
¿Se escribe «o sea» u «osea»?​El conector equivalente a _es decir_ se escribe _o sea_: _Vienen todos; o sea, somos seis_.
La grafía _osea_ corresponde a una forma del verbo _osear_ ‘espantar las aves domésticas y la caza’. Además, _ósea_ es el femenino de _óseo_ ‘del hueso’.

Fuente: ¿Se escribe «o sea» u «osea»?'.


----------



## Scooter (Mar 22, 2021)

Pues si, lo suelo escribir mal. Gracias por el apunte. Intentaré llevar cuidado.


----------



## switchxxi (Mar 22, 2021)

jjmuriel dijo:


> O sea que no incluyo el 1N4148? El resto del esquema está bien? Gracias @Scooter .


Si usas un optoacoplador como te indica Scooter, no no hace falta agregar ningún diodo. Igual puedes usar cualquier optoacoplador con salida a transistor, todos funcionaran, busca el mas barato.

(Por cierto, en el post %17, se me mezclaron los numero en la única neurona que tengo, no es mayor a 5ms, debería ser mayor a 10ms).


----------



## jjmuriel (Mar 22, 2021)

switchxxi dijo:


> Si usas un optoacoplador como te indica Scooter, no no hace falta agregar ningún diodo. Igual puedes usar cualquier optoacoplador con salida a transistor, todos funcionaran, busca el mas barato.
> 
> (Por cierto, en el post %17, se me mezclaron los numero en la única neurona que tengo, no es mayor a 5ms, debería ser mayor a 10ms).


Listo @switchxxi lo tendré en cuenta. Gracias.


----------



## emilio177 (Mar 22, 2021)

De 19vac  salen


jjmuriel dijo:


> Listo @switchxxi lo tendré en cuenta. Gracias.


No te complique usa el pc817  ese opto lo encuentras hasta debajo de las piedras.... y le agregas el diodo .....


----------



## jjmuriel (Abr 1, 2021)

Buenas tardes a todos. Quería compartir el esquema que me funcionó, basado en el post de @switchxxi (Timbre inteligente con ESP-01S).  Probé tanto con un optoacoplador PC817 + Diodo 1N4148, como con un PC814A sin diodo y de ambas formas funcionó. También probé con el esquema propuesto por @emilio177 en el post Timbre inteligente con ESP-01S, pero el ESP no iniciaba y led azul quedaba encendido.  Disculpen la improvisación del dibujo del esquema, pero también estoy aprendiendo a manejar KiCad. También, les comparto el código que utilicé, basado en el que se encuentra en el tutorial de Frenck.

```
esphome:
  name: doorbell_ha_integration
  platform: ESP8266
  board: esp01_1m

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_pass

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Doorbell Ha Integration"
    password: !secret ap_pass

captive_portal:

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:

# Enable Web server.
web_server:
  port: 80

# Sync time with NTP Local Server.
time:
  - platform: sntp
    id: sntp_time
    servers: 192.168.111.1
   
# Text sensors with general information.
text_sensor:
  # Expose ESPHome version as sensor.
  - platform: version
    name: Doorbell ESPHome Version 1.0
  # Expose WiFi information as sensors.
  - platform: wifi_info
    ip_address:
      name: Doorbell IP
    ssid:
      name: Doorbell SSID
    bssid:
      name: Doorbell BSSID
     
# Sensors with general information.
sensor:
  # Uptime sensor.
  - platform: uptime
    name: Doorbell Uptime

  # WiFi Signal sensor.
  - platform: wifi_signal
    name: Doorbell WiFi Signal
    update_interval: 60s
   
# Exposed switches.
switch:
  # Switch to restart the ESP-01S.
  - platform: restart
    name: Doorbell ESP-01S Restart

# Binary sensor representing the
# Doorbell button push.
binary_sensor:
  - platform: gpio
    id: button
    name: Doorbell Button
    pin:
      # Connected to GPIO on the ESP-01S.
      number: GPIO2
      mode: INPUT_PULLUP
      inverted: true
    filters:
      # Small filter, to debounce the button press.
      - delayed_on: 25ms
      - delayed_off: 25ms
```

Agradezco la ayuda de todos y estoy abierto a comentarios y recomendaciones para mejorar el código o el circuito.

PD: Adjunto foto del prototipo, pero después lo soldaré en una baquelita.


----------



## emilio177 (Abr 1, 2021)

Como sacaste r1 r2   que corriente asumiste¿¿


----------



## switchxxi (Abr 1, 2021)

emilio177 dijo:


> Como sacaste r1 r2   que corriente asumiste¿¿


Buena pregunta, porque a esa tensión, y sin ver nada mas debería andar en el orden de los Kohms.


----------



## emilio177 (Abr 1, 2021)

Quiere cocinar chicharron... después va a abrir otro tema..... Por que se me quema los componentes??


----------



## jjmuriel (Abr 1, 2021)

@emilio177 Asumí un Vrms= 19,02 Vac x sqrt(2) ~= 27 Vac y de acuerdo a la hoja de especificaciones de los dos optoacopladores, la corriente de entrada (I_forward) es de 50 mA o 0.05A.  Usando la ley de Ohm, con estos 2 valores calculé una resistencia de 540 ohmios. Disculpen si la utilicé mal, pero como les he dicho, mi fuerte no es la electrónica.

PD: después de 10 toques del timbre, todavía no sale humo.


----------



## ricbevi (Abr 1, 2021)

Creo que te has fijado en el apartado de valores máximos y no en el de funcionamiento pero cada quien hace lo que le parece.


----------



## jjmuriel (Abr 1, 2021)

ricbevi dijo:


> Creo que te has fijado en el apartado de valores máximos y no en el de funcionamiento pero cada quien hace lo que le parece.
> 
> Ver el archivo adjunto 265185 Ver el archivo adjunto 265186


Entiendo, voy entonces a hacer el cálculo con ese valor de 20 mA. Gracias @ricbevi.


----------



## emilio177 (Abr 1, 2021)

Amigo... que el datasheet te diga que soporta 50mA  no significa que debas ponerle 50mA.... 
No te pases la vida utilizando el maxximo
No vas a manejar potencia... no vas a controlar un motor con el opto...  solo vas a tomar una señal.. Tu modulo esp  con suerte va a tomar 1uA
Puedes ponerle 5mA  y  te va a funcionar de la misma forma...
El datasheet  en ninguna parte te dice que debes ponerle 50mA....  y todavía no entiendo por que vas a poner el máximo.. osea si tu carrito dice.. en manual de usuario soporta 500kilos...  vas a cargar piedra para ir al centro??


----------



## jjmuriel (Abr 1, 2021)

emilio177 dijo:


> Amigo... que el datasheet te diga que soporta 50mA  no significa que debas ponerle 50mA....
> No te pases la vida utilizando el maxximo
> No vas a manejar potencia... no vas a controlar un motor con el opto...  solo vas a tomar una señal.. Tu modulo esp  con suerte va a tomar 1uA
> Puedes ponerle 5mA  y  te va a funcionar de la misma forma...
> El datasheet  en ninguna parte te dice que debes ponerle 50mA....  y todavía no entiendo por que vas a poner el máximo.. osea si tu carrito dice.. en manual de usuario soporta 500kilos...  vas a cargar piedra para ir al centro??


De acuerdo.


----------



## emilio177 (Abr 1, 2021)

jjmuriel dijo:


> @emilio177 Asumí un Vrms= 19,02 Vac x sqrt(2) ~= 27 Vac y de acuerdo a la hoja de especificaciones de los dos optoacopladores, la corriente de entrada (I_forward) es de 50 mA o 0.05A.  Usando la ley de Ohm, con estos 2 valores calculé una resistencia de 540 ohmios. Disculpen si la utilicé mal, pero como les he dicho, mi fuerte no es la electrónica.
> 
> PD: después de 10 toques del timbre, todavía no sale humo.


Te falta un curso de rendimiento... optimizacion
En ningún lugar de el datasheet dice que Debes utilizar 50mA
Osea.. piensas que si le pones 40mA... el opto no va a funcionar???


----------



## jjmuriel (Abr 1, 2021)

emilio177 dijo:


> Te falta un curso de rendimiento... optimizacion
> En ningún lugar de el datasheet dice que Debes utilizar 50mA


Voy a buscar uno, pero si conoces alguno, bienvenida la información.
Amig@s, gracias a tod@s. Su información ha sido de mucha utilidad.


----------



## Scooter (Abr 2, 2021)

Has puesto el transistor al revés.
Va porque va. Osea un transistor PNP es más o menos simétrico y más o menos va al revés pero lo mismo se rompe cualquier día.
El emisor va hacia el negativo y el colector hacia el positivo


----------



## jjmuriel (Abr 2, 2021)

Scooter dijo:


> Has puesto el transistor al revés.
> Va porque va. Osea un transistor PNP es más o menos simétrico y más o menos va al revés pero lo mismo se rompe cualquier día.
> El emisor va hacia el negativo y el colector hacia el positivo


Corregido, gracias @Scooter.

Me sirvió para entender este punto: PC817 opto - reverse voltage on the out. transistor? - Page 1


----------



## jjmuriel (Abr 6, 2021)

Buenos días,
Quería compartirles el esquema final que utilicé y construí gracias a la ayuda de las personas que participaron en este post. Nuevamente, estoy abierto a comentarios o inquietudes y, a cualquier recomendación que puedan hacer para mejorar este circuito.  Adjunto dos esquemas: uno para un timbre de pulsador con transformador de 16 VAC y otro para el esquema que estoy utilizando, un timbre con video como el descrito en este foro: New RCA HSDB2A 3MP Doorbell IP Camera. Así mismo, adjunto una foto del circuito soldado en una baquelita.

Código para ESPHome: 

```
esphome:
  name: doorbell_ha_integration
  platform: ESP8266
  board: esp01_1m
 
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_pass

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Doorbell Ha Integration"
    password: !secret ap_pass

captive_portal:

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:

# Enable Web server.
web_server:
  port: 80
 
# Sync time with NTP Local Server.
time:
  - platform: sntp
    id: sntp_time
    servers: 192.168.111.1
    
# Text sensors with general information.
text_sensor:
  # Expose ESPHome version as sensor.
  - platform: version
    name: Doorbell ESPHome Version 1.0
  # Expose WiFi information as sensors.
  - platform: wifi_info
    ip_address:
      name: Doorbell IP
    ssid:
      name: Doorbell SSID
    bssid:
      name: Doorbell BSSID
      
# Sensors with general information.
sensor:
  # Uptime sensor.
  - platform: uptime
    name: Doorbell Uptime

  # WiFi Signal sensor.
  - platform: wifi_signal
    name: Doorbell WiFi Signal
    update_interval: 60s
    
# Global to store the on/off state of the chime
globals:
  - id: chime
    type: bool
    restore_value: true
    initial_value: 'true'
    
# Exposed switches.
switch:
  # Switch to restart the ESP-01S.
  - platform: restart
    name: Doorbell ESP-01S Restart

# Binary sensor representing the
# Doorbell button push.
binary_sensor:
  - platform: gpio
    id: button
    name: Doorbell Button
    pin:
      # Connected to GPIO on the ESP-01S.
      number: GPIO2
      mode: INPUT_PULLUP
      inverted: true
    filters:
      # Small filter, to debounce the button press.
      - delayed_on: 15ms
      - delayed_off: 15ms
```


----------



## Scooter (Abr 6, 2021)

Te puedes ahorrar la resistencia de pullup, creo. El ESP32 seguro que tiene resistencias internas activables por software. Yo diría que el ESP01 también, aunque ahora mismo no te lo puedo asegurar al 100%


----------



## jjmuriel (Abr 6, 2021)

Scooter dijo:


> Te puedes ahorrar la resistencia de pullup, creo. El ESP32 seguro que tiene resistencias internas activables por software. Yo diría que el ESP01 también, aunque ahora mismo no te lo puedo asegurar al 100%


@Scooter probé sin la resistencia, pero el ESP-01S (ESP8266) no iniciaba y el led azul quedaba encendido.


----------



## Scooter (Abr 6, 2021)

Hay que declarar el pin como INTERNAL_PULLUP para que funcione la entrada sin resistencia. La verdad es que vale mas dinero el rato que estamos debatiendo que la resistencia, pero es manía;  me gusta ahorrar todo lo que se puede.


----------



## jjmuriel (Abr 6, 2021)

Scooter dijo:


> Hay que declarar el pin como INTERNAL_PULLUP para que funcione la entrada sin resistencia. La verdad es que vale mas dinero el rato que estamos debatiendo que la resistencia, pero es manía;  me gusta ahorrar todo lo que se puede.


Te entiendo, y es bueno saber cómo optimizar el circuito. Aunque ya soldé la baquelita, voy a probar en una protoboard.


----------



## emilio177 (Abr 6, 2021)

Ya esta listo.. funciona... por un mili centavo no te compliques....las resistencias son demasiado baratas...
Aprobado... me gusto tu dibujo.. ahora se entiende... el primer diagrama que pusiste...horrible...
Imaguno que esa placa perforada solo es prueba cierto???  ese esta feo.. 
Arma en tu pc el pcb lo planchas y quedamos bien..


----------



## jjmuriel (Abr 6, 2021)

emilio177 dijo:


> Ya esta listo.. funciona... por un mili centavo no te compliques....las resistencias son demasiado baratas...
> Aprobado... me gusto tu dibujo.. ahora se entiende... el primer diagrama que pusiste...horrible...
> Imaguno que esa placa perforada solo es prueba cierto???  ese esta feo..
> Arma en tu pc el pcb lo planchas y quedamos bien..


Si @emilio177, es un prototipo, voy paso a paso. La próxima será un PCB con todas las de la ley que diseñaré en Kicad. Gracias.


----------



## emilio177 (Abr 6, 2021)

Scooter dijo:


> Hay que declarar el pin como INTERNAL_PULLUP para que funcione la entrada sin resistencia. La verdad es que vale mas dinero el rato que estamos debatiendo que la resistencia, pero es manía;  me gusta ahorrar todo lo que se puede.


Tu lo dijiste manía...  la resistencia vale solo una quemada de dedo... aunque ahora tengo pinza...
Yo soy diogenes acumulo placas y ese es mi tesoro.... Si me botan de la casa... la hago bolita y me llevo como el escarabajo pelotero lleva su bolita de popo...


----------



## Scooter (Abr 6, 2021)

Manía*

La resistencia que no pone, se suelda, no se olvida, no se paga, no se estropea, no se desuelda accidentalmente, no ocupa...


----------



## emilio177 (Abr 6, 2021)

En lo que terminaste de escribir
La resistencia.. ya se puso, ya se soldo... ya se olvido...no se paga(desguace)...no se estropea(trabaja a 3.3v)....no se desuelda(no calienta)... no ocupa(mide 0603)


----------

