Reproducir su propia melodía del tema al entrar en la habitación con frambuesa pi

¿Alguna vez ha querido llegar a casa a una bienvenida personal? Con un Pi de frambuesa y unos pocos componentes simples, se puede! En este sencillo proyecto vamos a utilizar un interruptor de láminas para desencadenar una melodía cuando se abre una puerta. Vamos a estar usando un Frambuesa Pi como el controlador aquí, aunque se puede utilizar casi cualquier otro microcontrolador para este proyecto utilizando el mismo circuito. He aquí una demostración.$ 5 microcontroladores: Arduino, Frambuesa Pi cero o NodeMCU?$ 5 microcontroladores: Arduino, Frambuesa Pi cero o NodeMCU?Solía ​​ser el caso que si se quería conseguir una computadora, tendría que volver a hipotecar su casa para pagar por ello. Ahora, usted puede conseguir uno por un Abraham Lincoln.Lee mas

Necesitará

Es probable que ya posee todas las piezas que necesita para hacer esto, excepto el interruptor de láminas, que es de alrededor de $ 2-3, o usted puede conseguir un paquete de 5 por sólo más de $ 8 aquí.

  • Una Frambuesa Pi (cualquier modelo funcionará para esto).
  • 1 x 220 resistor Ohm.
  • 1 x 1K resistencia de Ohm.
  • 3 x 10K resistor Ohm.
  • 1 x interruptor de láminas magnético.
  • 1 x LED.
  • 2 x interruptor de botón.
  • Tablero de circuitos.
  • cables en circuito.
  • altavoz de la computadora o similar.

Usaremos el Raspberry Pi para reproducir una canción cuando se entra en la habitación, y diseñar un circuito con botones en nuestro tablero para activarlo en un retraso, y detener el programa.

Este proyecto, que se mantiene permanentemente todo para la diversión, cubre los conceptos básicos para muchas aplicaciones en domótica bricolaje y también seguridad en el hogar bricolaje

Frambuesa PI 3 Modelo B A1.2GHz 64-bit de cuatro núcleos ARMv8 CPU, 1 GB de RAMFrambuesa PI 3 Modelo B A1.2GHz 64-bit de cuatro núcleos ARMv8 CPU, 1 GB de RAM1,2 GHz 64-bit CPU ARMv8 de cuatro núcleos, 1 GB de RAM Ahora comprar en Amazon $ 30.39

Empezando

Vamos a empezar por hacer nuestro circuito. Asegúrese de que su Pi es sin alimentación, y configurar el circuito como este:

Vídeo: Criando um Transmissor de musicas FM com o raspberry Pi #9

HQ Annotated Fritzing

El LED está conectado al pin 7 en nuestro pi. Los dos interruptores de botón están asociadas a las patillas 11 y 13, y el interruptor de láminas se conecta a la patilla 15. Nuestro poder va al pin 1 (3c3) y el pasador 6 (Gnd).

diagrama de pines

Asegúrese de comprobar que todo está en el lugar exacto.

Mientras que está probando este proyecto que puede ayudar a mantener su interruptor de láminas delante de usted por lo que puede fácilmente cambiar entre los modos encendido o apagado. En este caso, el interruptor de láminas ya estaba instalado encima de la puerta. Una vez que el proyecto está en marcha y funcionando se puede conectar de forma temporal el cambio a su puerta con cinta, o si se siente más seguro se puede conectar de manera más permanente para su uso en proyectos futuros!

interruptor de láminas instalado

Conectar la salida jack de 3,5 mm de ustedes Pi a su sistema de altavoces. Una vez que todo se junta debe ser algo como esto:

Vídeo: Germinacion de Frambuesas

Planta completa correcta

Tenga en cuenta que el tablero se usa aquí tiene sus carriles de alimentación a la inversa con el diagrama de Fritzing anteriormente.

Ahora encender el Pi, y acceder a ella a través de SSH para poder acceder al terminal. Si no está seguro de cómo hacer esto, esta guía puedo ayudarte. Si está utilizando el Pi de frambuesa con un monitor, ratón y teclado, omita este paso y abrir el terminal. Configuración de la Frambuesa Pi Para uso sin cabeza Con SSH Configuración de la Frambuesa Pi Para uso sin cabeza Con SSHLa Raspberry Pi puede aceptar comandos SSH cuando se conecta a una red local (ya sea por Ethernet o Wi-Fi), lo que le permite fácil instalarlo. Los beneficios de SSH van más allá de alterar la proyección diaria ...Lee mas

Antes de empezar, vale la pena comprobar si usted es hasta la fecha. Tipo apt-get update sudo en el terminal.

Ahora podemos pasar a conseguir nuestro Pi hablar con nuestro circuito.

Probando nuestra configuración

Para empezar, vamos a comprobar nuestro circuito usando un programa sencillo. Si se tiene la certeza de haber conectado todo lo justo hasta el momento puede saltarse este paso, aunque recomendaría, ya que puede ahorrar dolores de cabeza más adelante.

Si nunca has programado en Python antes y se siente un poco desanimado, hay una gran cantidad de grandes sitios web que pueden ayudarle a empezar.Los 5 mejores sitios web para aprender a programar en PythonLos 5 mejores sitios web para aprender a programar en PythonDurante la última década, el lenguaje de programación Python ha explotado en popularidad entre los programadores en todas las áreas de la codificación. De los desarrolladores web a los diseñadores de juegos de vídeo a los creadores de la herramienta de la casa, muchas personas han caído en ...Lee mas

En la terminal, crear un nuevo guión:

nano test.py

Una vez abierta, agregue este código al archivo y pulse Ctrl-C para dejar de fumar, a raíz del diálogo guardar:

# Este código fue escrito para un artículo sobre MakeUseOf.com por Ian Buckley.importar RP _.GPIO como GPIOimportar timeGPIO.EstablecerAdvertencias(Falso)GPIO.modo de ajuste(GPIO.TABLERO)GPIO.preparar(7,GPIO.FUERA)GPIO.preparar(11,GPIO.EN)GPIO.preparar(13,GPIO.EN)GPIO.preparar(15,GPIO.EN)mientras Cierto:GPIO.salida(7,GPIO.ALTO)Si (GPIO.entrada(11)==1):impresión("Botón en GPIO 11")hora.dormir(1)Si (GPIO.entrada(13)==1):impresión("Botón en GPIO 13")hora.dormir(1)Si (GPIO.entrada(15)==1):impresión("Botón en GPIO 15")hora.dormir(1)GPIO.limpiar()

Este código lee el valor de los botones y los imprime en la pantalla cuando cambian. Los dos pulsadores tienen resistencias tire hacia abajo, por lo que reportan altos cuando se presiona. El interruptor magnético de láminas informes de alto siempre que su imán acompaña está cerca.

interruptores

Ejecuta el programa:

test.py pitón

Usted debe ver la luz hasta LED, y un informe a la pantalla cuando se pulsa sus dos botones y tire el imán lejos de su interruptor de láminas. Si usted no está recibiendo retroalimentación al pulsar los botones, comprobar su circuitería de nuevo y asegúrese de que todo está conectado como debe ser. Cuando haya terminado la prueba, pulse CTRL-C para detener el programa.

prueba

Ahora podemos armar un programa fácil de configurar, gatillo y restablecer nuestro sensor de la puerta. Vamos a repasar el código en partes y explicar brevemente lo que hace cada parte, sin embargo, si usted quiere ver el rollo código completo hacia abajo para verlo presentado en su totalidad.

Tenemos que empezar con la importación de algunos módulos:

importar RPI.GPIO como GPIOimportar pygame.mezcladorimportar hora

Nosotros vamos a usar la pygame Módulo para reproducir nuestra música. Viene de serie con Raspbian Jessie, y es una gran biblioteca de todo lo necesario para hacer juegos de Python y muchos otros proyectos sorprendentes.Cómo construir un Frambuesa Pi Twitter BotCómo construir un Frambuesa Pi Twitter BotTwitter es el mayor repositorio mundial de mensajes cortos de personas que no tienen nada que decir - y ahora usted también puede contribuir a ese proyecto épica con un bot de Twitter automatizado, impulsado por su frambuesa ...Lee mas

Vídeo: Cómo cultivar frambuesas

Vamos a utilizar una variable llamada activo para decidir si nuestro sistema está activo o no. Dejar que definen un par de funciones que lo hará por nosotros:

def ActiveSetup():global activeactive=0impresión("Actualmente No Activo")def Activestate():global activoSi activo==1:activo=0GPIO.salida(7,GPIO.BAJO)impresión("Actualmente No Activo")elif activo==0:impresión ("Activación en 10 segundos")para x en distancia(0,10):GPIO.salida(7,GPIO.ALTO)hora.dormir(0.5)GPIO.salida(7,GPIO.BAJO)hora.dormir(0.5)activo=1GPIO.salida(7,GPIO.ALTO)impresión("Actualmente activo")más: regreso

La primera función aquí crea una variable llamada activo, y se pone a 0. Dando el estado activo de un valor numérico significa que si va a escalar más adelante su programa para tener diferentes estados activos puede numerar en consecuencia. Aunque podría no ser la mejor programación Python en el mundo, será más que suficiente para este proyecto.

La segunda función cuando llamadas comprueba si el sistema está activo (o == activo 1). Si lo es, se establece que el sistema no está activo (== activo 0), Enciende el LED apagado, y se imprime en la consola. Si no lo es, se le da una segunda cuenta atrás de 10 a salir de la habitación en la que el LED parpadea, antes restante a demostrar que el sistema está activo.

Ahora podemos definir una función que ver nuestro interruptor magnético de láminas:

def watchDoor():global playingplaying = Falsomientras Cierto:Si activo==1 y GPIO.entrada(15)==1 y jugando == Falso:jugando=Ciertopygame.mezclador.música.jugar()Si GPIO.entrada(13)==1:impresión("pulsada la tecla Stop: Salir")pygame.mezclador.música.detener()descansoSi GPIO.entrada(11)==1:Activestate()hora.dormir(0.5)

Creamos otra variable llamada aquí jugando - esto es simplemente para detener el programa tratando de empezar a jugar repetidamente cuando se activa el interruptor.

En el interior del bucle while, la primera sentencia if comienza la música (que no tenemos ninguna fecha todavía, pero no se preocupe, que viene). Sólo se permite el inicio de la música si el sistema está activo, el interruptor de láminas está abierto, y todavía no está jugando.

La segunda sentencia if es para nuestro botón de salida. Si se pulsa este botón, la música se detiene y el programa sale.

La declaración tercio si es para alternar si el sistema está activo o no. los tiempo de dormir la función es prevenir el botón varias lecturas cuando se presiona.

Ahora es el momento de establecer los pasadores de Pi.

GPIO.modo de ajuste(GPIO.TABLERO)GPIO.preparar(7, GPIO.FUERA,inicial=GPIO.BAJO)GPIO.preparar(11,GPIO.EN)GPIO.preparar(13,GPIO.EN)GPIO.preparar(15,GPIO.EN)

Si usted ha hecho alguna experimentación con el Pi antes de que esto debería ser familiar para usted. los inicial = GPIO.LOW argumento en la configuración de pines de 7 establece que bajo tan pronto como se inicializa.

Ahora podemos llamar a nuestra función que se establece el sistema para que no sea activa al arrancar el programa.

ActiveSetup()

Música Maestro!

En este punto, hay que empezar a pensar en la música para jugar. Usted puede elegir cualquier archivo de música que desee, pero deberá elegir algo al alcance de todos, por ahora. Si ves YouTube que probablemente ya estén familiarizados con la música de Kevin MacLeod. Permite descargar una melodía fantástica por él llamado “tuerto Maestro”. Esto, junto con gran parte de la música en su sitio, es bajo licencia de Creative Commons, y hay muchas buenas razones utilizar el contenido de estas licencias para sus proyectos.¿Qué es la idea, y debe usted utilizar?¿Qué es la idea, y debe usted utilizar?Creative Commons es un conjunto de permisos de conducción que automáticamente le dan permiso para hacer varias cosas, como la reutilización y distribuir el contenido. Vamos a saber más sobre él y cómo usarlo.Lee mas

wget

De vuelta en nuestro código, tenemos que empezar el mezclador Pygame y cargar nuestra sintonía.

pygame.mezclador.en eso(44100,-dieciséis,2,1024)pygame.mezclador.música.set_volume(1.0)nombre = "Tuerto Maestro.mp3"pygame.mezclador.música.carga(nombre)impresión("Cargado pista - "+ str(nombre))

La primera línea de este bloque inicia la pygame mezclador. El último argumento entre paréntesis es el buffer que controla la latencia en el que se reproduce el sonido. Si experimenta reproducción entrecortada después, cuando su música se reproduce, intente aumentar este número en 4096. Los ajustes ya que son trabajos sin problema en un 3 Pi.

Si ha descargado el archivo de música en un directorio diferente a su door.py programa, usted tendrá que proporcionar la ruta completa dentro de los corchetes cuando se define la variable nombre.

Ahora todo lo que queda por hacer es crear un bucle que nos espera a cualquier juego del programa activo, o salir de ella.

mientras Cierto:Si(GPIO.entrada(13)==1):impresión("pulsada la tecla Stop: Salir")pygame.mezclador.música.detener()descansoSi(GPIO.entrada(11)==1):Activestate()hora.dormir(0.5)Si(activo==1):watchDoor()descansoGPIO.limpiar()

Este bucle mientras espera una entrada de cualquiera de los botones, y se cierra o cambia el estado a activo en consecuencia. Si el estado de activo se convierte en 1, entonces el watchDoor función que definimos anteriormente se llamó y la próxima vez que se abra la puerta de nuestra consonancia jugará. También llamamos GPIO.cleanup () para restablecer nuestros pines de salida, que es generalmente una buena práctica para toda la programación de la Frambuesa Pi.

Eso es todo lo que tenemos que hacer para conseguir este proyecto en marcha y funcionando, aquí está el código en su totalidad:

importar RP _.GPIO como GPIOimportar pygame.mezcladorimportar horadef ActiveSetup():global activeactive=0impresión("Actualmente No Activo")def Activestate():global activoSi activo==1:activo=0GPIO.salida(7,GPIO.BAJO)impresión("Actualmente No Activo")elif activo==0:impresión ("Activación en 10 segundos")para x en distancia(0,10):GPIO.salida(7,GPIO.ALTO)hora.dormir(0.5)GPIO.salida(7,GPIO.BAJO)hora.dormir(0.5)activo=1GPIO.salida(7,GPIO.ALTO)impresión("Actualmente activo")más: regresodef watchDoor():global playingplaying = Falsomientras Cierto:Si activo==1 y GPIO.entrada(15)==1 y jugando == Falso:jugando=Ciertopygame.mezclador.música.jugar()Si GPIO.entrada(13)==1:impresión("pulsada la tecla Stop: Salir")pygame.mezclador.música.detener()descansoSi GPIO.entrada(11)==1:Activestate()hora.dormir(0.5)GPIO.modo de ajuste(GPIO.TABLERO)GPIO.preparar(7, GPIO.FUERA,inicial=GPIO.BAJO)GPIO.preparar(11,GPIO.EN)GPIO.preparar(13,GPIO.EN)GPIO.preparar(15,GPIO.EN)ActiveSetup()pygame.mezclador.en eso(44100,-dieciséis,2,1024)pygame.mezclador.música.set_volume(1.0)nombre = "Tuerto Maestro.mp3"pygame.mezclador.música.carga(nombre)impresión("Cargado pista - "+ str(nombre))mientras Cierto:Si(GPIO.entrada(13)==1):impresión("pulsada la tecla Stop: Salir")pygame.mezclador.música.detener()descansoSi(GPIO.entrada(11)==1):Activestate()hora.dormir(0.5)Si(activo==1):watchDoor()descansoGPIO.limpiar()

Si Scrolled aquí abajo para agarrar el código completo de inmediato, ten en cuenta que todavía tendrá que descargar la música en el Pi para que funcione!

Ahora usted debería tener un hogar agradable melodía que funciona! Adjuntar el interruptor de láminas a su puerta, y probarlo. bailando embarazosa es opcional pero se recomienda.

Este proyecto cubre los conceptos básicos para muchas formas de monitoreo en el hogar, seguridad y automatización, y es de esperar también era divertido!

Ahora que ha llegado hasta aquí, ¿por qué detenerse allí? Se podría añadir más pistas y hacer que el programa elige uno al azar de una lista. Tú podrías añadir un relé y otros objetos han de ser disparado en la entrada. Si usted tiene un sistema de música en casa, ¿por qué no tener un tema musical para cada habitación?Primeros pasos con GPIO En un Frambuesa PiPrimeros pasos con GPIO En un Frambuesa PiSi bien el Arduino era fresco, sólo tiene que esperar hasta que usted consigue sus manos en un Frambuesa Pi - estas cosas son increíbles. Además de ser un equipo totalmente funcional, sino que también tienen un ...Lee mas

relé de las luces

Va a estar diseñando su propio mensaje de bienvenida personal en el hogar? ¿Ha sido inventiva con interruptores de láminas en su casa de otras maneras? Si es así, dejar un comentario acerca de lo que está planeando o ya lo han hecho en la sección de comentarios!

Artículos Relacionados