hace tiempo que teníaa pensado que en el timbre de mi casa sonará la "Marcha Imperial" de Star Wars. Siempre ha estado en mente, ahora con la ayuda de una Raspberry Pi, ojear unas cuantas web y los consejos de Matías se ha hecho realidad.
Aprovechando que ya tenía en casa el raspberry pi, lo he estado usando para recoger la temperatura del comedor y consultarlo desde Android, para más adelante controlar la caldera. Cuando el proyecto tenga cara y ojos ya haré otro post.
Lo que más me ha costado ha sido encontrar los cables que entraban del timbre de la puerta. Tuve que desmontar el timbre clásico a 220v.
![]() |
Esquemas eléctricos del timbre a 220v |
Una vez encontrados y pasados al comedor, se conecta al GPIO 17. El GPIO es el puerto de entradas y salidas digitales del Raspberry.
GPIO Pin Schema |
El programa es bastante sencillo y muy bien optimizado gracias a los consejos de Matias. Basicamente es un bucle infinito que esta comprobando el estado puerto GPIO 17 si este es "0" se activa.
Usaremos las librerías de desarrollo de juegos para reproducir un mp3. La librería "pygame" tiene un efecto de sonido "fadeout", así que tras 15 segundos de reproducción hace el "fadeout", queda bastante "cool".
El script se deja ejecutando en segundo plano y se configura en el arranque.
#!/usr/bin/python
import RPi.GPIO as GPIO
from time import sleep
import pygame
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.IN)
TIME = 15
HOME = "/home/pi/doorbell/"
TONE = "tone.mp3"
pygame.init()
while True:
if not GPIO.input(17):
pygame.mixer.music.load(HOME+TONE)
pygame.mixer.music.play()
sleep(TIME)
pygame.mixer.music.fadeout(5000)
pygame.mixer.stop()
sleep(0.1)
Os dejo un video y una foto del invento:
![]() |
Foto de la protoboard |
Ni que decir tiene que se puede cambiar el fichero a reproducir por tu música preferida. Incluso se puede poner el sonido de un timbre clásico. :-)
Lo interesante ahora sería buscarle una caja para que quede todo dentro sin tantos cables. Pero eso para más adelante...
Saludos!!