Tabla de contenido:

Dados LED PCB de seis caras con WIFI y giroscopio - PIKOCUBE: 7 pasos (con imágenes)
Dados LED PCB de seis caras con WIFI y giroscopio - PIKOCUBE: 7 pasos (con imágenes)

Video: Dados LED PCB de seis caras con WIFI y giroscopio - PIKOCUBE: 7 pasos (con imágenes)

Video: Dados LED PCB de seis caras con WIFI y giroscopio - PIKOCUBE: 7 pasos (con imágenes)
Video: Mini LED cube with 54 pixel, WiFi & gyroscope | SMT hotplate soldering | Pikocube v2.0 2024, Mes de julio
Anonim
Dados LED PCB de seis lados con WIFI y giroscopio - PIKOCUBE
Dados LED PCB de seis lados con WIFI y giroscopio - PIKOCUBE

Hola creadores, ¡es maker moekoe!

Hoy quiero mostrarte cómo construir un dado de LED real basado en seis PCB y 54 LED en total. Junto a su sensor giroscópico interno que puede detectar el movimiento y la posición de los dados, el cubo viene con un ESP8285-01F, que es el MCU WiFi más pequeño que conozco hasta ahora. Las dimensiones de la MCU son solo 10 por 12 milímetros. Cada PCB tiene unas dimensiones de 25 por 25 milímetros y contiene nueve mini píxeles LED WS2812-2020. Junto al controlador hay una batería Lipo de 150 mAh y un circuito de carga dentro de los dados. Pero más sobre esto más adelante …

Si está buscando un cubo aún más pequeño, consulte la primera versión que he creado en mi sitio web. ¡Está fundido en resina epoxi!

Pikocube versión 1

Paso 1: ¡Inspírate

Image
Image

¡Disfruta el video!

Encontrarás casi todo para el cubo en este video. Para obtener más información, diseño, PCB y archivos de código, puede consultar los siguientes pasos.

Paso 2: Diseño de PCB

Diseño de PCB!
Diseño de PCB!
Diseño de PCB!
Diseño de PCB!
Diseño de PCB!
Diseño de PCB!

Como sabrá, mi software de diseño de PCB favorito es Autodesk EAGLE. Por eso también lo he usado para este proyecto.

Empecé a usar dos diseños de PCB diferentes, porque no quiero hacer el cubo más grande de lo necesario. Las formas exteriores de ambos PCB son solo cuadrados de 25x25 milímetros. Lo especial de estas placas de circuito impreso son los tres orificios engastados a cada lado que distribuyen las tres señales + 5V, GND y la señal LED por todo el cubo. El orden de los PCB se muestra en uno de los esquemas anteriores. Espero que te puedas imaginar, los lados de colores van juntos una vez que el cubo se dobla como un cubo. Las flechas marcan la línea de señal WS2812.

Los esquemas, las placas y las listas de materiales de ambos PCB se adjuntan a este paso.

Paso 3: PCB y componentes

PCB y componentes!
PCB y componentes!
PCB y componentes!
PCB y componentes!
PCB y componentes!
PCB y componentes!

El cubo completo consta de dos tipos diferentes de PCB. El primero viene con el circuito de carga y el conector de la batería Lipo y el segundo contiene el MCU, el sensor y un circuito de enganche de energía. Por supuesto, las placas de circuito impreso solo se han equipado una vez cada una. Todo el resto solo contiene los nueve LED en el exterior del cubo.

Lo especial de las placas de circuito impreso son los orificios engastados en cada lado. Por un lado, estos agujeros / almohadillas de soldadura se utilizan para que el cubo parezca un cubo y mantenga todo en su lugar y, por otro lado, transmite tanto la potencia de los LED como la señal WS2812. La última es más complicada porque tiene que estar en un orden específico. Cada PCB tiene exactamente una entrada y una sola señal de salida y para interrumpir una señal en un punto, agregué algunas almohadillas de puente de soldadura SMD.

Piezas que necesitará para la placa MCU:

  • ESP8285-01F WiFi MCU
  • Giroscopio ADXL345
  • Condensadores SMD 0603 (100n, 1µ, 10µ)
  • Resistencias SMD 0603 (600, 1k, 5k, 10k, 47k, 100k, 190k, 1M)
  • Diodo SMD SOD123 1N4148
  • LED SMD 0805
  • Mosfet SMD (IRLML2244, IRLML2502)
  • SMD LDO MCP1700
  • Botón SMD 90deg
  • WS2812 2020 LED

Piezas que necesitará para la placa de alimentación:

  • IC del cargador MCP73831
  • Condensadores SMD 0603 (100n, 1µ, 10µ)
  • Resistencias SMD 0603 (1k, 5k, 10k)
  • Diodo SMD MBR0530
  • LED SMD 0805
  • Mosfet SMD (IRLML2244)
  • Conector 2P JST 1,25 mm
  • WS2812 2020 LED

Paso 4: ¡Montaje del cubo

¡Ensamblando el Cubo!
¡Ensamblando el Cubo!
¡Ensamblando el Cubo!
¡Ensamblando el Cubo!
¡Ensamblando el Cubo!
¡Ensamblando el Cubo!
¡Ensamblando el Cubo!
¡Ensamblando el Cubo!

Para todos los detalles de ensamblaje del cubo, debe consultar el video de arriba.

Ensamblar el cubo no es la parte más fácil, pero para hacerlo un poco más fácil, he diseñado una pequeña ayuda de soldadura donde al menos tres de las seis PCB se pueden soldar juntas. Si lo hace dos veces, obtendrá dos bordes de PCB que deben conectarse una vez que todo esté funcionando. Sí, asegúrese de que todo esté funcionando. No lo he probado hasta ahora, pero desoldar una PCB del cubo podría ser difícil.

Asegúrese de soldar tres PCB juntos antes de conectar el conector de la batería. De lo contrario, debe modificar el archivo.stl con un pequeño orificio donde encaja el conector.

Paso 5: ¡Código Arduino

El cubo comenzará con un WiFi desactivado para ahorrar algo de energía, lo que se denomina suspensión del módem. Con respecto a la hoja de datos de ESP, la MCU toma solo 15 mA mientras está en suspensión del módem, mientras que necesita alrededor de 70 mA en modo normal. Bueno para dispositivos que funcionan con baterías como este. Para lograr esto, necesitará la siguiente parte del código antes de llamar a la función de configuración.

void preinit () {

ESP8266WiFiClass:: preinitWiFiOff (); }

Con otro botón, puede activar el WiFi llamando a la función estándar WiFi.begin () o, en este caso, a Blynk.begin (), que es la llamada de configuración para la aplicación que he elegido para controlar el cubo.

Convertir algunas animaciones al cubo es solo un poco de matemáticas. La conversión de la matriz a un píxel en una pared exterior específica se realiza con esta sencilla función auxiliar:

int get_pixel (int mat, int px, int py) {

// comenzando en la esquina superior izquierda return (px + py * 3) + mat * 9; }

En referencia a la descripción general de píxeles de la PCB en el paso 2, la primera matriz es la superior, la segunda es la que mira hacia el frente, las siguientes están alrededor del cubo en la dirección correcta y la última matriz es la inferior.

Al usar el código adjunto, debe editar las credenciales de WiFi para que coincidan con su red. Para un uso correcto con la APLICACIÓN Blynk, asegúrese de poner ambos archivos (BLYNK.ino y el otro con Blynk en él) en la misma carpeta antes de abrir el boceto. El boceto contiene dos pestañas diferentes. El otro archivo, que en realidad no hace nada, no necesita estar equipado con otra pestaña. Es solo para hacer que el cubo duerma cuando no se presionó el botón. De lo contrario, el cubo no se dormirá y consumirá corriente todo el tiempo.

Paso 6: ¡La APLICACIÓN

¡La aplicación!
¡La aplicación!
¡La aplicación!
¡La aplicación!

Como ya se dijo, el cubo comienza con solo presionar un botón. Pero no comenzará con la funcionalidad WiFi en absoluto. Otra pulsación única mientras el cubo ya está encendido iniciará WiFi y se conectará a una red predefinida. Más adelante, puede usar BlynkAPP para controlar el cubo. Por supuesto, puede ampliar la funcionalidad, hay muchas posibilidades para esto …

Aquí se muestra un diseño de ejemplo simple dentro de la APLICACIÓN Blynk. Consiste en dos DESLIZADORES (brillo y velocidad de animación), dos BOTONES DE ESTILO (cambiar el patrón de animación y apagar el cubo), un PASO para cambiar el modo del cubo, un LED para mostrar qué lado del dado está hacia arriba y por último, pero no menos importante, un MEDIDOR para mostrando el estado de la batería. Todos estos widgets utilizan los pines virtuales para la comunicación APP-MCU. Algo para leer los pines virtuales a través de la MCU es llamar a esta función, mientras que V1 se refiere al pin virtual usado y param.asInt () contiene el valor actual del pin. La función de restricción es solo para limitar los valores entrantes (la seguridad es lo primero: D).

BLYNK_WRITE (V1) {

// StepH t = millis (); modo_actual = restringir (param.asInt (), 0, n_modes - 1); }

Para escribir un pin virtual en la APLICACIÓN Blynk, puede usar la siguiente función:

int datos = getBatteryVoltage ();

Blynk.virtualWrite (V2, datos);

¡Obtendrá más información sobre esto dentro del boceto de Arduino!

Paso 7: ¡Diviértete

¡Divertirse!
¡Divertirse!

¡Diseñar y construir el cubo fue muy divertido para mí! Sin embargo, he tenido algunos problemas con él. La primera es que quería usar un circuito convertidor de refuerzo dentro de la primera versión del cubo para asegurar que los LED WS2812 funcionen a 5V. Afortunadamente, también funcionarán con un voltaje Lipo de alrededor de 3,7 V, porque el convertidor de refuerzo era demasiado ruidoso y perturba la señal LED, lo que da como resultado un cubo parpadeante no intencionado.

El segundo gran problema es que quería utilizar la posibilidad de carga inalámbrica, incluso para la segunda versión. Afortunadamente, he agregado algunas almohadillas de carga a las que se puede acceder desde el exterior del cubo porque la potencia inductiva se altera a través de los planos GND de la PCB y los componentes. Por lo tanto, tengo que crear un soporte de carga impreso en 3D, para que el cubo pueda colocarse y algunos contactos se presionen contra el cubo.

¡Espero que hayas disfrutado leyendo este instructivo y hayas encontrado una manera de construir tu propio cubo!

¡No dude en visitar mi Instagram, sitio web y canal de Youtube para obtener más información sobre el cubo y otros proyectos increíbles!

Si tiene preguntas o falta algo, hágamelo saber en los comentarios a continuación.

¡Diviértete creando!:)

Desafío de diseño de PCB
Desafío de diseño de PCB
Desafío de diseño de PCB
Desafío de diseño de PCB

Primer premio en el PCB Design Challenge

Recomendado: