Índice:

Cortinas residenciais automatizadas - Miniprojeto com MakerChips’BluChip (nRF51 BLE) Módulo: 7 etapas (com imagens)
Cortinas residenciais automatizadas - Miniprojeto com MakerChips’BluChip (nRF51 BLE) Módulo: 7 etapas (com imagens)

Vídeo: Cortinas residenciais automatizadas - Miniprojeto com MakerChips’BluChip (nRF51 BLE) Módulo: 7 etapas (com imagens)

Vídeo: Cortinas residenciais automatizadas - Miniprojeto com MakerChips’BluChip (nRF51 BLE) Módulo: 7 etapas (com imagens)
Vídeo: 6 DICAS - Como COMEÇAR CORRETAMENTE sua Casa Inteligente desde o Início 2024, Novembro
Anonim
Cortinas residenciais automatizadas - Miniprojeto com módulo BluChip da MakerChips (nRF51 BLE)
Cortinas residenciais automatizadas - Miniprojeto com módulo BluChip da MakerChips (nRF51 BLE)

Imagine acordar e querer receber um raio de sol pelas janelas, ou fechar as cortinas para dormir mais, sem o esforço de se aproximar das cortinas, mas sim com o toque de um botão do smartphone. Com o sistema automatizado de cortina residencial, você consegue isso com componentes que custam não mais do que US $ 90!

Veja este tutorial no Github

Etapa 1: o design

O design
O design

No coração do Automated Home Curtain System está o módulo BluChip da MakerChips.

O BluChip é um minúsculo módulo Bluetooth de 16,6x11,15mm que pode servir como periférico para smartphones via BTLE.

Clique aqui para obter uma introdução ao Bluetooth Low Energy (BTLE).

O módulo consiste em um nRF51 SoC da Nordic Semiconductors, uma ótima plataforma para aplicativos BLE, pois suporta muitos recursos integrados em aplicativos Android e Apple.

Etapa 2: Kit BluChip Explorer

BluChip Explorer Kit
BluChip Explorer Kit
BluChip Explorer Kit
BluChip Explorer Kit
BluChip Explorer Kit
BluChip Explorer Kit

Para construir este projeto, peguei o BluChip Explorer Kit da MakerChips que chegou em 2 caixas separadas, uma para o programador CMSIS-DAP e outra caixa contendo o BluChip em uma placa de ensaio com 2 LEDs RGB, um foto-resistor e uma bateria CR2032.

Como você notou, o módulo BluChip é extremamente minúsculo, tornando-o perfeito para pequenos projetos Bluetooth embutidos de baixa potência. Ele cabe em uma pegada de apenas 6x4 0,1 "cabeçalhos em uma placa de ensaio e tem cabeçalhos adicionais de 0,05" na parte superior da placa, bastante impressionante para um pacote comercialmente certificado pela FCC!

Aqui estão alguns recursos-chave do BluChip do site da MakerChips:

  • 14 pinos GPIO acessíveis
  • Processador ARM Cortex M0 de 32 bits e 256 KB de flash e 32 KB de RAM
  • 16,6 mm x 11,15 mm Menor módulo Bluetooth ® breadboardable disponível
  • A fonte de alimentação suporta 1,8 V - 3,6 V
  • Recursos Bluetooth

    • BTLE - Bluetooth de baixa energia - (BLE, BT 4.1)
    • Bluetooth® e Japão, FCC, qualificado por IC
    • Relógio do sistema integrado de 32 MHz
    • Potência de saída: + 4dBm típico
    • Frequência: 2.402 a 2.480 MHz

      Antena de padrão de alto desempenho integrada

    • Modo único Bluetooth® Smart Slave / Master
  • Interfaces com suporte: SPI, UART, I2C e 8/9 / 10bit ADC
  • Dois conjuntos de pinos de programação

    • Cabeçalhos de 0,05 "para fácil acoplamento a dispositivos CMSIS-DAP e J-Link
    • .1 "cabeçalhos para interface com placas de ensaio
  • LED vermelho controlável por software

Etapa 3: Aplicativo NRF Connect

Image
Image
Aplicativo NRF Connect
Aplicativo NRF Connect
Aplicativo NRF Connect
Aplicativo NRF Connect

Assim que você abre a caixa do BluChip explorer, você a vê ganhando vida com LEDs piscando, uma visão fascinante, não é?

Para ver o que está reservado para este módulo BLE, vamos prosseguir e instalar o aplicativo nRF Connect do Google Play ou App Store.

Vamos nos conectar ao BluChip com nosso telefone, então abra o aplicativo nRF Connect, navegue pela tela de boas-vindas e toque em Habilitar para ligar o Bluetooth. Em seguida, toque em Scan e você logo descobrirá que seu dispositivo BluChip está listado na guia Scanner.

Antes de realmente conectarmos ao BluChip, vamos pegar um LED e colocá-lo na placa de ensaio ao lado dos pinos 026 (+ ve) e 021 (-ve). O LED deve acender imediatamente porque o pino 026 produz 3,3 V (nível lógico ALTO), enquanto o pino 021 é lógico BAIXO (terra).

Vá em frente e toque em conectar para estabelecer uma conexão entre seu smartphone e o BluChip, que o leva para a guia do cliente do dispositivo no aplicativo.

A guia do cliente BluChip exibe todos os serviços disponíveis em seu dispositivo. O que estamos interessados aqui é o serviço BlueChip GPIO (listado como Serviço desconhecido). Toque nele e, em seguida, toque na seta voltada para cima ao lado da Característica de modulação GPIO (listada como Característica desconhecida).

Um pop-up de valor de gravação aparecerá, oferecendo a opção de enviar dados para seu dispositivo BluChip. No nosso caso, queremos desligar o LED, então toque na seta ao lado de BYTE ARRAY e altere o formato dos dados para UINT 8. Estaremos enviando o número do pino como o primeiro valor, então insira 21 para o pino021. Toque em adicionar valor para enviar a próxima parte dos dados, cujo estado o pino deve ser definido (formato BYTE hexadecimal). Para desligar o LED, definiremos o pino 021 para 3,3 V (nível lógico alto), então insira 01 e toque em Enviar.

O LED apaga instantaneamente! Para ligar o LED novamente, envie um valor de 0x00 (nível lógico BAIXO) para o pino021. Conforme visto abaixo da característica listada, o valor enviado de (0x) 15-01 é exibido. {[(UINT8 decimal) 21 = (BYTE hexadecimal) 0x15] + (BYTE hexadecimal) 0x01 => (BYTE hexadecimal) 0x1501}

Se você escolher salvar esses valores no pop-up Gravar valor, dando a ele um nome e tocando em salvar, você pode carregá-los no futuro como predefinições para facilitar a modulação GPIO!

Etapa 4: Programando o BluChip

Programando o BluChip
Programando o BluChip
Programando o BluChip
Programando o BluChip
Programando o BluChip
Programando o BluChip

Você deve ter notado no vídeo acima que o nome do dispositivo BluChip no meu telefone é diferente do seu, então como faremos para alterá-lo para nosso próprio gosto?

O firmware do aplicativo em execução no BluChip serve como um dispositivo periférico (escravo) sobre BLE para dispositivos centrais (mestre), como smartphones conectados a ele. Para mudar o nome do nosso dispositivo, vamos nos aprofundar na atualização do firmware do aplicativo em nosso BluChip.

Incluído com o kit BluChip Explorer está o ARM Programmer (CMSIS-DAP). A MakerChips forneceu um guia prático simples sobre os detalhes de atualização do firmware no BluChip com o CMSIS-DAP.

Para compilar o firmware em um arquivo hexadecimal e atualizá-lo, precisaremos do Keil, do nRF51 Software Development Kit (SDK) e do firmware BluChip. Vá em frente e baixe-os dos links na seção "O Software" na página MakerChips 'Programming the BluChip com CMSIS-DAP e Keil.

Instale o Keil e siga as etapas 1-3 na seção "Criando o arquivo hexadecimal".

Neste ponto, você pode continuar para a Etapa 4, Reconstruindo todos os arquivos de destino.

Se você obtiver um erro relacionado a "core_cm0.h", precisará adicionar seu caminho ao projeto para compilá-lo.

Simplesmente precisaríamos pesquisar o arquivo e localizar seu diretório, que é "\ components / toolchain / gcc".

Vamos incluir este caminho em nosso projeto. Clique em Options for Target, vá para a guia C / C ++ e inclua o caminho conforme mostrado na Figura 16.

Depois de incluir as dependências necessárias, nosso projeto é compilado e agora podemos ver a saída compilada, um arquivo hexadecimal personalizado em "nRF51_SDK_10.0.0_dc26b5e / examples / ble_peripheral / ble_app_ahc-master / bluchip / s110_with_dfu / arm4 / _buildnrf51422_xxac_s110.hex".

Para atualizar o arquivo hexadecimal no BluChip, siga as etapas 1 a 8 na seção "Transferindo o arquivo hexadecimal".

Agora que você carregou o firmware no BluChip com um nome de dispositivo personalizado, inicie o aplicativo nRF Connect e procure seu dispositivo. Você notará que agora ele tem o nome do que definiu no DEVICE_NAME no firmware!

Na próxima etapa, começaremos a configurar o hardware, a eletrônica e o software de nosso sistema automatizado de cortina doméstica.

Etapa 5: Construindo as cortinas automatizadas

Image
Image
Construindo as cortinas automatizadas
Construindo as cortinas automatizadas
Construindo as cortinas automatizadas
Construindo as cortinas automatizadas
Construindo as cortinas automatizadas
Construindo as cortinas automatizadas

Depois de revisar o processo de compilar e atualizar nosso firmware, vamos começar a construir nossas próprias cortinas bluetooth!

Um motor de passo será usado para acionar uma correia dentada que move as cortinas abertas e fechadas. O motor de passo é acionado por um CI de driver Half-H que será controlado pelo BluChip.

Para alimentação, usaremos um regulador de tensão 12V AC-DC que alimenta o motor, junto com um regulador de tensão LM317 DC-DC para reduzir 12V para 3,3V que alimentará o BluChip e o IC do driver de passo.

Você pode obter seu próprio módulo BluChip na nova loja da MakerChips em Tindie ou no site da MakerChips.

Vamos obter as peças listadas abaixo, além do kit BluChip Explorer para começar a montar as cortinas automáticas:

  • Adaptador de energia 12V 1A $ 3,40
  • Barrel Jack $ 0,68
  • Regulador de tensão LM317T $ 0,80
  • Resistores (200 e 330 Ohm) $ 1,69
  • Driver L293D Stepper $ 1,63
  • Motor de passo unipolar $ 8,00 (ou $ 1,66 <= modificar este unipolar menor em um motor de passo bipolar)
  • Correia dentada de 6 mm $ 7,31
  • 6mm Gear $ 0,54 (ou impressão 3D da Thingiverse)
  • Polia de 6 mm $ 1,17 (ou impressão 3D da Thingiverse)
  • Chave de limite x2 (opcional) $ 1,34
  • Caixa de proteção do projeto (opcional) $ 1,06
  • Fios de jumper de tábua de pão $ 2,09
  • Dupont Jumper Wires $ 2,80
  • Bandas de borracha $ 1,13
  • Gravatas Twist $ 3,22
  • Fio 22 AWG (opcional) $ 1,22
  • Gravatas (opcional) $ 0,63
  • Tubo retrátil (opcional) $ 1,97

Ferramentas (opcional):

  • Pistola de cola quente $ 3,75
  • Ferro de solda $ 6,79

Baixe a lista de materiais do GitHub (Amazon)

A Figura 20 mostra como você vai conectar o sistema, dependendo dos recursos que você escolher adicionar. Se você quiser um movimento mais preciso, adicione interruptores de limite ao projeto.

Os interruptores de limite são pontos finais para as cortinas que informam ao BluChip quando ele é aberto ou fechado. Sem as chaves de limite, você precisaria configurar o firmware para indicar a distância que as cortinas se movem na próxima seção "Configuração do firmware".

A Figura 20 também inclui um resistor de foto opcional que permite a detecção diurna e noturna, também configurável na seção "Configuração do firmware".

Comece a montagem do hardware montando o motor de passo, a polia e a correia dentada na parte superior das cortinas. (Figura 21)

Estique temporariamente a correia dentada com elástico. Mais tarde, antes de concluir o projeto, você vai amarrá-lo com zíper para prendê-lo permanentemente.

Para prender as cortinas à sua correia dentada, amarre os laços de arame em volta do cinto e do gancho da cortina.

Para ter uma ideia melhor de como prender as cortinas ao cinto, siga a Figura 22. Você amarrará a cortina esquerda na parte traseira da correia dentada com um atilho de arame e a cortina direita na frente da correia dentada com um laço de arame.

Depois de prender o cinto e amarrar a cortina, remova o motor de passo para que possamos começar a montar e testar o circuito eletrônico que irá acioná-lo. Comece a construir os eletrônicos colocando o Bluchip, o IC L293d e o regulador de tensão LM317t na placa de ensaio de acordo com à Figura 20.

Insira os resistores de 200 e 330 ohms de acordo com a Figura 20. Os resistores ajustam a saída do LM317 para que forneça ~ 3,3V. (Figura 24)

Insira o fio do jumper e, em seguida, uma tomada cilíndrica com fio, conforme mostrado na Figura 26.

Vamos conectar nosso adaptador de alimentação à tomada da parede e conectar o adaptador na tomada cilíndrica para testar as tensões, conforme mostrado na Figura 27.

Uma vez que as tensões corretas foram verificadas, remova o conector de alimentação e comece a colocar os fios de jumper restantes da placa de ensaio de acordo com a Figura 20.

A seguir, conectaremos nosso motor de passo bipolar ao IC L293d.

Primeiro, coloque os fios do jumper Dupont no conector do motor de passo, conforme mostrado na Figura 29.

Para saber qual fio vai para onde, siga o esquema na Figura 30.

Como visto no esquema, os fios de uma bobina vão para os pinos 2 e 6 do L293D. Os fios da outra bobina vão para Pin11 e Pin14.

O motor de passo bipolar 28BYJ-48 modificado tem quatro fios coloridos utilizáveis, como visto na Figura 31.

Conectamos o azul ao Pin3, o amarelo ao Pin6, o laranja ao Pin11 e o rosa ao Pin14 no L293d.

O circuito básico agora está completo!

Se você deseja implementar interruptores de limite, conecte os condutores NO e C a algum fio 22AWG. Na outra extremidade, conecte os jumpers da DuPont para formar as pontas que se encaixam na placa de ensaio. (Figura 32)

Você pode montá-los no trilho da cortina conforme mostrado na Figura 33 com elásticos ou, se tiver uma pistola de cola quente em mãos, pode prendê-lo no trilho e depois aplicar uma boa quantidade de cola quente para garantir que não se mova por aí.

Para ter uma ideia de onde colocá-los, consulte a Figura 34.

Um interruptor de limite é preso na extremidade esquerda do trilho da cortina, entre o primeiro gancho do trilho e o segundo, de modo que, quando as cortinas abrem, o gancho pressiona o interruptor e o ativa. O outro interruptor de limite é colocado diretamente no centro do trilho, voltado para a esquerda. Dessa forma, ele é ativado quando as cortinas fecham.

Insira os cabos do interruptor de limite na placa de ensaio de acordo com a Figura 20.

Finalmente, se você quiser que suas cortinas abram quando o sol nasce e fechem quando ele se põe, você precisa conectar o resistor fotográfico, conforme mostrado na Figura 36, e colocá-lo perto de onde tenha acesso à luz solar durante o amanhecer.

Depois de concluir a configuração do circuito da placa de ensaio, prepare-se e conecte seu programador ao BluChip para atualizar o firmware. Baixe o firmware do GitHub e extraia-o em seu diretório SDK como você fez antes.

Baixe ble_app_ahc.zip do Github.

Abra o projeto, compile e carregue o firmware para o BluChip.

Antes de testá-lo, colocaremos a placa de ensaio em uma caixa e faremos orifícios para os fios e nosso LED de status da cortina.

Coloque a placa de ensaio na base da caixa de proteção e faça uma abertura para os fios. A abertura também serve como um ponto para o BluChip se comunicar com outros dispositivos por meio de sua antena. (Figura 37)

Faça um orifício do tamanho do LED na lateral do gabinete e monte o LED nele. Conecte o LED de acordo com a Figura 20.

Encontre um local adequado para montar a caixa do gabinete à esquerda do trilho da cortina, perto de uma tomada elétrica. Remonte o motor e faça um teste final de tensão da correia dentada, certificando-se de que não haja folga. (Figura 39)

Agora é hora de testar nosso sistema montado. Insira o adaptador de energia e inicie o aplicativo nRF Connect. Você descobrirá um dispositivo chamado Curtains. BluChip.

Conecte-se a ele, envie um valor de UINT8 1 (Cortinas abertas) para a Característica Desconhecida no serviço Desconhecida e observe as cortinas abrirem!

Agora que você testou seu sistema com sucesso, vamos dar uma olhada na configuração de alguns dos códigos que estão executando o programa no BluChip.

Etapa 6: Configuração do Firmware BluChip

Configuração de Firmware BluChip
Configuração de Firmware BluChip
Configuração de Firmware BluChip
Configuração de Firmware BluChip
Configuração de Firmware BluChip
Configuração de Firmware BluChip

O projeto de firmware Automated Home Curtain consiste principalmente em 4 arquivos: main.c, ahc.c, ble_ahc_service.c & ble_ahc_service.h.

Ao construir a eletrônica e o hardware, tivemos a opção de escolher se queríamos interruptores de limite para aumentar a precisão do nosso sistema automatizado.

No código do ahc.h, podemos ver #define para LIMIT_SWITCHES.

Compilar e piscar o código com #define LIMIT_SWITCHES permite o uso de ambos os interruptores de limite para detectar quando as cortinas foram abertas e fechadas.

Renomeá-lo para #undef LIMIT_SWITCHES é necessário se você optou por não incluir interruptores de limite para seu projeto. Neste caso, você precisaria ajustar a distância para a qual sua cortina viaja nas variáveis CURTAIN_OPEN_STEPS e CURTAIN_CLOSE_STEPS. Ajuste esses valores para aumentar ou diminuir a distância de percurso da cortina.

A outra opção, adicionar um fotorresistor, pode ser habilitada modificando #undef LDR para #define LDR. LDR significa resistor dependente de luz, também conhecido como fotorresistor. Quando ativamos o LDR, o fotorresistor sabe quando está claro ou escuro do lado de fora e ajuda você a fechar ou abrir as cortinas no início ou no final do dia.

Além de configurar as chaves de limite e o fotorresistor, vamos dar uma olhada em alguns dos outros blocos principais de código que permitem abrir e fechar as cortinas automaticamente.

Os arquivos ble_ahc_service.c & ble_ahc_service.h contêm código que transmite dados do seu telefone para o BluChip.

Quando o BluChip recebe os dados, ele os analisa de acordo com o envio de 0 ou 1. Em seguida, ele ativa o LED de status, executa o movimento do motor e, em seguida, desativa a conclusão da sinalização do LED.

A função ahc_init () de ahc.h é executada no início do loop principal, inicializando todos os pinos no BluChip.

Etapa 7: Resumo

Para concluir, este foi um projeto extremamente divertido e bastante fácil de aprender o básico da BLE. O fato de que o módulo de breakout do BluChip se encaixa perfeitamente em uma protoboard torna realmente fácil prototipar rapidamente em qualquer protoboard que você possa ter ao redor.

Eu diria que depois de construir minhas cortinas automatizadas, já pensei em várias outras coisas para conectar o BluChip, incluindo neopixels inteligentes, um OLED para criar um relógio digital, um robô controlado por smartphone e muitos outros projetos eletrônicos de baixa potência ideias que precisariam de comunicação sem fio compacta!

Qualquer pessoa com um grande interesse em eletrônica e programação ficaria agradavelmente surpreso com o que o BluChip tem a oferecer, bem como a conveniência de configurar e implementar BLE para transformar projetos em outros ainda mais legais.

A partir de agora, vou voltar a desfrutar das minhas práticas Cortinas Domésticas automatizadas.

Recomendado: