Tabla de contenido:

Cortinas para el hogar automatizadas - Mini proyecto con módulo BluChip de MakerChips (nRF51 BLE): 7 pasos (con imágenes)
Cortinas para el hogar automatizadas - Mini proyecto con módulo BluChip de MakerChips (nRF51 BLE): 7 pasos (con imágenes)

Video: Cortinas para el hogar automatizadas - Mini proyecto con módulo BluChip de MakerChips (nRF51 BLE): 7 pasos (con imágenes)

Video: Cortinas para el hogar automatizadas - Mini proyecto con módulo BluChip de MakerChips (nRF51 BLE): 7 pasos (con imágenes)
Video: Secret Street Of Lima Peru #vlog #summer #lima 2024, Mes de julio
Anonim
Cortinas para el hogar automatizadas: mini proyecto con módulo BluChip (nRF51 BLE) de MakerChips
Cortinas para el hogar automatizadas: mini proyecto con módulo BluChip (nRF51 BLE) de MakerChips

Imagínese despertar y querer que un rayo de sol entre por sus ventanas, o cerrar las cortinas para poder dormir más, sin el esfuerzo de acercarse a las cortinas, sino con el toque de un botón en su teléfono inteligente. ¡Con el sistema automatizado de cortinas para el hogar, puede lograr esto con componentes que no cuestan más de $ 90!

Vea este tutorial en Github

Paso 1: el diseño

El diseño
El diseño

En el corazón del sistema automatizado de cortinas para el hogar se encuentra el módulo BluChip de MakerChips.

El BluChip es un pequeño módulo Bluetooth de 16.6x11.15 mm que puede servir como periférico para teléfonos inteligentes a través de BTLE.

Haga clic aquí para obtener una introducción a Bluetooth Low Energy (BTLE).

El módulo consta de un SoC nRF51 de Nordic Semiconductors, una gran plataforma para aplicaciones BLE ya que admite muchas funciones integradas tanto en aplicaciones de Android como de Apple.

Paso 2: Kit BluChip Explorer

Kit de BluChip Explorer
Kit de BluChip Explorer
Kit de BluChip Explorer
Kit de BluChip Explorer
Kit de BluChip Explorer
Kit de BluChip Explorer

Para construir este proyecto, obtuve el BluChip Explorer Kit de MakerChips que llegó en 2 cajas separadas, una para el programador CMSIS-DAP y otra caja que contiene el BluChip en una placa con 2 LED RGB, una fotorresistencia y una batería CR2032.

Como habrá notado, el módulo BluChip es extremadamente pequeño, lo que lo hace perfecto para pequeños proyectos integrados de Bluetooth de baja potencia. Cabe en un espacio de solo 6x4 0.1 "encabezados en una placa de prueba y tiene encabezados adicionales de 0.05" en la parte superior de la placa, ¡bastante impresionante para un paquete certificado comercialmente por la FCC!

Estas son algunas de las características clave del sitio web de BluChip de MakerChips:

  • 14 pines GPIO accesibles
  • Procesador ARM Cortex M0 de 32 bits y flash de 256 KB y RAM de 32 KB
  • 16,6 mm x 11,15 mm El módulo Bluetooth® más pequeño que se puede colocar en el pan disponible
  • La fuente de alimentación admite 1.8V - 3.6V
  • Funciones de Bluetooth

    • BTLE - Bluetooth de baja energía - (BLE, BT 4.1)
    • Bluetooth® y Japón, FCC, IC calificado
    • Reloj del sistema integrado de 32 Mhz
    • Potencia de salida: + 4dBm típico
    • Frecuencia: 2402 a 2480 MHz

      Antena de patrón de alto rendimiento integrada

    • Maestro / esclavo inteligente Bluetooth® de modo único
  • Interfaces compatibles: SPI, UART, I2C y ADC de 8/9/10 bits
  • Dos juegos de pines de programación

    • Cabezales de.05 "para un fácil acoplamiento a dispositivos CMSIS-DAP y J-Link
    • .1 "encabezados para la interfaz con las placas de prueba
  • LED rojo controlable por software

Paso 3: Aplicación NRF Connect

Image
Image
Aplicación NRF Connect
Aplicación NRF Connect
Aplicación NRF Connect
Aplicación NRF Connect

Tan pronto como abres la caja del explorador de BluChip, ves que cobra vida con LED parpadeantes, una vista bastante fascinante, ¿no es así?

Para ver lo que hay en la tienda con este módulo BLE, sigamos e instalemos la aplicación nRF Connect de Google Play o App Store.

Vamos a conectarnos al BluChip con nuestro teléfono, así que abra la aplicación nRF Connect, navegue por la pantalla de bienvenida y toque Habilitar para activar Bluetooth. A continuación, toque Escanear y pronto descubrirá que su dispositivo BluChip aparece en la pestaña Escáner.

Antes de que realmente nos conectemos al BluChip, obtengamos un LED y colóquelo en la placa junto a los pines 026 (+ ve) y 021 (-ve). El LED debería encenderse inmediatamente porque el pin 026 emite 3.3V (nivel lógico ALTO) mientras que el pin 021 es lógico BAJO (Tierra).

Continúe y toque conectar para establecer una conexión entre su teléfono inteligente y el BluChip, que luego lo lleva a la pestaña de cliente del dispositivo en la aplicación.

La pestaña del cliente BluChip muestra todos los servicios disponibles en su dispositivo. Lo que nos interesa aquí es el servicio BlueChip GPIO (listado como Servicio Desconocido). Tóquelo y luego toque la flecha hacia arriba junto a la Característica de Modulación GPIO (listada como Característica Desconocida).

Aparecerá una ventana emergente de valor de escritura, dándole la opción de enviar datos a su dispositivo BluChip. En nuestro caso, queremos apagar el LED, así que toque la flecha junto a BYTE ARRAY y cambie el formato de datos a UINT 8. Enviaremos el número de pin como primer valor, así que ingrese 21 para pin021. Toque Agregar valor para enviar el siguiente dato, cuyo estado se establecerá en el pin (formato BYTE hexadecimal). Para apagar el LED, configuraremos el pin 021 en 3.3V (nivel lógico alto), así que ingrese 01 y luego presione Enviar.

¡El LED se apaga instantáneamente! Para volver a encender el LED, envíe un valor de 0x00 (nivel lógico BAJO) al pin021. Como se ve debajo de la característica listada, se muestra el valor enviado de (0x) 15-01. {[(UINT8 decimal) 21 = (BYTE hexadecimal) 0x15] + (BYTE hexadecimal) 0x01 => (BYTE hexadecimal) 0x1501}

Si elige guardar estos valores en la ventana emergente Write value dándole un nombre y luego tocando guardar, ¡puede cargarlos en el futuro como ajustes preestablecidos para una fácil modulación GPIO!

Paso 4: Programación del BluChip

Programando el BluChip
Programando el BluChip
Programando el BluChip
Programando el BluChip
Programando el BluChip
Programando el BluChip

Habría notado en el video de arriba que el nombre del dispositivo BluChip en mi teléfono es diferente al suyo, entonces, ¿cómo podemos cambiarlo a nuestro gusto?

El firmware de la aplicación que se ejecuta en el BluChip sirve como un dispositivo periférico (esclavo) a través de BLE a dispositivos centrales (maestro) como los teléfonos inteligentes conectados a él. Para cambiar el nombre de nuestro dispositivo, profundicemos en la actualización del firmware de la aplicación en nuestro BluChip.

Incluido con el kit BluChip Explorer está el Programador ARM (CMSIS-DAP). MakerChips ha proporcionado una guía práctica ordenada sobre los detalles de la actualización del firmware en el BluChip con el CMSIS-DAP.

Para compilar el firmware en un archivo hexadecimal y actualizarlo, necesitaremos Keil, el kit de desarrollo de software (SDK) nRF51 y el firmware BluChip. Continúe y descárguelos de los enlaces en la sección "El software" en la página Programación del BluChip de MakerChips con CMSIS-DAP y Keil.

Instale Keil, luego siga los pasos 1-3 en la sección "Creación del archivo hexadecimal".

En este punto, puede continuar con el Paso 4, Reconstrucción de todos los archivos de destino.

Si obtiene un error con respecto a "core_cm0.h", deberá agregar su ruta al proyecto para compilarlo.

Simplemente tendríamos que buscar el archivo y ubicar su directorio, que es "\ components / toolchain / gcc".

Incluyamos este camino a nuestro proyecto. Haga clic en Opciones de destino, vaya a la pestaña C / C ++ y luego incluya la ruta como se muestra en la Figura 16.

Después de incluir las dependencias necesarias, nuestro proyecto se compila y ahora podemos ver la salida compilada, un archivo hexadecimal personalizado en "nRF51_SDK_10.0.0_dc26b5e / examples / ble_peripheral / ble_app_ahc-master / bluchip / s110_with_dfu / arm4 / _buildnrf51422_10.hex_s1".

Para actualizar el archivo hexadecimal en el BluChip, siga los pasos del 1 al 8 en la sección "Transferencia del archivo hexadecimal".

Ahora que ha cargado el firmware en el BluChip con un nombre de dispositivo personalizado, inicie la aplicación nRF Connect y busque su dispositivo. ¡Notará que ahora tiene el nombre de lo que ha definido en DEVICE_NAME en el firmware!

En el siguiente paso, comenzaremos a configurar el hardware, la electrónica y el software de nuestro sistema automatizado de cortinas para el hogar.

Paso 5: construcción de cortinas automatizadas

Image
Image
Construyendo las cortinas automatizadas
Construyendo las cortinas automatizadas
Construyendo las cortinas automatizadas
Construyendo las cortinas automatizadas
Construyendo las cortinas automatizadas
Construyendo las cortinas automatizadas

Después de haber revisado el proceso de compilación y actualización de nuestro firmware, ¡pasemos a construir nuestras propias cortinas bluetooth!

Se utilizará un motor paso a paso para impulsar una correa de distribución que abre y cierra las cortinas. El motor paso a paso es impulsado por un controlador IC Half-H que será controlado por el BluChip.

Para energía, usaremos un regulador de voltaje de 12V AC-DC que se alimenta al motor, junto con un regulador de voltaje DC-DC LM317 para reducir 12V a 3.3V que alimentará el BluChip y Stepper Driver IC.

Puede obtener su propio módulo BluChip en la nueva tienda de MakerChips en Tindie o en el sitio web de MakerChips.

Consigamos las piezas que se enumeran a continuación además del kit BluChip Explorer para comenzar a ensamblar las cortinas automáticas:

  • Adaptador de corriente 12V 1A $ 3.40
  • Gato de barril $ 0,68
  • Regulador de voltaje LM317T $ 0.80
  • Resistencias (200 y 330 ohmios) $ 1.69
  • Controlador paso a paso L293D $ 1.63
  • Motor paso a paso unipolar $ 8,00 (o $ 1,66 <= modificar este unipolar más pequeño en un paso a paso bipolar)
  • Correa de distribución de 6 mm $ 7.31
  • Engranaje de 6 mm $ 0.54 (o imprimible en 3D desde Thingiverse)
  • Polea de 6 mm $ 1.17 (o imprimible en 3D de Thingiverse)
  • Interruptor de límite x2 (opcional) $ 1.34
  • Caja de cierre del proyecto (opcional) $ 1.06
  • Cables de puente de tablero $ 2.09
  • Cables de puente Dupont $ 2.80
  • Bandas de goma $ 1.13
  • Twist Ties $ 3.22
  • Cable 22 AWG (opcional) $ 1.22
  • Bridas (opcional) $ 0.63
  • Tubo retráctil (opcional) $ 1.97

Herramientas (opcional):

  • Pistola de pegamento caliente $ 3.75
  • Hierro de soldadura $ 6.79

Descargar lista de materiales de GitHub (Amazon)

La Figura 20 muestra cómo va a conectar el sistema, dependiendo de las características que elija agregar. Si desea un movimiento más preciso, agregaría interruptores de límite al proyecto.

Los interruptores de límite son puntos finales de las cortinas que le dicen al BluChip cuando se abre o se cierra. Sin los interruptores de límite, necesitaría configurar el firmware para indicar qué tan lejos se mueven las cortinas en la próxima sección "Configuración del firmware".

La Figura 20 también incluye una fotorresistencia opcional que permite la detección diurna y nocturna, también configurable en la sección "Configuración de firmware".

Comience a ensamblar el hardware montando el motor paso a paso, la polea y la correa de distribución en la parte superior de las cortinas. (Figura 21)

Tense temporalmente la correa de distribución con una banda de goma. Más tarde, antes de completar el proyecto, lo atará con cremallera para mantenerlo permanentemente.

Para sujetar las cortinas a su correa de distribución, coloque las ataduras de alambre alrededor del cinturón y el gancho de la cortina.

Para tener una mejor idea de cómo enganchar las cortinas a la correa, siga la Figura 22. Deberá atar la cortina izquierda a la parte trasera de la correa de distribución con una atadura de cables y la cortina derecha a la parte delantera de la correa de distribución. con una atadura de alambre.

Una vez que tenga el cinturón asegurado y la cortina atada, retire el motor paso a paso para que podamos comenzar a ensamblar y probar el circuito electrónico que lo impulsará. Comience a construir la electrónica colocando el regulador de voltaje Bluchip, L293d IC y LM317t en la placa de pruebas de acuerdo con a la Figura 20.

Inserte las resistencias de 200 y 330 ohmios de acuerdo con la Figura 20. Las resistencias ajustan la salida del LM317 para que proporcione ~ 3.3V. (Figura 24)

Inserte el cable de puente y luego un conector de barril cableado como se muestra en la Figura 26.

Conectemos nuestro adaptador de corriente a la toma de corriente y conectemos el adaptador a la toma de barril para probar los voltajes como se ve en la Figura 27.

Una vez que se hayan determinado los voltajes correctos, retire el enchufe de alimentación y comience a colocar los cables de puente restantes de la placa de pruebas de acuerdo con la Figura 20.

A continuación, vamos a conectar nuestro motor paso a paso bipolar al IC L293d.

Primero, coloque los cables de puente Dupont en el conector del motor paso a paso como se muestra en la Figura 29.

Para saber qué cable va a dónde, siga el esquema de la Figura 30.

Como se ve en el esquema, los cables de una bobina van al Pin2 y Pin6 del L293D. Los cables de la otra bobina van a Pin11 y Pin14.

El motor paso a paso bipolar 28BYJ-48 modificado tiene cuatro cables de colores utilizables como se ve en la Figura 31.

Conectamos azul a Pin3, amarillo a Pin6, naranja a Pin11 y rosa a Pin14 en el L293d.

¡El circuito básico ahora está completo!

Si desea implementar interruptores de límite, conecte los cables NO y C a un cable 22AWG. En el otro extremo, conecte puentes de DuPont para formar cables que encajen en la placa de pruebas. (Figura 32)

Puede montarlos en el riel de la cortina como se muestra en la Figura 33 con bandas de goma, o si tiene una pistola de pegamento caliente a mano, puede atarla al riel y luego aplicar una buena cantidad de pegamento caliente para asegurarse de que no se mueva alrededor.

Para tener una idea de dónde colocarlos, consulte la Figura 34.

Un interruptor de límite está conectado al extremo izquierdo del riel de la cortina, entre el primer gancho del riel y el segundo, de modo que cuando las cortinas se abren, el gancho presiona contra el interruptor y lo activa. El otro interruptor de límite se coloca directamente en el centro del riel, mirando hacia la izquierda. De esta forma, se activa cuando se cierran las cortinas.

Inserte los cables del interruptor de límite en la placa de pruebas de acuerdo con la Figura 20.

Por último, si desea que las cortinas se abran cuando salga el sol y se cierren cuando se pone, deberá conectar la fotorresistencia como se muestra en la Figura 36 y colocarla cerca de donde tenga acceso a la luz solar durante el amanecer.

Una vez que haya terminado con la configuración del circuito de la placa de pruebas, prepárese y conecte su programador al BluChip para actualizar el firmware. Descargue el firmware de GitHub y extráigalo en su directorio SDK como lo hizo antes.

Descarga ble_app_ahc.zip desde Github.

Abra el proyecto, luego compile y cargue el firmware en el BluChip.

Antes de probarlo, encerraremos la placa de pruebas en una caja y haremos agujeros para los cables y nuestro LED de estado de la cortina.

Coloque la placa de pruebas en la base de la caja del recinto y haga una abertura para los cables. La apertura también sirve como un punto para que el BluChip se comunique con otros dispositivos a través de su antena. (Figura 37)

Taladre un orificio del tamaño del LED en el lateral del gabinete y monte el LED en él. Conecte el LED de acuerdo con la Figura 20.

Encuentre un lugar adecuado para montar la caja del gabinete a la izquierda del riel de la cortina, cerca de una toma de corriente. Vuelva a montar el motor y haga una prueba final de tensión de la correa de distribución, asegurándose de que no haya holgura. (Figura 39)

Ahora es el momento de probar nuestro sistema ensamblado. Inserte el adaptador de corriente y encienda su aplicación nRF Connect. Descubrirá un dispositivo llamado Curtains. BluChip.

Conéctese a él, envíe un valor de UINT8 1 (Cortinas abiertas) a la Característica desconocida en Servicio desconocido y observe cómo se abren las cortinas.

Ahora que ha probado con éxito su sistema, echemos un vistazo a la configuración del código que ejecuta el programa en el BluChip.

Paso 6: Configuración del firmware de BluChip

Configuración del firmware de BluChip
Configuración del firmware de BluChip
Configuración del firmware de BluChip
Configuración del firmware de BluChip
Configuración del firmware de BluChip
Configuración del firmware de BluChip

El proyecto de firmware de Automated Home Curtain consta principalmente de 4 archivos: main.c, ahc.c, ble_ahc_service.c y ble_ahc_service.h.

Mientras construíamos la electrónica y el hardware, tuvimos la opción de elegir si queríamos interruptores de límite para aumentar la precisión de nuestro sistema automatizado.

En el código de ahc.h, podemos ver #define para LIMIT_SWITCHES.

La compilación y el parpadeo del código con #define LIMIT_SWITCHES permite el uso de ambos interruptores de límite para detectar cuando las cortinas se han abierto y cerrado.

Es necesario cambiarle el nombre a #undef LIMIT_SWITCHES si optó por no incluir interruptores de límite para su proyecto. En este caso, necesitaría ajustar la distancia a la que viaja su cortina en las variables CURTAIN_OPEN_STEPS y CURTAIN_CLOSE_STEPS. Ajuste estos valores para alargar o acortar la distancia de recorrido de la cortina.

La otra opción, agregar una fotorresistencia, se puede habilitar modificando #undef LDR a #define LDR. LDR significa resistencia dependiente de la luz, también conocida como fotorresistencia. Cuando habilitamos LDR, la fotorresistencia sabe cuándo es brillante u oscuro afuera y lo ayuda a cerrar o abrir las cortinas al comienzo o al final del día.

Además de configurar los interruptores de límite y la fotorresistencia, echemos un vistazo a algunos de los otros bloques principales de código que le permiten abrir y cerrar las cortinas automáticamente.

Los archivos ble_ahc_service.c y ble_ahc_service.h contienen código que transmite datos desde su teléfono al BluChip.

Cuando el BluChip recibe los datos, los analiza según se envíe un 0 o un 1. Luego activa el LED de estado, realiza el movimiento del motor y luego desactiva el LED que indica la finalización.

La función ahc_init () de ahc.h se ejecuta al comienzo del bucle principal, inicializando todos los pines del BluChip.

Paso 7: Resumen

Para concluir, este fue un proyecto extremadamente divertido y bastante fácil para aprender los conceptos básicos de BLE. El hecho de que el módulo de conexión de BluChip se ajuste perfectamente a una placa de pruebas hace que sea realmente fácil crear prototipos rápidamente en cualquier placa de pruebas que pueda tener.

Diría que después de construir mis cortinas automatizadas, ya he pensado en varias otras cosas con las que conectar el BluChip, incluidos neopíxeles inteligentes, un OLED para crear un reloj digital, un robot controlado por teléfono inteligente y muchos otros proyectos electrónicos de baja potencia. ideas que necesitarían una comunicación inalámbrica compacta!

Cualquiera que tenga un gran interés en la electrónica y la programación se sorprenderá gratamente de lo que ofrece el BluChip, así como de la conveniencia de configurar e implementar BLE para convertir los proyectos en proyectos aún mejores.

A partir de ahora, volveré a disfrutar de mis prácticas cortinas para el hogar automatizadas.

Recomendado: