Tabla de contenido:

Supervisor Eric Inspired LED Cube (People of Earth): 10 pasos (con imágenes)
Supervisor Eric Inspired LED Cube (People of Earth): 10 pasos (con imágenes)

Video: Supervisor Eric Inspired LED Cube (People of Earth): 10 pasos (con imágenes)

Video: Supervisor Eric Inspired LED Cube (People of Earth): 10 pasos (con imágenes)
Video: This is Why You Never Mess With a Royal Guard... 2024, Mes de julio
Anonim
Supervisor Eric Inspired LED Cube (Gente de la Tierra)
Supervisor Eric Inspired LED Cube (Gente de la Tierra)
Supervisor Eric Inspired LED Cube (Gente de la Tierra)
Supervisor Eric Inspired LED Cube (Gente de la Tierra)
Supervisor Eric Inspired LED Cube (Gente de la Tierra)
Supervisor Eric Inspired LED Cube (Gente de la Tierra)

¿Quién o qué es el supervisor Eric y por qué construiría esto?

El supervisor Eric es un BOX o Cube o algo del programa de TBS "People of Earth".

Lo cual es un pequeño programa divertido sobre personas que son secuestradas por extraterrestres; en su mayor parte, los extraterrestres son bastante idiotas. Creo que al principio de la segunda temporada, un cubo volador llamado Eric se hizo cargo de la misión alienígena: se le conoce como el supervisor Eric. No está muy claro si es un ser dentro del cubo, una IA o simplemente lo que es. Eric tiene su propia agenda e incluso le lava el cerebro a un miembro del grupo de apoyo de secuestro, pero esa es otra historia completa.

Vi a Eric y pensé, eso está bastante bien, y sería muy simple hacer uno, así que hice uno.

Desafortunadamente, no hay mucha información sobre él, así que tengo que ir con este "Supervisor Eric" inspirado por los fanáticos. El mío no lo hace y nunca volará (estoy bastante seguro de que solo fueron efectos especiales en el programa de todos modos.)

Además, no sé realmente qué tan grande es - mi conjetura es alrededor de un cubo de 7 "con un ojo de 3". Mi construcción resultó ser un cubo de 5 ", con un ojo de 2".

Usé un WeMos D1 Mini para el controlador, con un LED WS2812; esto me da la capacidad de cambiar el color del ojo.

En el programa, he visto tres ojos de colores diferentes hasta ahora: azul, que parece ser su color normal, rojo que aparece cuando está tramando algo o está enojado o enojado, y verde cuando está escaneando algo.

Para uno de los bocetos que hice, tengo sus expresiones, otro boceto que estoy usando MQTT y obteniendo el color de las luces de alegría de Twitter. También hice un subprograma IFTTT que me permite usar Google Home / Google Assistant para cambiar su estado de ánimo, usando dweet.io, habrá más sobre esto a continuación.

Paso 1: Herramientas y piezas necesarias…

Herramientas y piezas necesarias…
Herramientas y piezas necesarias…
Herramientas y piezas necesarias…
Herramientas y piezas necesarias…
Herramientas y piezas necesarias…
Herramientas y piezas necesarias…

El hardware para este proyecto es muy simple: para la electrónica se necesitarán algunas habilidades básicas de soldadura.

1 juego de copa reflectora de lente de vidrio de 44 mm y marco fijo para lente LED de 20 W-100 W caliente $ 2.60

Escudo RGB WS2812B para WeMos D1 Mini $ 1.75

WeMos D1 Mini ModeMCU 4M Placa de desarrollo WiFi ESP8266 $ 3.40

Necesitamos un cubo de 5 "(12,7 cm). El grosor es de aproximadamente 1/8". (aproximadamente 3,175 mm).

Al principio probé una caja de cartón de 7 , pero terminé cortando con láser un tablero MDF. El archivo dfx está incluido en mi repositorio de github.

También usé papel de seda para cubrir el escudo WS2812.

Compare un poco, estos pueden ser o no los mejores precios, eBay, Aliexpress e incluso Amazon tienen algunos de los mejores precios.

Algunas otras cosas que puede necesitar:

Pintura en aerosol negra mate, pegamento para madera, papel de lija y lima pequeña.

También necesitará algunos tornillos pequeños para madera.

Algunas herramientas necesarias: soldador, destornillador, lima, alicates de punta fina.

El acceso a un taladro pequeño (o un taladro pequeño), un cortador láser o una máquina cnc facilitará mucho la realización de este proyecto.

Por poder

Mi idea original era usar un paquete de baterías pequeño, no encajaba, así que terminé haciendo un pequeño agujero en la parte posterior y usé un cargador de teléfono celular viejo como fuente de alimentación.

Un paquete de baterías pequeño (18650 quizás) puede funcionar, el D1 mini es un controlador de 3 voltios, por lo que debe observar qué pines usa para la alimentación. Hay un regulador en el conector USB, por lo que es, con mucho, la forma más fácil de alimentarlo.

Paso 2: Pasos iniciales para la construcción…

Pasos iniciales para la construcción…
Pasos iniciales para la construcción…
Primeros pasos para construir…
Primeros pasos para construir…
Pasos iniciales para la construcción…
Pasos iniciales para la construcción…
Pasos iniciales para la construcción…
Pasos iniciales para la construcción…

Creo que la lente se usa para automóviles, tal vez iluminación doméstica. No estoy seguro, sin embargo, viene sin LED. Así que una de las primeras cosas que hice fue asegurarme de que el escudo WS2812 funcionara con él. Usé una banda elástica para unir todas las partes, funcionó, pero no fue genial. Pude ejecutar un código de prueba y producir algunos efectos diferentes.

Más tarde, decidí agregar un espejo; me gusta, pero al final aún no era lo que estaba buscando y fue difícil evitar que el espejo se deslizara.

Como también puede ver, en un momento solo iba a usar una caja de cartón, realmente no estaba contento con cómo se veía. no estaba limpio, pero decía que realmente necesitaba tener algo cortado con láser.

¡La mayor parte de esto fue que me di cuenta de que mi idea original de necesitar algo era correcta!

Paso 3: ¡Corte el cubo con láser y pinte

¡Corta el cubo con láser y pinta!
¡Corta el cubo con láser y pinta!
¡Corta el cubo con láser y pinta!
¡Corta el cubo con láser y pinta!
¡Corta el cubo con láser y pinta!
¡Corta el cubo con láser y pinta!

Gracias a mis amigos de Rabbit Laser, EE. UU., Pude cortar el cubo. Todo tardó menos de 5 minutos en realizarse. Creo que estábamos usando un láser de 60 vatios al 60% de potencia, y creo que lo reducimos para que pudiera cortar los bordes un poco mejor.

Si no tiene amigos con cortadores láser, intente buscar espacios para creadores o incluso bibliotecas públicas. Muchos tienen máquinas láser. Las bibliotecas de aquí solo cobran por el material utilizado. Algunas bibliotecas son completamente gratuitas si trae su propio material. Son excelentes recursos para creadores con un presupuesto limitado. Sin embargo, conseguir tiempo láser es otra historia y, a veces, tienes que estar en una lista de espera.

Para mí, no se necesitaba mucho en cuanto a limpiar los bordes ásperos ni nada por el estilo. Probablemente podría / debería haber lijado un poco las piezas, pero no lo hice.

Hice un ajuste aproximado para asegurarme de que todas las piezas encajaran. y les colocó un trozo de cartón más grande.

Numeré el interior para poder volver a armar el cubo más tarde. La realidad es que 4 de las piezas son iguales y 2 son diferentes (superior e inferior), las 4 que son iguales forman los lados, de estas 4 uno tiene un agujero de 2 pulgadas para la lente. Creo que fue más fácil armarlo después de numerar las piezas, esto no es 100% necesario.

Volteé las piezas y les apliqué una capa de pintura negra mate.

Repetí pintar las piezas tres veces más, cada vez que esperaba a que el abrigo se secara.

Paso 4: pegue el cubo…

Pegue el cubo junto…
Pegue el cubo junto…
Pegue el cubo junto…
Pegue el cubo junto…
Pegue el cubo junto…
Pegue el cubo junto…
Pegue el cubo junto…
Pegue el cubo junto…

Después de unas horas de dejar secar la pintura, pegué la parte inferior y tres de los lados.

No utilicé ninguna abrazadera para esto, y solo mantuve las piezas juntas con la mano hasta que el pegamento se secó lo suficiente como para sostenerlas, no tomó mucho tiempo, tal vez 5 o 6 minutos. Creo que hubiera sido mejor usar abrazaderas, pero no tenía ninguna lo suficientemente grande para este proyecto. Así que fue bueno saber que sostenerlo funcionó.

Me resultó más fácil colocar pegamento en el interior de la caja en las costuras, usé mi dedo para empujar el pegamento donde tenía que estar.

Dejo estas partes a un lado para dejar que el pegamento se seque…..

Paso 5: Colocación de la lente y los componentes electrónicos en el orificio…

Colocando la lente y la electrónica en el agujero…
Colocando la lente y la electrónica en el agujero…
Colocando la lente y la electrónica en el agujero…
Colocando la lente y la electrónica en el agujero…
Colocando la lente y la electrónica en el agujero…
Colocando la lente y la electrónica en el agujero…

Mientras esperaba a que se seque la mitad de mi cubo, Perforé algunos agujeros pequeños, en las cuatro piezas de las esquinas del bisel de la lente que no tenían agujeros. Por qué podría preguntar: los orificios del bisel son grandes, demasiado grandes en realidad. Necesitaba usar tornillos muy pequeños para que no atravesaran la madera (sin sobresalir por el otro lado). Así que fue casi más fácil hacer mis propios agujeros. El bisel es de metal bastante delgado y no se necesitó mucho para perforar.

También fue en este punto que doblé un par de los orificios más grandes; los usaré para mantener los componentes electrónicos más o menos en su lugar.

Seguí adelante y puse el bisel de la lente en su lugar. Y lo atornillé con unos tornillos muy pequeños, hasta ahora.

Encontré un par de ataduras de pan / alambre y las puse en uno de los agujeros que doblé. Coloqué las LEN en el bisel y coloqué la tapa trasera sobre la LENTE. Coloqué un pequeño trozo de papel de seda (que se encuentra en una caja que tenía un nuevo par de zapatos) en la contraportada y puse el tablero WS2812 encima. Usando las ataduras de alambre, para mantenerlo en su lugar. Luego puse el D1 mini en el WS2812.

Después de un tiempo y para mi gran disfrute, el WS2812 y el papel tisú se abrieron camino hasta la cubierta trasera. El WS2812 es en realidad un poco pequeño para la abertura de la cubierta trasera, por lo que no fue una sorpresa.

Lo que fue una sorpresa fue lo bien que se veía el "OJO" con el papel de seda adentro. Me alegré mucho con esa sorpresa.

Dejé esto a un lado y esperé a que mis otras piezas se secaran; no tomó mucho tiempo, puede que media hora, tal vez una hora.

Paso 6: Pega el ojo …

Image
Image
Pegamento en el ojo …
Pegamento en el ojo …
Pegamento en el ojo …
Pegamento en el ojo …

No tomé ninguna foto de esta parte - (Malo de mí)

De todos modos, después de que el pegamento estuvo casi seco, puse el frente (ojo) en su lugar (con la electrónica ya en él).

Como todos los lados estaban en la caja ahora, era un poco más difícil meter el pegamento, pero no estaba mal. Nuevamente, usé mis dedos para colocar el pegamento donde quería y lo extendí sobre las juntas.

Esta vez tuve que mantenerlo en su lugar un poco más, no estoy muy seguro de por qué, tal vez tenga 10 o 15 minutos para que el pegamento se haya asentado lo suficiente como para dejar la caja y dejar que se seque.

* ¡Es posible que esté preguntando por la parte superior

Así que dejé la parte superior sin pegar (y sin pegar) para que si necesito cambiar o agregar, o poner diferentes dispositivos electrónicos en la caja, podría hacerlo fácilmente. La parte superior simplemente se levanta y todo es bonito allí.

Un diseño nuevo / mejor podría ser para una parte superior con bisagras o un lado con bisagras, pero estoy contento con la forma en que resultó el cubo.

Paso 7: Mini programación D1

Programación D1 Mini
Programación D1 Mini
Programación D1 Mini
Programación D1 Mini
Programación D1 Mini
Programación D1 Mini
Programación D1 Mini
Programación D1 Mini

Hay algunos requisitos antes de que podamos comenzar a programar el D1 Mini.

Ninguno de estos pasos es difícil … pero es necesario realizarlos.

Primero, necesitamos instalar las placas ESP8266 en el administrador de placas Arduino. Para ello, siga las instrucciones que se encuentran aquí:

Si ya ha instalado las placas ESP8266, puede omitir este paso.

Ahora necesitamos instalar la biblioteca Adafruit_Neopixel

Probablemente la forma más fácil de hacer esto es desde el administrador de la biblioteca en Arduino 1.6.5 y IDE posteriores.

Abra el administrador de la biblioteca y, en el bloque de búsqueda, escriba adafruit y neopixel.

Nuevamente, si ya lo ha hecho, puede omitirlo.

Lo anterior es común a los bocetos que hice para esto.

Dependiendo de qué o cómo quiera usar su "Eric" dependerá de lo que necesite instalar ahora.

(Probablemente debería instalar ambas bibliotecas solo porque sí, pero….)

Si desea utilizar la versión MQTT (esta versión se suscribe a una transmisión MQTT de cheerlights), cambiará el color del LED WS2812 de acuerdo con Cheerlight. * Cheerlights es un proyecto de IoT creado por Hans Scharler que permite que las luces de personas de todo el mundo se sincronicen con un color al tuitear #cheerlights *

He usado Cheerlights en varios de mis proyectos. Gracias al flujo MQTT, los proyectos se han vuelto más fáciles de hacer.

Para esta versión, necesita la biblioteca PubSubClient.

Estoy bastante seguro de que esta biblioteca también está en el administrador de la biblioteca.

Mis otros bocetos usan IFTTT y Dweet.io: son un poco diferentes, ya que le pido a Google Home que cambie los modos o modos de Eric.

Para usar los bocetos de dweet, necesita la biblioteca arduino-dweet.io: https://github.com/quentinpigne/arduino-dweet.io Esta es una biblioteca más antigua (2015), y es casi seguro que NO ESTÁ en el administrador de la biblioteca. Entonces tienes que instalarlo manualmente. Hay un par de formas de hacer esto: prefiero descargar los archivos, descomprimirlos y renombrarlos (eliminar el -master), arrastrar la carpeta a mi carpeta de bibliotecas. Puede que tenga que reiniciar el IDE de esta forma.

Sé que son muchos pasos, y hay una manera más simple: desde el IDE puede hacer clic en la pestaña Sketch, bajar para incluir la biblioteca y hacer clic en Agregar biblioteca. ZIP: busque el archivo descargado, y eso debería ser.

No sé por qué nunca me gustó mucho instalar bibliotecas así, pero es simple.

Ahora que tiene las bibliotecas necesarias, podemos programar nuestro D1 mini.

Finalmente, mi código se puede encontrar aquí:

Paso 8: Los bocetos MQTT…

Los bocetos MQTT…
Los bocetos MQTT…
Los bocetos MQTT…
Los bocetos MQTT…
Los bocetos MQTT…
Los bocetos MQTT…

¿Qué es MQTT? MQTT son las siglas de MQ Telemetry Transport. Es un protocolo de mensajería de publicación / suscripción, extremadamente simple y liviano, diseñado para dispositivos restringidos y redes de bajo ancho de banda, alta latencia o poco confiables. Los principios de diseño son minimizar el ancho de banda de la red y los requisitos de recursos del dispositivo al mismo tiempo que se intenta garantizar la confiabilidad y cierto grado de garantía de entrega. Estos principios también resultan en hacer que el protocolo sea ideal para el mundo emergente de dispositivos conectados “máquina a máquina” (M2M) o “Internet de las cosas”, y para aplicaciones móviles donde el ancho de banda y la energía de la batería son primordiales.

mqtt.org/faq

En otras palabras, mi dispositivo se suscribe o escucha algo que publica otro dispositivo.

Un fragmento de código útil para MQTT es

uint32_t chipid = ESP.getChipId (); char clientid [25]; snprintf (clientid, 25, "EricBotAI-% 08X", chipid);

Lo que esto hace es crear un nombre de dispositivo único para el agente MQTT, utiliza parte de la dirección MAC ESP8266 para hacer esto. Si bien esto es 100% garantía de ser único, hasta ahora parece haber funcionado.

De lo contrario, el resto del código es bastante sencillo, escuchamos un color del corredor de MQTT, verificamos si ese es un color válido, configuramos el neopixel en ese color y comenzamos el proceso de nuevo.

Para lo que estamos haciendo, se está utilizando un intermediario público y ningún tipo de seguridad; esto está bien para lo que estamos haciendo, pero puede que no sea bueno para algunos proyectos.

Hay tres bocetos MQTT incluidos, y todos hacen prácticamente lo mismo: la mayor diferencia es cómo muestran los colores de Cheerlights.

Uno muestra el color con un parpadeo rápido (vea el video publicado anteriormente) Es casi como una luz estroboscópica (ericbotai_neopixel_mqtt) - Usé este mismo tipo de parpadeo rápido para mis proyectos de Halloween en el pasado, y el efecto es muy bueno (para aquellos) - Sin embargo, no es tan bueno para este proyecto.

Uno solo muestra el color sólido y solo cambia (si pierde MQTT) o si el color ha cambiado. (ericbotai_neopixel_mqtt_solid_color).

Probablemente mi favorito de los tres es el Efecto Breathe: este toma el color y lo atenúa a nada, y lentamente lo lleva a su brillo total, es un efecto ordenado que se ve muy bien dentro del cubo.

(ericbotai_neopixel_mqtt_breathe_effect)

Los tres son el mismo boceto con solo unos pocos cambios para cada "efecto".

Paso 9: Bocetos de Google Home, IFTTT y Dweet.io…

Image
Image
¡Pensamientos finales y algunas fotos más!
¡Pensamientos finales y algunas fotos más!

Entonces, en primer lugar, comencemos diciendo que estos bocetos no son tan estables como me gustaría que fueran.

E incluso si he incluido las funciones de tiempo del perro guardián y las funciones de rendimiento, todavía recibo errores aleatorios de WDT; parece ser cuando están sentados en un color durante cualquier momento. Realmente no he tenido demasiada suerte al agregar más funciones WDT o al eliminar las que tengo.

Dicho esto, la idea era hacer que Eric fuera un poco más interactivo. Usando Mi Google Home / Asistente de Google, puedo decir "Ok Google, modo Eric Eric" y hacer que el LED cambie de lo que sea a rojo.

Dweet.io es cómo se transmite mi mensaje a Eric; si no sabes qué es Dweet.io, asegúrate de hacer clic en el enlace y verlo. En términos simples, es una API web en la que los dispositivos pueden publicar o escuchar. Cada llamada tiene su propio nombre de dispositivo. ¡También es de uso gratuito, lo cual es una gran ventaja! Dado que es una llamada web, es fácil configurar IFTTT para usarlo.

dweet.io/dweet/for/ericcube?mood={{TextFie…

Donde {{TextField}} será lo que escuchó Google Home.

Entonces, si toma el ejemplo anterior "Ok Google Eric modo enojado", la llamada web se vería así:

dweet.io/dweet/for/ericcube?mood=angry

La salida de la API se vería como esta cadena JSON:

El boceto de Arduino - obtiene toda la cadena JSON - pero gracias a una práctica función llamada "eliminar" podemos simplemente eliminar la mayor parte de la mendicidad. Y luego elimine el final … Probablemente haya una mejor manera de eliminar el final, porque lo que terminó sucediendo fue que no leí la página del manual lo suficientemente cerca para "eliminar" y ahora todo está truncado en 6 caracteres. Entonces, si dices modo "normal", se convierte en "norma", esto está bien, realmente no importa, el software se encarga de eso … pero todavía no es correcto:-)

Entonces puedo decir: "Modo Eric enojado" y esto hará que el LED se vuelva ROJO, "Modo feliz Eric" o "Modo normal Eric" y el LED será AZUL, "Modo de escáner Eric" y el LED se pondrá VERDE, y simplemente por diversión (Y porque en un episodio, Eric se cargó y su LED se apagó) "Modo de carga de Eric" o "Modo negro de Eric" y su LED se apagará.

Y finalmente, solo por diversión, tenemos el "modo fiesta Eric".

Hay dos bocetos que usan Dweet.io, ambos bocetos son prácticamente iguales. Solo los efectos LED son ligeramente diferentes.

Sin embargo, no estoy muy contento con ninguno de los efectos LED (excepto quizás en el modo fiesta).

ericbotai_neopixel_pulse_effect_dweet utiliza más o menos el mismo código del boceto del efecto de respiración, con tiempos ligeramente diferentes (tanto por los cambios en el boceto como por las funciones WDT), el efecto es menos respiración y más un efecto de pulso.

ericbotai_neopixel_solid_color_dweet es más o menos como dice, muestra los colores (sólidos) - el modo fiesta es el efecto disco.

Puede agregar o cambiar los efectos, solo recuerde que las respuestas tienen solo 6 caracteres.

En ambos bocetos, la línea 64 es donde puede cambiar el nombre de la "cosa", solo recuerde cambiar también la llamada web a la misma "cosa"; si todos usamos el mismo nombre, todos podemos cambiarnos "Eric".

Paso 10: ¡Pensamientos finales y algunas imágenes más

¡Pensamientos finales y algunas fotos más!
¡Pensamientos finales y algunas fotos más!
¡Pensamientos finales y algunas fotos más!
¡Pensamientos finales y algunas fotos más!
¡Pensamientos finales y algunas fotos más!
¡Pensamientos finales y algunas fotos más!

Aquí hay algunas fotos más de mi construcción que simplemente no parecían encajar en ningún lado…..

Una cosa que me gustaría decir: terminé cortando una pequeña muesca en la parte posterior de mi cubo y pasé el cargador / cable en esa muesca para obtener energía, en general, no le quita mérito al cubo, pero tenía Sabía que iba a hacer eso y me hubiera gustado tenerlo cortado con láser.

Mi bisel también es un poco diferente, mi bisel terminó al ras de la caja, no creo que se vea mal así, y es una buena forma de decirlo, me inspiré, pero no una copia directa de "Eric".

Planeo agregar un reproductor MP3 con algunas de las sabias palabras de "Eric" … eso puede que no suceda muy rápido, no he encontrado ninguna grabación de "Eric", así que tendré que hacer la mía propia.

Finalmente, con el uso de MQTT o Dweet la posibilidad de hacer de este un sistema de notificación de escritorio, (como un color para un tweet, o diferentes colores para el clima de la mañana, ect). No debería ser demasiado difícil tomar parte del código base y mezclarlo para hacer todo tipo de cosas interesantes.

Y realmente finalmente, puedo ver tal vez hacer una pantalla de pared HAL 9000 usando esta misma LENTE y una programación ligeramente diferente.

Recomendado: