Tabla de contenido:

Luz inteligente de reloj despertador reciclado: 8 pasos (con imágenes)
Luz inteligente de reloj despertador reciclado: 8 pasos (con imágenes)

Video: Luz inteligente de reloj despertador reciclado: 8 pasos (con imágenes)

Video: Luz inteligente de reloj despertador reciclado: 8 pasos (con imágenes)
Video: Cuando mi novia se compra un reloj nuevo 2024, Mes de julio
Anonim
Luz inteligente de reloj despertador reciclado
Luz inteligente de reloj despertador reciclado
Luz inteligente de reloj despertador reciclado
Luz inteligente de reloj despertador reciclado
Luz inteligente de reloj despertador reciclado
Luz inteligente de reloj despertador reciclado

En este proyecto, reciclo un reloj despertador de cuerda completamente roto. La esfera del reloj se reemplaza por 12 LED, iluminados por una tira de LED alrededor del borde del reloj. Los 12 LED indican la hora y la tira de LED está programada para actuar como una alarma, alcanzando el brillo total a la hora establecida. Todo está controlado por una Raspberry Pi Zero, lo que permite innumerables posibilidades de integración y expansión, como sincronizar automáticamente la alarma de luz con la alarma de su teléfono o hacer parpadear los LED cuando recibe un correo electrónico.

El proyecto utiliza componentes relativamente baratos o reutilizados; lo único que terminé comprando fue el regulador de voltaje. Todo lo demás que tenía por ahí, como un recorte de tira de LED. Este Instructable lo guiará a través de cómo le di una nueva vida a mi reloj roto y, con suerte, podría inspirarlo a reciclar algo propio.

Paso 1: Partes

Partes
Partes
Partes
Partes
Partes
Partes

Para controlar todo, vamos a usar una Raspberry Pi Zero, ya que es pequeña, cuesta muy poco y se puede conectar a WiFi, lo que significa que no necesitamos un reloj en tiempo real y, por lo tanto, podemos actualizar fácilmente el código de forma remota desde una computadora portátil. A menos que tenga un Pi Zero W, nos conectaremos a una red WiFi mediante un dongle USB WiFi.

Aquí hay una lista de las piezas que utilicé, pero la mayoría de las cosas se pueden cambiar por alternativas adecuadas. Por ejemplo, en lugar de una Raspberry Pi, podría usar un Arduino con un reloj en tiempo real para controlar el proyecto.

Partes utilizadas

  • Un viejo despertador
  • 30cm de tira de LED blanco cálido
  • 1x Raspberry Pi Zero + tarjeta micro SD
  • 1x dongle USB WiFi + convertidor micro USB a USB
  • 12 luces LED
  • 12 resistencias de 330 ohmios (use más si desea LED con atenuación)
  • 1x TIP31a (u otro transistor de potencia npn o MOSFET)
  • 1 resistencia de 1k
  • 1x convertidor buck ajustable DC-DC LM2596 (reduce 12V para 5V para Raspberry Pi)
  • Fuente de alimentación 1x 12v (+ forma de entrar en su proyecto)
  • 10 cm x 10 cm de madera para la esfera del reloj (debe ser lo suficientemente delgada para montar los LED)
  • Varias piezas de alambre de diferentes colores

Cosas útiles para tener

  • Soldador + soldadura
  • Pegamento caliente
  • Multimetro
  • Tablero de circuitos
  • Pines de cabecera hembra
  • Lector o convertidor de tarjetas micro SD
  • Un ordenador
  • Mini adaptador HDMI + pantalla HDMI si desea utilizar el entorno de escritorio de Pi

Paso 2: Configurar la Raspberry Pi

Configuración de la Raspberry Pi
Configuración de la Raspberry Pi
Configuración de la Raspberry Pi
Configuración de la Raspberry Pi

Sistema operativo

Debido a que la Raspberry Pi no se conectará a una pantalla, elegí usar Raspbian Buster Lite, que no viene con un entorno de escritorio. Si es nuevo en Raspberry Pi, es posible que desee seguir con el Raspbian Buster estándar que viene con una computadora de escritorio. Si no está seguro de cómo instalar su sistema operativo, este es un gran recurso. Ambos sistemas operativos se pueden descargar desde el sitio web de Raspberry Pi.

Por el momento, encienda el Pi a través de su entrada de alimentación Micro USB. También conecte el dongle USB WiFi.

Hablando con la Raspberry Pi

Una vez que todo está empaquetado, es bastante difícil acceder al Pi si desea cambiar el código, etc. El uso de SSH permite conectarnos al Pi y controlarlo desde otra computadora. Esto no está activado de forma predeterminada, pero podemos hacerlo simplemente creando una carpeta llamada ssh en la partición de arranque de su tarjeta SD. Si ya ha iniciado sesión en su Pi, también puede hacerlo escribiendo sudo raspi-config en la Terminal y navegando a Opciones de interfaz> SSH y eligiendo Sí para habilitarlo.

Ahora puedes conectarte a tu Pi en otra computadora. En Mac o Linux, puede usar su aplicación de terminal, pero en la mayoría de las versiones de Windows tendrá que instalar un cliente SSH como PuTTY. Conéctese al Pi escribiendo ssh pi @ donde el nombre de host se reemplaza con el nombre de host de la dirección IP de su Pi. El nombre de host predeterminado es raspberrypi.local. Te pedirá una contraseña que, si aún no la has cambiado, es frambuesa.

Instalando cosas necesarias

Primero asegúrese de que todo esté actualizado ejecutando sudo apt update y luego sudo apt full-upgrade.

Para asegurarnos de lo que necesitamos para controlar los pines GPIO en Pi, escriba sudo apt-get install python-rpi.gpio y sudo apt-get install python3-rpi.gpio. Estos ya deberían estar instalados en la versión completa de Raspbian.

El código

Aquí está el código para descargar para que todo funcione. Si está utilizando un entorno de escritorio, péguelos en su carpeta Documentos.

Si está usando la línea de comando de SSH, navegue a su carpeta de inicio escribiendo cd ~ / Documents y presionando enter. Cree un nuevo archivo llamado test1.py con nano test1.py. Esto abrirá el editor de texto nano donde puede pegar el código del archivo test1.py descargado. CTRL-O y presione enter para guardar el archivo y CTRL-X para salir del editor. Repita el proceso para los archivos restantes.

Paso 3: instalación de la tira de LED

Instalación de la tira de LED
Instalación de la tira de LED
Instalación de la tira de LED
Instalación de la tira de LED

Primero, coloque la tira de LED en el reloj para ver cuánto necesitará, marque esta longitud y corte la tira en el siguiente punto de corte como se muestra. Es mucho más fácil soldar cables a la tira antes de que la tira se atasque en su lugar. Esta es una guía bastante buena sobre cómo hacer esto, pero si no está seguro, simplemente practicaré en la unión de soldadura en la pieza de la que acaba de cortar la tira. Suelde un cable al punto de soldadura positivo y un cable al negativo. Asegúrese de probar que su tira de LED funciona antes de pegarla en su reloj.

Dado que la tira de LED que usé se había usado antes de que hubiera perdido su respaldo autoadhesivo, tuve que usar pegamento caliente para fijar la tira alrededor del borde del borde del reloj. Si tiene una longitud excesiva, cubra el punto donde están conectados los cables. Es posible que desee instalar la tira más adelante, pero me resultó más fácil guardarla en el reloj.

Paso 4: controlar la tira de LED

Controlar la tira de LED
Controlar la tira de LED

Conectando la tira de LED

La tira de LED funciona con 12 V, por lo que no se puede alimentar directamente desde el Pi. Para controlarlos, usaremos un transistor de potencia (por ejemplo, TIP31a) conectado al Pi como se muestra arriba. Recomiendo verificar primero que todo esto funcione en una placa de pruebas.

  • Conecte GPIO 19 a la base a través de una resistencia de 1k
  • El emisor debe estar conectado a GND
  • Conecta el colector al terminal negativo de la tira de LED
  • Conecte el terminal de tira de LED positivo a + 12V

Pruebas

En la línea de comando, vaya a la carpeta de documentos (cd ~ / Documentos) y escriba python test1.py e ingrese. Debería ver que la tira de LED aumenta y disminuye su brillo. Para salir del programa presione CTRL-C. Puede editar el archivo (nano test1.py) para cambiar la velocidad y el brillo en el programa.

importar RPi. GPIO como GPIOimportar tiempo GPIO.setmode (GPIO. BCM) # Utilice el pinout BCM GPIO.setwarnings (False) # Ignore las advertencias sobre pines que se utilizan para otras cosas ledStripPin = 19 # La tira de LED se maneja desde este pin GPIO.setup (ledStripPin, GPIO. OUT) # Establecer ledStripPin como salida pwm = GPIO. PWM (ledStripPin, 100) # PWM en ledStripPin con frecuencia 100Hz dutyCycle = 0 # Brillo inicial como porcentaje pwm.start (dutyCycle) try: while True: for dutyCycle in range (0, 101, 1): # Fade up pwm. ChangeDutyCycle (dutyCycle) time.sleep (0.05) for dc in range (95, -1, -1): # Fade down pwm. ChangeDutyCycle (dc) time.sleep (0.05) excepto KeyboardInterrupt: # Presione CTRL-C para salir, y luego: pwm.stop () # Detenga el pwm GPIO.cleanup () # Limpie los pines GPIO

Paso 5: hacer la esfera del reloj

Haciendo la esfera del reloj
Haciendo la esfera del reloj
Haciendo la esfera del reloj
Haciendo la esfera del reloj
Haciendo la esfera del reloj
Haciendo la esfera del reloj

Corte la pieza de madera para su reloj hacia abajo a la medida para que quepa en su reloj. Hice el mío para descansar a unos 3 cm del frente. Taladre 12 orificios del diámetro de sus LED (generalmente 3 mm o 5 mm) espaciados 30 grados entre sí. Lije el frente boca abajo y aplique un acabado de su elección. Desde la parte posterior, coloque los LED de modo que apunten hacia el frente. Usé pegamento caliente para mantener los LED en su lugar con el terminal positivo (cable más largo) hacia adentro. El tamaño de la esfera de mi reloj significaba que podía soldar todos los terminales negativos juntos (ver arriba), por lo que solo se necesitaba un cable para conectar los 12 LED a GND. A continuación, suelde un cable a cada LED.

Si desea probar esto en una placa de prueba, primero recuerde usar una resistencia (330 ohmios es bastante estándar) en serie con cada LED antes de conectarlo a uno de los pines Pi GPIO. Juegue con el valor de la resistencia que usa para obtener un nivel de brillo con el que esté satisfecho. Un t-cobbler es realmente útil para romper los pines de Pi en una placa de pruebas, aunque necesitará soldar los pines del cabezal para esto. Use test2.py (ejecútelo usando python test2.py) pero asegúrese de editar primero el programa e ingresar los pines GPIO de Pi que ha usado para cada LED.

importar RPi. GPIO como GPIO

import time GPIO.setmode (GPIO. BCM) # Use el pinout BCM GPIO.setwarnings (False) # Ignore las advertencias sobre el uso de pines para otras cosas # Reemplace uno, dos,… con el número de pin correspondiente hourPin = [uno, dos, tres, cuatro, cinco, seis, siete, ocho, nueve, diez, once, doce] # Los pines a los que están conectados los LED de 1 a 12 para i en el rango (0, 12): GPIO.setup (hourPin , GPIO. OUT) # Establezca todos los hourPins como salidas GPIO.output (hourPin , 0) # Asegúrese de que todos los LED estén apagados intente: while True: para i en el rango (0, 12) GPIO.output (hourPin , 1): time.sleep (0.05) para i en el rango (0, 12) GPIO.output (hourPin , 0): time.sleep (0.05) excepto KeyboardInterrupt: # Presione CTRL-C para salir y luego: GPIO.cleanup () # Limpiar los pines GPIO

Paso 6: Encender el Pi

Encender el Pi
Encender el Pi

Necesitamos una forma fácil de llevar 5V al Pi Zero para poder deshacernos del cable micro USB que hemos estado usando para alimentarlo hasta ahora. Hay una serie de soluciones que reducen 12V a 5V, como un regulador de voltaje lineal LM7805, pero no son muy eficientes, por lo que opté por usar el convertidor reductor ajustable más eficiente con el chip LM2596. Nota: con esto, tendrá que girar el potenciómetro hasta que el voltaje de salida se reduzca a 5 V según sea necesario, por lo que necesitará alguna forma de medir el voltaje.

Usar el LM2596 es simple: conecte el + 12V a IN +, tierra a IN-. El Pi se puede conectar directamente a 5V conectando OUT + a uno de los pines de 5V del Pi, pero asegúrese de haber cambiado el voltaje de salida a 5V antes de hacer esto o freirá su Pi.

Paso 7: Complete el circuito y el empaque

Completa el circuito y el embalaje
Completa el circuito y el embalaje
Completa el circuito y el embalaje
Completa el circuito y el embalaje
Completa el circuito y el embalaje
Completa el circuito y el embalaje
Completa el circuito y el embalaje
Completa el circuito y el embalaje

Ahora hemos cubierto los tres elementos del circuito que se muestran juntos en el circuito general anterior. Para ahorrar espacio y hacer que el circuito esté más ordenado, coloque su circuito en una placa de tira o en una placa prototipo. Primero suelde los componentes más pequeños, las resistencias, luego el transistor de potencia, los conectores y finalmente los cables. Planifique su circuito antes de soldar para asegurarse de tener espacio para todo.

Conecté todo en un PCB de creación de prototipos y utilicé pines de encabezado hembra para que el Pi pudiera montarse directamente en el PCB. Los LED en la esfera del reloj están conectados a través de resistencias en un lado de la placa y he dejado espacio en el otro lado de la placa para el transistor de potencia y libre para cualquier otro circuito que desee agregar más adelante.

Coloque la esfera del reloj en el reloj y asegúrese de que todos los componentes electrónicos encajen. Todo quedó bastante ajustado para mí, por lo que es posible que tenga que reorganizarlo. Conecte la fuente de alimentación y ejecute test1.py y test2.py desde SSH para comprobar que todo funciona antes de conectar la parte posterior.

Paso 8: cargue el código + finalice

Subir el código + Finalizar
Subir el código + Finalizar
Subir el código + Finalizar
Subir el código + Finalizar
Subir el código + Finalizar
Subir el código + Finalizar

El código

Finalmente, si aún no lo ha hecho, cargue el código y adáptelo a su gusto (usando nano filename.py). El beneficio de conectarse al Pi a través de SSH es que puede actualizar el código sin abrir el reloj.

Estos programas de Python del Paso 2 hacen lo siguiente:

  • light_clock_simple.py simplemente muestra la hora en los LED y se desvanece hacia arriba y hacia abajo en la tira de LED en ciertos momentos
  • light_clock_pwm.py es el mismo que el anterior pero también permite reducir el brillo de los LED y muestra los minutos con un brillo diferente al de las horas. Deberá jugar con los niveles de brillo de ambos para que el contraste entre los dos sea notable

Estos deberían proporcionar una base sólida para agregar al código, por ejemplo, es posible que desee agregar un botón para posponer la alarma de luz.

Para iniciar el programa cuando arranca el Pi, debemos agregar '@reboot nohup python light_clock_pwm.py &' al final del archivo crontab que se puede abrir desde la terminal con crontab -e. Reinicie su Raspberry Pi para comprobar que funciona con sudo shutdown -r ahora.

Posibles adiciones

A continuación, se muestran algunas ideas de funciones adicionales que podrían agregarse

  • Agregar un botón de repetición
  • Agregar un modo de lámpara
  • Conexión a IFTTT (por ejemplo, la luz podría encenderse cuando la alarma de su teléfono se apaga / parpadea cuando se recibe un correo electrónico)
  • Agregar capacidad, capacidad táctil, es decir, convertir el reloj en una lámpara táctil

Al usar PWM, puede notar que a veces, especialmente con un brillo más bajo, el LED parpadea un poco. Esto se debe a que Pi usa software PWM, por lo que los procesos de la CPU pueden afectar el ciclo de trabajo. Tener menos procesos ejecutando ayuda con esto, así que utilicé el sistema operativo reducido Raspbian Lite. El hardware PWM también está disponible en algunos pines, por lo que si el parpadeo está demostrando ser un problema, esto podría ser algo a considerar.

Espero que haya encontrado este informativo Instructable y se sienta inspirado para reciclar un reloj despertador antiguo o usar elementos del código para su propio proyecto.

Desafío de velocidad de tira de LED
Desafío de velocidad de tira de LED
Desafío de velocidad de tira de LED
Desafío de velocidad de tira de LED

Segundo premio en el LED Strip Speed Challenge

Recomendado: