Hay muchos circuitos de rebote en internet, pero realmente no pude encontrar uno que se ajustara a mis necesidades / partes disponibles, por lo que se me ocurrió lo mío, de lo que tenía. No tiene nada de especial, y probablemente ya exista, simplemente no lo he encontrado todavía.
Aquí está el esquema:
schematic http://kepfeltoltes.hu/141017/debouncing_www.kepfeltoltes.hu_.png
Supongo que también funciona con 5V, pero lo uso con mi Raspberry Pi, que tiene una lógica de 3.3V en los pines GPIO, por eso dice eso en el esquema.
Fui con el combo de 330k y 100nF porque leí que algunos conmutadores incluso pueden tener un rebote de más de 10 ms, por lo que realmente quería asegurarme de que esto sea más fácil. No necesito un cambio súper rápido, así que esto está bien para mí. Hace que los bordes ascendentes y descendentes sean muy suaves. Además, en cierto modo invierte el interruptor: cuando está abierto, la salida se lee alto, y cuando lo cierras, cae a 0V. Pero estoy bien con eso.
¿Entonces solo quería saber si esto es bueno o debo adoptar un enfoque diferente? ¿Que piensas de eso? ¿Algún consejo tal vez?
EDITAR:
Actualicé el circuito un poco en base a tus sugerencias. Me di cuenta de que las resistencias de 220 ohmios estaban perdiendo corriente por nada, por lo que las reemplacé con valores más apropiados. Además, fui con 100k / 150nF para una operación más rápida. Creo que el 330k / 100nF fue un poco excesivo. Como puede ver, eso alcanzaría 1.8V (aproximadamente el umbral lógico para los Raspberry Pi GPIOs) en aproximadamente 25ms . Este nuevo circuito toma aproximadamente 10 ms para alcanzar ese nivel, por lo tanto, permite más de 10 ms de rebote, lo cual es suficiente para casi todos los interruptores, y sigue siendo imperceptible para un humano.
También, sé que el transistor es redundante, pero ya lo construí de esta manera, así que lo dejo ahí.
Esquema 2 http://kepfeltoltes.hu/141018/debouncing_v2_www.kepfeltoltes.hu_.png