DESPLÁCESE HACIA ABAJO PARA VER LA SOLUCIÓN (ACTUALIZACIÓN II)
POST ORIGINAL: Actualmente estoy construyendo un 433MHz remoto con dos botones. El control remoto es controlado por un Attiny85v(8MHz). Lamentablemente no funciona muy fiable, a veces funciona otras veces no pasa nada.
Aquí algunas explicaciones sobre lo que hice y por qué:
Cada uno de los botones desencadena un cambio de pin de interrupción que despierta el Attiny de dormir. Después de que me compruebe que ha pulsado el botón y encender o apagar las luces a través de 433MHz interruptores. Pero los botones no funcionan muy fiable. A veces el hacer lo que otras veces tengo que pulsar durante varios segundos antes de que ocurra algo. No sé por qué, tengo un error en mi código o en el circuito de los botones.
Yo uso un 2.2 k resistencia a tirar del botón de pines (0 y 1) a GND. Cuando se pulsa el botón, los pines se deben levantar. Para evitar el "rebote" del pulsador he añadido un 0.01 uf condensador en paralelo.
Traté de mantener el código simple y comentarios agregados. Usted puede encontrar aquí: http://pastebin.com/hzw0j3FW
Aquí está mi circuito:
Águila esquema:
Delantero & trasero:
ACTUALIZACIÓN: Gracias por todos los comentarios, también he recibido algunos comentarios en un foro alemán. Aquí está una lista de lo que es o podría estar mal con el diseño:
- No tire de los pasadores de ALTA al pulsar los botones. En lugar de utilizar INPUT_PULLUP y tirar luego a TIERRA cuando se presiona.
- Como se ha señalado aquí, así como en los foros: utilice un software de eliminación de rebotes o invertida Schmitt-Trigger
- Cuando se utiliza software de eliminación de rebotes asegúrese de que sólo conjunto de banderas en la rutina de interrupción y actuar sobre los indicadores en el bucle de rutina.
- Prueba si el RF-transmisor tiene suficiente jugo
- Agregar un capacitor a través de VCC y GND del Attiny
- Trate de alimentar todo el circuito con una fuente de alimentación de laboratorio. Tal vez la celda de moneda no puede proporcionar suficiente energía.
Tristemente he flasheado mi último Attiny85v a la muerte el día de hoy, por lo que tomará algún tiempo para mí para solucionar este diseño. Voy a informar de regreso una vez que yo tengo una solución.
ACTUALIZACIÓN II, de la Solución: SE ESTÁ TRABAJANDO. El diseño es defectuoso, pero funciona. Aquí están los dos fallos que he encontrado.
El uso de alta calidad de los interruptores. Yo procedente de mi interruptores de Farnell pero eran de muy mala calidad. Había que presionar abajo, a continuación, mover el pulgar para asegurarse de que se conecte. Esta fue la razón por la que el control remoto sólo trabajó de forma espontánea.
El segundo problema era que no todos los rc-poder-tapones se apaga cuando se presiona el botón de apagado. A veces apague todos los tres de ellos, a veces sólo uno. Esto fue debido a que el transmisor de rf. Como @Michal Canecky y @Ricardo señaló los transmisores de ejecutar en 3V+. Ellos hacen el trabajo, con 'sólo' 3V, pero la variedad es muy limitada (2m en mi caso). Por soldadura de una de 15 cm de la antena al transmisor yo era capaz de obtener un rango de 3-4m. Ahora todos los rc-poder-tapones desactivar de manera fiable.
También he utilizado un ámbito para probar si la celda de moneda no era lo suficientemente fuerte como mediante la medición de la tensión de alimentación del transmisor durante la transmisión. Resultó que era fina y constante.
Gracias de nuevo por los consejos.
Todavía el diseño es defectuoso, aquí es lo que me gustaría mejorar o hacer de nuevo si tuviera que volver a generarlo:
No tire de los pasadores de ALTA al pulsar los botones. En lugar de utilizar INPUT_PULLUP y tirar luego a TIERRA cuando se presiona.
Mantener el condensador sobre los botones de eliminación de rebotes. He utilizado un ámbito para probar si funciona, y los resultados fueron sólidos. Asegúrese de no ir más de 0.01 uF.
Añadir un condensador entre VCC y GND del Attiny
En el código: asegúrese de deshabilitar las interrupciones después de recibir uno, esto también sirve como un software de eliminación de rebotes de los botones. Esto ya se refleja en el código original. No te olvides de activar las interrupciones antes de ir a dormir ;)
Si usted necesita un intervalo de más de 3m, el uso de un doblador de voltaje (gracias @Michal Canecky) o una fuente de alimentación con más de 3V. Utilice el Attiny a su vez el doblador de voltaje de apagado después de la transmisión.
Añadir un condensador en paralelo a la batería para mejorar la vida de la batería, especialmente para noname proveedores. Esto sólo es necesario si sus circuitos pico de corriente es superior a 10 ma. Echa un vistazo a este excelente artículo de TI. También se explica cómo calcular la capacidad.
Esto es lo que el código de esta versión mejorada se vería el Código v2 (Nota: no lo he probado este código)
Aquí la versión actualizada de circuito que yo uso: