Tabla de contenido:

Coche IoT RC con lámpara inteligente remota o puerta de enlace: 8 pasos (con imágenes)
Coche IoT RC con lámpara inteligente remota o puerta de enlace: 8 pasos (con imágenes)

Video: Coche IoT RC con lámpara inteligente remota o puerta de enlace: 8 pasos (con imágenes)

Video: Coche IoT RC con lámpara inteligente remota o puerta de enlace: 8 pasos (con imágenes)
Video: Cómo convertir tu Amazon Echo en una cámara de seguridad 2024, Noviembre
Anonim
Image
Image
Coche IoT RC con lámpara inteligente remota o puerta de enlace
Coche IoT RC con lámpara inteligente remota o puerta de enlace
Coche IoT RC con lámpara inteligente remota o puerta de enlace
Coche IoT RC con lámpara inteligente remota o puerta de enlace

Para un proyecto no relacionado, había estado escribiendo un código Arduino para hablar con las lámparas inteligentes MiLight y los controles remotos de lámparas que tengo en mi casa.

Después de que logré interceptar los comandos de los controles remotos inalámbricos, decidí hacer un pequeño auto RC para probar el código. ¡Resulta que los controles remotos de 2.4GHz usados en estas lámparas tienen un anillo táctil de 360 para seleccionar tonos y funciona sorprendentemente bien para conducir un auto RC!

Además, al usar la puerta de enlace MiLight o el concentrador MiLight ESP8266, puede controlar el automóvil desde un teléfono inteligente o cualquier dispositivo conectado a Internet.

Paso 1: El origen de este proyecto

Este proyecto se basa en una línea de bombillas inteligentes inalámbricas que llegaron al mercado hace unos años. Inicialmente se vendieron como LimitlessLED, pero desde entonces han estado disponibles con nombres alternativos, como EasyBulb o MiLight.

Si bien estas bombillas a menudo se venden como compatibles con WiFi, no tienen capacidades de WiFi y, en cambio, dependen de una puerta de enlace que toma los comandos enviados a través de WiFi y los traduce a un protocolo inalámbrico patentado de 2.4GHz. Si obtiene una puerta de enlace, las bombillas se pueden controlar desde una aplicación de teléfono inteligente, pero si no lo hace, aún puede controlar estas lámparas con controles remotos inalámbricos independientes.

Estas bombillas y los controles remotos son propietarios, pero se han realizado esfuerzos para aplicar ingeniería inversa a los protocolos y crear alternativas de código abierto a la puerta de enlace WiFi. Esto permite algunas posibilidades interesantes, como usar los controles remotos para sus propios proyectos Arduino, como se demuestra en este Instructable.

Paso 2: obtener el control remoto adecuado

Conseguir el control remoto correcto
Conseguir el control remoto correcto

Las bombillas y los controles remotos MiLight nunca debieron estar abiertos y, por lo tanto, no hay documentación oficial sobre los protocolos. Ha habido varias generaciones diferentes de bombillas y definitivamente no son intercambiables.

Este proyecto hace uso del control remoto para uno de los cuatro tipos de bombillas que están disponibles y saber cómo distinguir los tipos visualmente lo ayudará a comprar el control remoto correcto. Los cuatro tipos son:

  • RGB: estas bombillas tienen tono y brillo controlables; el control remoto tiene una rueda de colores y tres botones de alternancia blancos.
  • RGBW: estas bombillas le permiten elegir entre un tono y un solo tono de blanco; el control remoto tiene una rueda de colores, un control deslizante de brillo, tres botones de efectos amarillos y cuatro botones de alternancia de grupo amarillos.
  • CCT: Estas bombillas son solo de luz blanca, pero le permiten variarlas de blanco cálido a blanco frío; el control remoto tiene un anillo de control negro y botones pulsadores blancos.
  • RGB + CCT: las bombillas pueden mostrar colores y pueden variar de blanco cálido a blanco frío; el control remoto es el más desordenado de los cuatro y se puede distinguir por un control deslizante de temperatura de color, algunos botones extraños en forma de media luna y una barra de luz azul alrededor de los bordes.

Este proyecto se hizo con el control remoto RGBW y solo funcionará con ese estilo de control remoto. Si desea intentar hacer este proyecto usted mismo, asegúrese de obtener el control remoto correcto, ya que definitivamente no son intercambiables *

DESCARGO DE RESPONSABILIDAD: * Además, no puedo garantizar absolutamente que este proyecto funcione para usted. Es posible que la gente de MiLight haya cambiado el protocolo utilizado en el control remoto RGBW desde que compré el mío hace varios años. Como esto causaría incompatibilidades entre sus productos, sospecho que es poco probable, pero el riesgo está ahí.

Paso 3: uso con una puerta de enlace WiFi y un teléfono inteligente

Uso con una puerta de enlace WiFi y un teléfono inteligente
Uso con una puerta de enlace WiFi y un teléfono inteligente
Uso con una puerta de enlace WiFi y un teléfono inteligente
Uso con una puerta de enlace WiFi y un teléfono inteligente

Si tiene una puerta de enlace WiFi MiLight, ya sea una oficial, o el Hub MiLight ESP8266 DIY, también puede controlar el automóvil usando la aplicación MiLight para teléfonos inteligentes en un teléfono o tableta.

Si bien el protocolo de radio utilizado por las bombillas MiLight no es compatible con WiFi, el concentrador funciona como un puente entre una red WiFi y la red MiLight. El buggy RC se comporta como lo haría una lámpara, por lo que agregar el puente abre la interesante posibilidad de controlar el buggy RC desde un teléfono inteligente o desde una PC a través de paquetes UDP.

Paso 4: otros componentes

Otros componentes
Otros componentes

Tres de los componentes provienen del SparkFun Inventor's Kit v4.0, estos incluyen:

  • Motorreductor Hobby - 140 RPM (par)
  • Rueda: 65 mm (neumático de goma, par)
  • Sensor de distancia ultrasónico - HC-SR04

El sensor de distancia no se usa en mi código, pero lo puse en mi buggy porque se ve genial como faros falsos, además pensé que podría usarlo más tarde para agregar algunas capacidades de prevención de colisiones.

Los otros componentes son:

  • Rueda giratoria omnidireccional de metal
  • Un Arduino Nano
  • Escudo de radio Arduino Nano RFM69 / 95 o NRF24L01 +
  • Un controlador de motor L9110 de eBay
  • Cables de puente macho a hembra

También necesitará un soporte para 4 pilas AA y pilas. Mis imágenes muestran un soporte de batería impreso en 3D, pero tendrá que comprar los terminales de resorte por separado y probablemente no valga la pena el esfuerzo.

También necesitará una impresora 3D para imprimir el chasis (o podría modelarlo con madera, no es demasiado complicado).

Una palabra de precaución:

Utilicé un clon económico de Arduino Nano y descubrí que se calentaba mucho al hacer funcionar el automóvil durante un período de tiempo significativo. Sospecho que esto se debe a que el regulador de 5 V del clon económico está infravalorado y no puede suministrar la corriente necesaria para la radio inalámbrica. Medí que el Arduino y la radio consumen solo 30 mA, lo cual está dentro de las especificaciones del regulador de voltaje en un Arduino Nano genuino. Entonces, si evita los clones, sospecho que no tendrá ningún problema (¡avíseme en los comentarios si encuentra lo contrario!).

Paso 5: Probar el Arduino y el control remoto

Probando Arduino y Remote
Probando Arduino y Remote
Probando Arduino y Remote
Probando Arduino y Remote

Antes de ensamblar el buggy RC, es una buena idea verificar si el control remoto puede comunicarse con el Arduino a través del módulo de radio.

Comience por apilar el Arduino Nano encima del escudo de RF. Si el conector USB está orientado hacia la izquierda en la parte superior, la PCB inalámbrica debe estar orientada hacia la derecha en la parte inferior.

Ahora, conecte el Arduino Nano a su computadora usando un cable USB y cargue el boceto que he incluido en el archivo zip. Abra el monitor en serie y presione un botón en el control remoto. La luz debe encenderse en el control remoto (si no es así, revise las baterías).

Si todo va bien, debería ver algunos mensajes en la ventana del terminal cada vez que presione un botón. Pase el dedo por la rueda táctil de colores y observe los valores cambiantes de "Hue". ¡Esto es lo que dirigirá el vehículo!

Asegúrese de que este paso funcione, ya que no tiene sentido continuar si no funciona.

Paso 6: Impresión y montaje del chasis

Impresión y montaje del chasis
Impresión y montaje del chasis

He incluido los archivos STL para las piezas impresas en 3D. Para los archivos CAD, puede buscar aquí. Hay tres partes, un soporte de motor izquierdo y derecho y el chasis.

Los soportes del motor izquierdo y derecho se pueden unir a los motores con tornillos para madera. Luego, los soportes del motor se unen al chasis con tuercas y pernos M3 (o pegamento, si lo prefiere). La rueda se fija al frente del chasis con cuatro tornillos y pernos.

Paso 7: agregar la electrónica

Añadiendo la electrónica
Añadiendo la electrónica
Añadiendo la electrónica
Añadiendo la electrónica

Atornille el controlador paso a paso en el chasis y conecte los cables de los motores a los terminales de tornillo en el controlador. Usé el siguiente cableado:

  • Motor izquierdo rojo: OB2
  • Motor izquierdo negro: OA2
  • Motor derecho rojo: OB1
  • Motor derecho negro: OA1

Ejecute la energía desde el lado positivo de las baterías al Vcc en la PCB del controlador paso a paso y Vin en el Arduino. Ejecute el lado negativo de las baterías al GND en el GND en el Arduino. Necesitará soldar un cable Y para lograr esto.

Finalmente, complete la electrónica usando cables de puente para conectar los siguientes pines en el Arduino al controlador del motor paso a paso:

  • Pin 5 de Arduino -> Controlador paso a paso IB1
  • Pin 6 de Arduino -> Controlador paso a paso IB2
  • Pin A1 de Arduino -> Controlador paso a paso IA1
  • Pin A2 de Arduino -> Controlador paso a paso IA2

Paso 8: Probar el robot

¡Ahora, presione los botones y vea si el robot se mueve! Si los motores parecen invertidos, puede ajustar el cableado del robot o simplemente puede editar las siguientes líneas en el boceto de Arduino:

L9110 izquierda (IB2, IA2); L9110 derecha (IA1, IB1);

Si es necesario intercambiar los motores izquierdo y derecho, intercambie los números entre paréntesis, como tal:

L9110 izquierda (IB1, IA1); L9110 derecha (IA2, IB2);

Para invertir solo la dirección del motor izquierdo, cambie las letras entre paréntesis por el motor izquierdo, de esta manera:

L9110 izquierda (IA2, IB2);

Para invertir la dirección del motor derecho, intercambie las letras entre paréntesis por el motor derecho, así:

L9110 derecha (IB1, IA1);

¡Eso es todo! ¡Buena suerte y diviertete!

Recomendado: