Tabla de contenido:

Reloj NeoPixel: 10 pasos (con imágenes)
Reloj NeoPixel: 10 pasos (con imágenes)

Video: Reloj NeoPixel: 10 pasos (con imágenes)

Video: Reloj NeoPixel: 10 pasos (con imágenes)
Video: $400 USD? NO GRACIAS, lo HAGO POR $25 - Reloj Led Smart Wifi 2024, Noviembre
Anonim
Image
Image
Se requieren piezas electrónicas
Se requieren piezas electrónicas

*********************************************************************************************************

ESTA ES UNA ENTRADA EN EL CONCURSO DE MICRO CONTROLADORES, POR FAVOR VOTE POR MI

********************************************************************************************************

Construí un espejo infinito NeoPixel hace algunos años mientras estaba en Tailandia y se puede ver AQUÍ.

Lo hice por las malas, sin usar un Arduino, sino un microprocesador independiente, un PIC18F2550. Esto implicó profundizar en los registros y tiempos del Micro para escribir el código, algunos de los cuales contenían ensamblado.

Todo esto es un gran conocimiento para tener y me ha sido de gran utilidad, ya que hace que trabajar con Arduino sea un juego de niños. La mayor parte del trabajo se ha realizado mediante el uso de bibliotecas de terceros, mientras que antes escribía mi propio código de biblioteca.

Este reloj fue diseñado para emitir luz desde la periferia hacia la pared a la que está conectado usando LEDs RGB direccionables individualmente WS2812B espaciados a 144 por metro. Esto me dio un diámetro de reloj de 200 mm, algo que podía hacer yo mismo en mi impresora 3D.

Tiene un efecto deslumbrante, especialmente de noche o en una habitación oscura, la luz brilla alrededor de 500 mm dando un deslumbramiento total de más de un metro de diámetro. Los patrones son asombrosos.

El reloj muestra horas (azul), minutos (verde) y segundos (rojo). También se muestra la fecha en una pantalla de 8 dígitos y 7 segmentos y el día de la semana en forma de lista.

El reloj se controla mediante un teléfono inteligente a través de WiFi mediante la aplicación Blynk y un servidor Blynk local que se ejecuta en un RPi 3.

El uso de un servidor local para Blynk es opcional y configurar esto no es parte de este instructivo. El Blynk alojado en la web se puede utilizar después de crear una cuenta en www.blynk.cc y descargar la aplicación.

Hay una gran cantidad de información sobre el uso de Blynk en su sitio web, por lo que no es parte de este instructivo.

En un paso posterior en este instructivo, hay un código QR para escanear, luego tendrá mi aplicación en su teléfono.

La aplicación tiene controles para mostrar el reloj o los patrones (con retroalimentación LCD en la aplicación), la capacidad de configurar su zona horaria en cualquier lugar del mundo y obtener la hora a través de un servidor NTP. También se puede configurar para dormir.

Hay un módulo de reloj en tiempo real con respaldo de batería que proporciona funciones de fecha y hora al Arduino.

El firmware del NodeMCU-E12 en el reloj se puede actualizar por aire (OTA).

Ahora comencemos …

Paso 1: herramientas necesarias

Un buen soldador y soldador.

pelacables

cortadores de alambre pequeños

pequeños alicates de punta larga

sierra pequeña para cortar tabla vero

cuchillo afilado

tijeras

pegamento de papel

Paso 2: Se requieren piezas electrónicas

Se requieren piezas electrónicas
Se requieren piezas electrónicas
Se requieren piezas electrónicas
Se requieren piezas electrónicas

1 x módulo NodeMCE-12E de AQUÍ

1 x módulo de reloj RTC AQUÍ

1 módulo Max7219 de 7 segmentos de 8 dígitos aquí

1 x conector de alimentación de CC aquí

2 x cambiadores de nivel (requeridos ya que Arduino es 3.3vy RTC y la pantalla de 7 segmentos es 5v) aquí

68 LED de una tira de LED WS2812B 114 / mtr aquí.

Fuente de alimentación DC 5v 10A aquí.

Resistencia de 10kOhm 1 / 4W.

Según sea necesario, cable de conexión.

Aproximadamente 77 mm x 56 mm placa Vero para ensamblar todos los módulos y cablear.

De hecho, utilicé un cambiador de nivel Adafruit para las líneas I2c del módulo RTC, ya que se suponía que era seguro para I2c.

Sin embargo, creo que la mayoría de los cambiadores de nivel lógicos bidireccionales de 3.3v a 5v deberían funcionar.

Cortar la tira de LED desperdició un LED ya que se requerían las almohadillas para soldar ambos extremos de la tira de 60 LED y las almohadillas en la tira de 7 LED.

Paso 3: Piezas impresas

Piezas impresas
Piezas impresas
Piezas impresas
Piezas impresas
Piezas impresas
Piezas impresas

Hay tres partes impresas en 3D; el cuerpo del reloj principal, la tapa frontal y la tapa de la batería en la parte posterior.

La tapa de la batería podría omitirse.

También hay una 'Máscara' impresa debajo de la portada con los días de la semana. Imprimí esto en papel ordinario. He proporcionado un archivo.dwg y.dxf de este.

Hay 2 portadas disponibles, una no tiene nombre, en caso de que no pueda editar la pieza.

Mi impresora 3D (boquilla de 0,4 mm) tenía la siguiente configuración con Slic3r:

altura de la primera capa = 0,2 mm

altura de las capas = 0,2 mm

temperatura de la cama = 60 C

temperatura de la boquilla = 210 C

perímetros verticales = 2

conchas horizontales = 3

relleno = estrellas rectilíneas a 45 grados

sin ala

sin material de soporte

Se recomienda encarecidamente que tenga un método de nivelación de la cama

Archivos impresos en 3D y dibujo de máscara aquí:

Paso 4: archivo de ensamblaje completo

A continuación se muestra un archivo IGS del ensamblaje completo para cualquiera que desee modificar el reloj.

Paso 5: instalar las bibliotecas

INSTALE LAS TARJETAS ESP

Necesitará el IDE de Arduino. La instalación no es parte de este instructivo, pero se puede descargar desde AQUÍ.

Una vez que el IDE de Arduino esté instalado, si aún no lo ha hecho, deberá copiar / pegar el texto a continuación en el cuadro de texto en Archivo> Preferencias - URL adicionales del Administrador de tableros:

arduino.esp8266.com/stable/package_esp8266com_index.json

Reinicie el IDE.

Una vez hecho esto, vaya a Herramientas> Tablero> Administrador de tableros. Deje que termine de actualizarse y debería ver la versión de la comunidad ESP8266 en la lista de placas instaladas.

INSTALAR BIBLIOTECAS

Instalar todas las bibliotecas en su carpeta Documentos / Arduino / Bibliotecas como de costumbre, excepto las instaladas por el administrador de la placa.

Después de instalar las bibliotecas, reinicie Arduino IDE, vaya a Sketch> Incluir biblioteca> Administrar bibliotecas, deje que termine de actualizarse, debería ver sus nuevas bibliotecas en la lista.

RTClib - disponible aquí Adafruit_NeoPixel - disponible aquí

HCMAX7219 desde aquí

Blynk: disponible aquí. siga las instrucciones de instalación CUIDADOSAMENTE.

Todos los demás 'incluye' en el archivo NeoPixelClock son instalados por Board Manager o están empaquetados con la instalación de Arduino IDE.

Paso 6: instalación del firmware

En esta etapa, es una buena idea conectar todo junto en una placa de pruebas para fines de prueba.

Verifique todo el cableado cuidadosamente antes de conectar la fuente de alimentación de 5v y / o el cable USB.

Navega a tu carpeta Sketch Documentos> Arduino.

Cree una carpeta "NeopixelClock".

coloque el archivo.ino a continuación en la carpeta.

Abra el IDE de Arduino.

Configure el IDE para que muestre los números de línea, vaya a Archivo> Preferencias y marque la casilla "Mostrar números de línea", haga clic en Aceptar.

Conecte su placa NodeMCU a un puerto USB.

Vaya a Herramientas> Placa y seleccione NodeMCU 1.0 (Módulo ESP-12E)

Vaya a Herramientas> Puerto y seleccione el puerto al que está conectada su placa.

INSTALAR FIRMWARE OTA

Para utilizar la actualización OTA, primero debe grabar una pieza especial de firmware en NodeMCU.

vaya a Archivo> Ejemplos> ArduinoOTA> BasicOTA.

se cargará un programa en el IDE, complete la parte para ssid con el SSID de su enrutador. Puede ver este nombre si pasa el mouse sobre el ícono de WiFi en la bandeja del sistema.

Complete la contraseña con su contraseña de red (generalmente escrita en la parte inferior del enrutador inalámbrico.

Ahora cárguelo en su placa NodeMCU a través de USB.

Cuando termine, presione el botón de reinicio en la placa NodeMCU.

INSTALE EL FIRMWARE NEOPIXELCLOCK

Vaya a Archivo> Cuaderno de bocetos> NeoPixelClock y abra el archivo NeoPixelClock.

Complete su 'auth', 'ssid' y 'pass' debe estar en la línea 114.

Nota; cómo obtener el token de autoridad se explica en el siguiente paso

También puede configurar su zona horaria local en la línea 121, esto puede ser cualquier 1/4 de hora entre -12 y +14 según las zonas horarias de todo el mundo. Esto también se puede configurar en la aplicación si lo prefiere. Actualmente está programado para Queensland, Australia.

En la línea número 332 debe configurar la dirección IP para su servidor local si lo está utilizando.

Una nota sobre el puerto del servidor local. Debido a una actualización reciente del software Blynk, el puerto ahora es 8080, no 8442.

Si está utilizando el nuevo software actualizado, cámbielo.

O si usa el servidor web Blynk, comente la línea 332 y elimine el comentario de la línea 333.

Esa es toda la edición que se necesita hacer.

Ahora cargue esto en su placa NodeMCU a través de USB.

Cuando esto se haya cargado correctamente, desconecte el cable USB de la placa.

Verá en Herramientas> Portar un nuevo puerto (parece una dirección IP), seleccione este como su puerto para comunicarse con NodeMCU para futuras actualizaciones que pueda hacer.

Si todo salió bien, el reloj debería comenzar, de lo contrario, presione el botón 'reiniciar' en el módulo NodeMCU.

Nota: He notado que a veces no se inicia la primera vez, descubrí que desenchufar la fuente de alimentación y volver a conectar funciona la mayoría de las veces. Estoy trabajando en una solución para que este error se inicie correctamente.

Paso 7: Aplicación para teléfono inteligente

Aplicación para smartphone
Aplicación para smartphone
Aplicación para smartphone
Aplicación para smartphone

Para empezar a usarlo:

1. Descargue la aplicación Blynk: https://j.mp/blynk_Android o https://j.mp/blynk_iOS si aún no está instalada.

2. abra la aplicación o inicie sesión, si es nuevo, deberá crear una cuenta.

NOTA, esto no es lo mismo que la cuenta en línea.

3. Toque el ícono QR en la aplicación en la parte superior y apunte la cámara al código QR arriba, o abra el enlace a continuación:

tinyurl.com/yaqv2czw

4. Se debe enviar un código de autoridad a su correo electrónico designado, que debe ingresar en el código Arduino donde se indica en un paso posterior. Si presiona el ícono de la tuerca, podrá enviar un correo electrónico nuevamente si es necesario.

Como se mencionó anteriormente, debe crear una cuenta en línea en www. Blynk.cc. antes de hacer esto.

Perdóname por la vaguedad, no puedo probar esto porque ya tengo la aplicación y no uso el servidor web.

Paso 8: construcción del ensamblaje de la placa Vero

Construyendo el ensamblaje de la placa Vero
Construyendo el ensamblaje de la placa Vero
Construyendo el ensamblaje de la placa Vero
Construyendo el ensamblaje de la placa Vero
Construyendo el ensamblaje de la placa Vero
Construyendo el ensamblaje de la placa Vero

Decidí poner todos los tableros y módulos en un trozo de tablero vero.

Esto mantiene todo limpio y ordenado.

El esquema se puede ver en el archivo.pdf a continuación.

Los encabezados de la placa se quitaron después de la prueba, conecté todos los periféricos directamente a la placa vero ya que no había suficiente espacio para los encabezados y conectores asociados.

Lo siento, no tomé ninguna foto de la parte inferior del tablero, pero no debería ser difícil resolverlo. Incluso puedes mejorar mi diseño. Mantenga la placa Vero del mismo tamaño; de lo contrario, no se ajustará a la base impresa en 3D.

Con los cambiadores de nivel lógico, el LV (+ 3.3v) va a 3.3v en cualquiera de los pines 3v en el módulo Arduino, el HV (+ 5v) va al pin VIN en la placa Arduino.

Todos los Grounds provienen de cualquiera o todos los pines GND de Arduino y deben estar todos conectados para evitar bucles.

Realice el cableado con algo como un cable de un solo núcleo aislado de calibre 26, el aislamiento de PTFE sería bueno ya que no se derrite.

Revise todo su cableado cuidadosamente 2 o 3 veces.

Revíselo con un multímetro para verificar la continuidad, verifique que todos los Gnds estén conectados nuevamente al VIN GND.

Verifique todas las conexiones de + 5v en el módulo RTC, los pines HV de los módulos de cambio de dos niveles y el pin VIN + 5v en el módulo NodeMCU.

Es buena idea comprobar también el resto del cableado.

Paso 9: Montaje del reloj

Montaje del reloj
Montaje del reloj
Montaje del reloj
Montaje del reloj
Montaje del reloj
Montaje del reloj

Una vez que haya impreso las piezas, limpie cualquier tapajuntas y grumos y protuberancias con un cuchillo afilado.

Como solo tenía filamento azul y negro, pinté el interior de las cavidades del LED con pintura modelo plateada.

Creo que esto debería ayudar a reflejar mejor la luz y también ayudar a prevenir el sangrado de luz a través de las paredes hacia las cavidades adyacentes.

El conjunto de la placa vero debe estar cableado:

a la tira de LED + 5v, Gnd y DIN del conjunto de la placa vero.

a la pantalla de 7 segmentos del conjunto de la placa vero.

al conector de CC del conjunto de la placa vero.

Un cable a la tira de LED de 7 vías (DIN) separada desde el extremo (número 60) de la tira de LED principal de 60 vías (DOUT).

Solo soldé la salida de datos (DOUT) del extremo (LED número 60) de la tira de LED de 60 vías, el + 5v y Gnd para la tira de LED de 7 vías que conecté desde el ensamblaje de la placa vero.

Para evitar cortocircuitos, coloqué un pequeño trozo de tarjeta delgada entre el principio y el final de la tira de LED de 60 vías, ya que estaban muy cerca.

Mida y corte todos los cables a las longitudes adecuadas, agregué 5 o 6 mm para proporcionar un poco de margen.

No quité el papel de respaldo de la cinta adhesiva de las tiras de LED, esto habría dificultado la colocación en la base y muy difícil de quitar si fuera necesario.

Encontré que las tiras encajaban bien y cómodas, luego empujaba hasta el fondo de la cavidad.

Coloque el conjunto de la placa Vero en la cavidad, hay separadores para mantenerlo alejado de la parte inferior en 2 mm.

Coloque la pantalla de 7 segmentos de 8 vías en la cavidad; hay postes separadores para montarla.

El conector de CC encaja perfectamente en su cavidad, suelde los cables a esto en el interior de las etiquetas. Quite la etiqueta lateral si lo desea.

Todos los cables deben colocarse cuidadosamente en las cavidades provistas.

Por último, pase el conector de alimentación de la fuente de alimentación a través del orificio y colóquelo en el conector de CC, presione el cable en la ranura que se encuentra debajo.

Revise todo su cableado cuidadosamente 2 o 3 veces. Vea el diagrama de cableado a continuación.

Paso 10: Colocación de la cubierta frontal para terminar

El bloque de la base tiene varias clavijas pequeñas que sobresalen del anillo exterior, que deben alinearse con los orificios de la cubierta frontal.

La máscara de papel debe imprimirse en negro, recortarse y pegarse a la portada con algo como una barra de pegamento.

Los agujeros se perforarán a través del papel cuando esté, con la cubierta frontal, presionada sobre la base.

Estamos listos para comenzar, enchúfelo, el reloj debería comenzar automáticamente, si no lo hace, como descubrí varias veces, desenchufe la alimentación y vuelva a enchufarlo.

Si no tiene batería en el módulo RTC, deberá configurar la hora y la fecha.

Haga esto con la aplicación, configure la zona horaria con el control arriba / abajo y luego presione el botón 'SET NTP TIME'.

Verá en el terminal de la aplicación si tiene éxito o no, si no, vuelva a intentarlo.

Cuando se muestra HECHO, se puede presionar el botón Reloj y el reloj debe funcionar y mostrar la hora, la fecha y el día de la semana.

Los patrones se pueden ejecutar presionando el botón Patrones, esto se puede interrumpir en cualquier momento presionando el botón Reloj o el botón Patrones nuevamente.

El brillo de los LED del reloj y la pantalla de 7 segmentos se puede ajustar para el brillo con los controles deslizantes asociados.

Todos los LED se pueden apagar presionando el botón de apagado del reloj.

Cuélguelo en la pared y la luz brillará hacia afuera en la pared, particularmente hermosa en una habitación oscura.

Cualquier pregunta estaré encantada de intentar y responder.

DISFRUTA y no olvides votar por mí.

************************************************ ************************************************ ***** ESTA ES UNA ENTRADA EN EL CONCURSO DE MICRO CONTROLADORES, VOTE POR MI ***************************** ************************************************ ***********************

Recomendado: