Índice:

Adafruit Feather NRF52 controles personalizados, sem necessidade de codificação: 8 etapas (com imagens)
Adafruit Feather NRF52 controles personalizados, sem necessidade de codificação: 8 etapas (com imagens)

Vídeo: Adafruit Feather NRF52 controles personalizados, sem necessidade de codificação: 8 etapas (com imagens)

Vídeo: Adafruit Feather NRF52 controles personalizados, sem necessidade de codificação: 8 etapas (com imagens)
Vídeo: Arduino: Burning the Bootloader on Adafruit Feather 32u4 (2 Solutions!!) 2024, Julho
Anonim
Adafruit Feather NRF52 controles personalizados, nenhuma codificação necessária
Adafruit Feather NRF52 controles personalizados, nenhuma codificação necessária
Adafruit Feather NRF52 controles personalizados, nenhuma codificação necessária
Adafruit Feather NRF52 controles personalizados, nenhuma codificação necessária
Adafruit Feather NRF52 controles personalizados, nenhuma codificação necessária
Adafruit Feather NRF52 controles personalizados, nenhuma codificação necessária
Adafruit Feather NRF52 controles personalizados, nenhuma codificação necessária
Adafruit Feather NRF52 controles personalizados, nenhuma codificação necessária

Atualização de 23 de abril de 2019 - Para gráficos de data / hora usando apenas Arduino millis (), consulte Arduino Date / Time Plotting / Logging using Millis () e PfodApp. usando Arduino millis ()

Atualização de 28 de novembro de 2017 - Usando o complemento da placa IDE Adafruit Feather nRF52 Arduino V0.7.5, os pinos TX e RX são trocados. (veja os comentários abaixo para o código de teste). Este instrutível não usa os pinos TX / RX.

Leia isto primeiro

Leia isto primeiro - você realmente precisa de BLE? - Problemas BLE e como corrigi-los

Introdução

Adafruit Feather nRF52 é uma placa BLE (Bluetooth Low Energy) com suporte para Bluetooth V5. Cada placa BLE diferente tem sua própria biblioteca de suporte, pinagens e recursos que podem dificultar sua instalação e operação.

Este tutorial cobre a criação de controles personalizados em seu celular Android para o Adafruit Feather nRF52. Ele usa o pfodDesigner V3.3221 + gratuito para criar menus personalizados de vários níveis, gráficos e registro de dados que podem ser exibidos no pfodApp (um aplicativo pago).

O pfodDesigner gera todo o código Arduino necessário para o Adafruit Feather nRF52.

O pfodApp de propósito geral lida com a exibição e interação do usuário em seu celular Android. Nenhuma programação Android é necessária.

O que é exibido para o usuário em seu celular é completamente controlado pelo código que você carrega em seu Feather52. Mesmo se você decidir não usar o pfodApp, o pfodDesigner gratuito ainda irá gerar um código de modelo que permite que você configure uma conexão 'uart' nórdica para sua placa Feather52.

pfodDesignerV3.3221 + exibe a seleção exclusiva de pinos de placa do Feather52 quando você escolhe a qual pino conectar um item de menu.

Este instrutível também está disponível online Adafruit Feather nRF52 LE - Controles personalizados com pfodApp

Etapa 1: Lista de peças

Preços em novembro de 2017, excluindo frete

  • Adafruit Feather nRF52 LE - ~ US $ 25
  • USB A para Micro B - ~ US $ 3
  • Arduino IDE V1.8.5 - grátis
  • aplicativo pfodDesignerV3 Android - grátis
  • pfodApp V3 - ~ US10
  • Aplicativo de transferência de arquivos (ou cabo) - por exemplo, Wifi File Transfer (gratuito) ou Wifi File Transfer Pro ~ US $ 3
  • Um celular Android para executar os aplicativos - precisa ser compatível com Bluetooth Low Energy V4, ou seja, rodando Android V4.4 ou superior.
  • Um computador para executar o IDE Arduino

Instale o Arduino IDE em seu computador e, em seguida, baixe e instale o Board Manager para o Adafruit Feather nRF52. Verifique se você pode conectar e programar sua placa Feather nRF52.

Etapa 2: Criação de menus personalizados do Android para Adafruit BLE Feather52 e geração do código

Criando os menus personalizados do Android para Adafruit BLE Feather52 e gerando o código
Criando os menus personalizados do Android para Adafruit BLE Feather52 e gerando o código

O aplicativo gratuito pfodDesignerV3 V3.3221 + Android permite criar menus personalizados e, em seguida, gerar todo o código para o seu módulo BLE específico. O pfodApp é então usado para exibir seu menu personalizado em seu celular Android e permitir que você controle seu módulo. Nenhuma codificação Android ou Arduino é necessária.

O pfodDesignerV3 gratuito é usado para criar o menu no estilo WISIWYG e mostrar a você uma visualização precisa de como o menu ficará no seu celular. O pfodDesignerV3 permite que você crie menus e submenus com botões e controles deslizantes, opcionalmente conectados a pinos de E / S, e gere o código de esboço para você (veja os tutoriais de exemplo do pfodDesigner), mas o pfodDesignerV3 não cobre todos os recursos que o pfodApp suporta. Consulte o pfodSpecification.pdf para uma lista completa, incluindo primitivas dwg, registro e plotagem de dados, telas de seleção única e múltipla, controles deslizantes, entrada de texto, etc.

Crie o menu personalizado para controlar o LED vermelho Adafruit BLE Feather52

O tutorial Projete um menu personalizado para ligar e desligar o Led Arduino tem instruções passo a passo para criar este menu usando o pfodDesignerV3. Se você não gosta das cores dos tamanhos das fontes ou do texto, você pode editá-los facilmente no pfodDesignerV3 para o que quiser e ver uma exibição WYSIWYG (o que você vê é o que você obtém) do menu projetado. Há duas mudanças para faça para Adafruit BLE Feather52 e são i) defina Feather52 como o alvo para o gerador de código para o novo menu antes de adicionar o item de menu de controle Led e ii) em vez de selecionar um controle On / Off, um controle deslizante PWM é selecionado e a construção O LED VERMELHO está definido como o pino de saída.

Etapa 3: Escolhendo Adafruit Feather NRF52 como o alvo para a geração de código

Escolhendo Adafruit Feather NRF52 como o alvo para a geração de código
Escolhendo Adafruit Feather NRF52 como o alvo para a geração de código
Escolhendo Adafruit Feather NRF52 como o alvo para a geração de código
Escolhendo Adafruit Feather NRF52 como o alvo para a geração de código
Escolhendo Adafruit Feather NRF52 como o alvo para a geração de código
Escolhendo Adafruit Feather NRF52 como o alvo para a geração de código

Tendo iniciado um novo Menu no pfodDesigner, primeiro você precisa escolher Adafruit Feather nRF52 como o alvo para a geração do código. Quando você inicia um novo menu ou edita um menu existente, o botão superior mostra o Quadro de destino. O padrão é Serial.

Clique no botão Destino para abrir as seleções de Destino.

Escolha o botão Bluetooth de baixa energia. Há várias placas BLE suportadas, role para baixo para ver todas. Selecione o Adafruit Feather nRF52 como o alvo

Em seguida, use o botão Voltar do celular para sair da tela de seleções de destino e retornar à tela Editar menu.

Passo 4: Controle PWM do Led VERMELHO

Controle PWM de LED VERMELHO
Controle PWM de LED VERMELHO
Controle PWM de LED VERMELHO
Controle PWM de LED VERMELHO
Controle PWM de LED VERMELHO
Controle PWM de LED VERMELHO
Controle PWM de LED VERMELHO
Controle PWM de LED VERMELHO

Agora você pode continuar com o menu Design a Custom para ativar e desativar o tutorial do Led Arduino para gerar o código, exceto selecionar a saída PWM como o item de menu a ser adicionado.

Então, ao rolar para baixo para conectar um pino de I / O e clicar nele para alterar

Em seguida, role para baixo até a lista de pinos disponíveis para uso PWM no Feather52 e escolha o LED VERMELHO.

Complete o item de menu editando o Texto Principal, Definindo NEGRITO, Fundo VERMELHO e aumentando o tamanho da fonte para +5

Etapa 5: definir o prompt e gerar o código

Configurando o Prompt e Gerando o Código
Configurando o Prompt e Gerando o Código
Configurando o Prompt e Gerando o Código
Configurando o Prompt e Gerando o Código
Configurando o Prompt e Gerando o Código
Configurando o Prompt e Gerando o Código
Configurando o Prompt e Gerando o Código
Configurando o Prompt e Gerando o Código

Você pode então voltar ao menu principal e definir Edit Prompt para “Feather52” BOLD, tamanho da fonte +6 e um fundo branco.

Por fim, volte ao menu principal e visualize seu design antes de rolar para baixo para selecionar Gerar Código

Saia do pfodDesigner e transfira o arquivo de código (pfodAppRawData / pfodDesignerV3.txt) para o seu computador (consulte pfodAppForAndroidGettingStarted.pdf página 32)

Uma cópia do esboço do código gerado está aqui (Feather52_Led_Chart.ino) Programe seu Feather52 e, em seguida, crie uma conexão BLE em pfodApp e conecte-se à sua placa e exiba o controle deslizante para ajustar o LED VERMELHO. Ele será exibido exatamente como a visualização acima.

Etapa 6: Adicionando um gráfico ao menu de controle do Feather52

Adicionando um gráfico ao menu de controle do Feather52
Adicionando um gráfico ao menu de controle do Feather52
Adicionando um gráfico ao menu de controle do Feather52
Adicionando um gráfico ao menu de controle do Feather52
Adicionando um gráfico ao menu de controle do Feather52
Adicionando um gráfico ao menu de controle do Feather52

Usando o Led Controller como base, você pode adicionar mais itens de menu para ler ou controlar os outros pinos digitais e para ler, traçar e registrar as entradas analógicas, A0 por exemplo. Confira os vários tutoriais do pfodDesigner sobre como usar os vários itens de menu. O tutorial Como exibir dados do Arduino no Android para iniciantes cobre a criação de gráficos.

Abaixo está a visualização com um botão de gráfico adicionado e uma visualização do gráfico de A0 com alguns dados fictícios. Nota: A referência de voltagem padrão para ADC no Feather52 é 3,6 V, portanto, ao configurar o gráfico, “Edit Max Display” foi definido como 3,6, de modo que a leitura de 0 a 1023 foi escalada para 0 a 3,6 para registro e exibição.

O esboço gerado para esta exibição está aqui (Feather52_Led_Chart.ino)

Quando carregado em seu Feather52 e conectado ao seu celular, via pfodApp, você pode tocar o pino da placa A0 com o dedo para obter alguma leitura e mostrar um gráfico.

Além de plotar os valores analógicos, as leituras também são registradas, em formato CSV, em um arquivo no seu celular. Se você nomeou a conexão em pfodApp, como “Feather52”, conforme mostrado acima, então os dados CSV registrados são salvos no arquivo / pfodAppRawData / Feather52.txt. Você pode baixar este arquivo CSV para uso posterior.

Etapa 7: Adicionando um controle personalizado ao menu Feather52

Adicionando um controle personalizado ao menu Feather52
Adicionando um controle personalizado ao menu Feather52

pfodApp V3 adiciona primitivas dwg. Você pode usar estes primitivos: - retângulos, círculos, arcos, rótulos, zonas de toque, etc. para criar interfaces gráficas sofisticadas. Você pode até incluir um gráfico dentro de outro e escalá-lo e movê-lo. Consulte Custom Arduino Controls for Android para um tutorial sobre primitivos dwg. Consulte Arduino para iniciantes para obter exemplos de dimensionamento e panorâmica de uma IU gráfica.

O uso de gráficos primitivos oferece controle total sobre a exibição, mas requer mais trabalho para criar sua interface. A biblioteca pfodDwgControl fornece uma série de controles pré-construídos, botões liga / desliga, calibradores, controles deslizantes, você pode simplesmente inserir em seu gráfico. O pfodDesigner permite inserir um item de menu gráfico simples com apenas um botão liga / desliga para que o código gerado tenha um modelo que você pode modificar posteriormente para adicionar seus próprios gráficos.

Os gráficos são apenas mais um item de menu e podem ser adicionados a qualquer menu. Aqui está o código gerado para este menu, Feather52_Led_Chart_Dwg.ino Este esboço precisa que as bibliotecas pfodParser.zip e pfodDwgControls.zip sejam instaladas primeiro.

As interfaces gráficas podem receber várias mensagens para definir todas as primitivas, cores, rótulos, etc. usados. pfodApp limita cada mensagem do seu dispositivo a 1024 bytes, mas permite que um gráfico seja definido por várias mensagens. O código gerado tem capacidade para 2 mensagens, mas a segunda está apenas vazia e, portanto, o pfodApp sabe que não deve pedir uma terceira. Você pode estender isso para quantas mensagens você precisar para construir seu display. Arduino101 Starter, controlado por Android / pfodApp usa 8 mensagens. pfodApp armazena em cache o menu e qualquer gráfico contra a string de versão do analisador para que da próxima vez que você se conectar, você não precise enviar o gráfico inteiro novamente, apenas as atualizações, se houver.

Etapa 8: telas de amostra e outros controles personalizados

Amostras de telas e outros controles personalizados
Amostras de telas e outros controles personalizados
Amostras de telas e outros controles personalizados
Amostras de telas e outros controles personalizados

O pfodDesignerV3 suporta apenas um subconjunto de telas que o pfodApp suporta. Para obter uma lista completa, consulte o pfodSpecification.pdf. O esboço SampleAdafruitFeather52Screens.ino inclui telas adicionais suportadas por pfodApp, mas não incluídas no pfodDesigner. A maioria das telas não tem formatação para manter as mensagens claras e simples. Você pode adicionar suas próprias cores e estilos de fonte, usando o pfodDesignerV3 como um guia. Consulte também o aplicativo pfodDemo para Android para outros exemplos.

O esboço SampleAdafruitFeather52Screens.ino precisa que as bibliotecas pfodParser.zip e pfodDwgControls.zip sejam instaladas primeiro.

Uma das telas no SampleAdafruitFeather52Screens.ino inclui dois controles personalizados. Um controle deslizante personalizado para controlar o led VERMELHO e um medidor para mostrar a configuração atual. Essa tela usa primitivas de desenho pfodApp para desenhar os controles da placa e definir as zonas de toque e ações do usuário. Conforme você move seu dedo sobre o controle deslizante, ele atualiza a tela imediatamente para mostrar a nova configuração. Novamente, esta atualização NÃO é incorporada ao pfodApp, mas é completamente controlada pelo código em seu Feather52, portanto, você pode personalizá-lo como desejar.

O tutorial Controles personalizados do Arduino para Android cobre como codificar seus próprios controles personalizados e o tutorial do Arduino101 Starter, controlado pelo Android / pfodApp, descreve como o zoom e o panorama funcionam.

Conclusão

Este tutorial mostrou como você pode se comunicar facilmente e controlar a placa Adafruit Feather nRF52. Nenhuma programação Android é necessária. pfodApp trata de tudo isso. Nenhuma codificação Arduino é necessária. O (gratuito) pfodDesignerV2 gera esboços completos para este e uma variedade de outros módulos BLE, bem como ESP8266 e proteções WiFi, Bluetooth e SMS.

Recomendado: