Aló, veréis, hace tiempo compramos un detector de presencia para el negocio (por si estamos en la trastienda) pero el problema que tiene es o que no detecta o que detecta demasiado y no para. La solución que le he encontrado es hacer que suene y con un microcontrolador "desactivar" el altavoz durante X tiempo una vez detecte algo tras unos 5 segundos sonando. Por ahora he probado con el Arduino Mega (ya se que es matar una mosca a cañonazos pero es para hacer más fáciles las pruebas, pienso ponerle un PIC) y me detecta perfectamente cuando el detector envía la señal al altavoz (hago un analogRead en un pin en el que va el positivo del altavoz y normalmente me da 0 y cuando detecta algo salta a los 500-700 (cosa que tiene bastante sentido teniendo en cuenta que envía unos 2,7V).
El código ideal seria:
...
if (pindelsensor > 400) //si detecta algo { delay(5000); // que suene unos 5 segundos código_que_pare_el_altavoz; //he probado todas las combinaciones de HIGH y LOW tanto en el pin receptor como en el que hace de GND. delay(tiempocallado); ... }
El problema es que lee desde el cable que envía el "sonido" por lo que no puedo copiar el valor y enviarlo por otro pin cuando me interese.
luciferfran escribió:Y por qué no usas el pin que va del sensor de presencia directamente a tu placa y ya desde la placa activas un pin para encender el altavoz?
Según entiendo ahora mismo tienes pinchado por así decirlo el cable que va al altavoz también a la placa no?
Por que al altavoz se le envía unos datos de sonido (tiene dos posiciones, un "ding-dong" y un "hello, welcome"), al final lo más simple será usar un pic (tengo un 12c508) con el que detectaré cuando suena y haré que corte la corriente de las pilas durante X tiempo.