555 operación monostable con temporizador con pulsos de entrada múltiples o largos [duplicado]

2

He construido un circuito simple con un temporizador 555:

Cuando se presiona el botón, el led se enciende durante aproximadamente un segundo como se esperaba. Lo que quiero es:

  • presiona el botón: luces LED por un segundo (tengo esto)
  • presiona el botón y antes de que el led se apague, presiona nuevamente: led continúa encendiéndose por un segundo adicional después del segundo empuje
  • presione el botón, manténgalo presionado y suelte después de x segundos: el LED se enciende continuamente durante x + 1 segundos

¿Es este tipo de cosas posibles?

Gracias.

    
pregunta Egemenk

2 respuestas

2

Coloque un ánodo de diodo en la unión C1 R1 Cátodo para cambiar la unión R2 y debería estar muy cerca.

Esto (en su mayoría) descarga C1 cuando se presiona el botón para reiniciar el período de tiempo.

O alternativamente (la solución realmente simple) elimine R2 desconecte el pin DC (descarga). Cable tr a th y el lado + del interruptor. Esta no es una máquina de estados finitos, es un monostable reutilizable simple.

    
respondido por el RoyC
3

No hay una buena razón para implementar algo que es estrictamente una lógica secuencial con un 555. Simplemente vaya, compre el microcontrolador más barato que está dispuesto a programar y hágalo con eso. Menos esfuerzo, menos partes, al final, generalmente más barato y mucho más flexible.

Tenga en cuenta que esto no se aplica a todas las aplicaciones posibles, pero la suya es lo que normalmente se denomina máquina de estado finita ; es decir, cambia entre diferentes estados bien definidos en su operación, en función de algunas entradas (a saber, tiempo y pulsaciones de botones). En cada estado, reacciona de manera diferente a estas entradas. Históricamente, los procesadores se construyeron para lidiar con este tipo de problemas, por eso me estoy sorprendiendo un poco aquí

Hay clones baratos de Arduino en todo eBay. La lógica que intentas implementar es tremendamente compleja si se hace en forma analógica, y totalmente sencilla si está diseñada en C, en un croquis de Arduino, o incluso en un lenguaje de programación gráfico.

TL; DR : no intente hacer esto con un 555. Lo que describe es demasiado complejo para construirlo con sensatez, pero es muy fácil si tiene un microcontrolador

    
respondido por el Marcus Müller

Lea otras preguntas en las etiquetas