Dentro da sua linha de hardware, a Microchip disponibiliza as placas de desenvolvimento Curiosity Nano e Curiosity. Os kits de desenvolvimento Curiosity Nano caracterizam-se pelo baixo custo e tamanho compacto, com capacidades de depuração e programação integradas. Baseiam-se num adaptador denominado Nano Base e, utilizando placas Click e placas de expansão, podem ampliar as capacidades das placas de desenvolvimento adicionando sensores, interfaces tácteis, ecrãs ou qualquer outra interface de conectividade necessária para desenvolver qualquer aplicação.
Os kits Nano permitem também o desenvolvimento com toda a família de microcontroladores Microchip de 8, 16 e 32 bits, tornando as aplicações de todos os tipos escaláveis para estas famílias de microcontroladores.
As placas de desenvolvimento Curiosity incorporam ainda conectores de áudio, interfaces gráficas, conectores gráficos e conectores para conectividade à internet, entre outros.
Para além dos conectores Mikroe, existem conectores XPRO, sendo que algumas placas Curiosity possuem também conectores Arduino, permitindo a utilização de shields Arduino para implementar protótipos de aplicações.
Ferramentas de Software Complementares ao Hardware:
No que diz respeito às ferramentas de software, a Microchip oferece quatro ferramentas principais. O principal é o MPLAB® X IDE, um Ambiente de Desenvolvimento Integrado (IDE) utilizado para desenvolver aplicações embarcadas para os controladores de sinal digital e microcontroladores da Microchip.
Outra ferramenta é o compilador MPLAB XC, que traduz código C ou C++ de alto nível para a linguagem assembly do microcontrolador em desenvolvimento.
Outra ferramenta importante é o ambiente de desenvolvimento de software MPLAB Harmony, parte do ecossistema MPLAB X da Microchip, que permite o desenvolvimento de aplicações embarcadas para os microcontroladores de 32 bits da Microchip. O Harmony, que possui uma variedade de funcionalidades, oferece inúmeras demonstrações de exemplo para que possa começar a desenvolver aplicações e protótipos, bem como bibliotecas modulares e em camadas. Inclui também bibliotecas de periféricos para ligação a registadores de hardware e oferece bibliotecas de middleware, drivers abstratos e serviços de sistema.
Existem também diversas ferramentas de desenvolvimento gráfico que permitem criar projetos e gerar código através de uma interface gráfica de utilizador. Tudo isto pode ser descarregado a partir da plataforma GitHub, e todo o ambiente de desenvolvimento de software MPLAB Harmony v3 está disponível no GitHub. Uma dessas ferramentas gráficas de desenvolvimento é o MCC, a ferramenta de configuração de código da Microchip, que agora suporta microcontroladores de 32 bits, fornecendo aos clientes uma ferramenta de configuração comum para todas as famílias de microcontroladores. Com esta ferramenta, pode configurar código, criar projetos e gerar código utilizando bibliotecas de software.
Vamos analisar três exemplos de projetos de desenvolvimento, mas, primeiro, precisamos de examinar algumas características importantes para estes exemplos. O primeiro é o pacote de aplicações de referência MPLAB Harmony, disponível como repositório no GitHub. Este repositório contém muitas aplicações independentes para demonstrar as funções e capacidades dos microcontroladores de 32 bits. As aplicações de referência variam desde demonstrações simples a aplicações muito mais complexas e ricas em funcionalidades, bem como demonstrações utilizando placas MikroElektronika Click, XPRO e outras.
O próprio pacote de aplicações de referência inclui também exemplos de demonstração com placas MikroElektronika Click que explicam como utilizá-las com o ambiente de desenvolvimento de software Harmony.
Exemplos de desenvolvimento rápido de protótipos.
O nosso primeiro exemplo é o controlo do funcionamento de um ventilador em função da temperatura ambiente, como se ilustra no esquema seguinte.
O ventilador, que opera a velocidades baixas, médias ou altas, pode ser ligado ou desligado dependendo da temperatura ambiente. Neste exemplo, utilizámos um kit de avaliação PIC32CM MC00 Curiosity Nano, que incorpora um microcontrolador Cortex M0+ e um dispositivo firewall ligado à placa MikroElektronika Click através de linhas I2C. Temos duas placas Click: Weather Click e Fan Click. A primeira utiliza parâmetros de temperatura, pressão e humidade, enquanto a segunda controla o ventilador ligado.
Ambas estão ligadas através da interface I2C, sendo que apenas uma instância I2C é utilizada pelo microcontrolador, ligada a duas linhas diferentes em duas direções diferentes. A aplicação inicializa estas placas Click e depois lê a temperatura ambiente através de I2C. Compara o valor da temperatura com o valor desejado e, se a temperatura estiver acima dos 25 °C e o ventilador estiver definido para a velocidade média, ativa-o. Da mesma forma, liga e desliga o ventilador e opera-o a várias velocidades.
O segundo exemplo monitoriza a frequência cardíaca de uma pessoa, auxiliando na análise dos padrões de sono ou de desempenho em diversas atividades desportivas. Este exemplo utiliza uma placa SAM E51 Curiosity Nano, que possui um microcontrolador Cortex M4 e se liga a uma placa Heart Rate Click e a um eINK Bundle Click. A placa Heart Rate Click fornece dados de ritmo cardíaco via UART e exibe-os num ecrã de baixo consumo chamado eINK Click Bundle, que se liga via SPI.
Após a inicialização destes módulos e a apresentação de um valor padrão no eINK Click Bundle, o utilizador ativa a medição premindo um botão e colocando o dedo no sensor de ritmo cardíaco. O microcontrolador lê os dados e apresenta o valor no ecrã de baixo consumo de energia.
O terceiro exemplo é uma extensão do primeiro, adicionando um ecrã ao exemplo de controlo de um ventilador com base na temperatura ambiente.
Neste caso, temos um retângulo tracejado com um eINK Click Bundle adicionado ao mesmo diagrama de blocos. O fluxo da aplicação permanece o mesmo. Assim que a temperatura é lida, a velocidade do ventilador é ajustada para baixa, média ou alta, e os valores de temperatura e velocidade do ventilador são apresentados simultaneamente no visor de baixo consumo.
A segunda parte deste exemplo acrescenta capacidade sem fios, permitindo que a aplicação seja controlada através de um smartphone Android com Bluetooth Low Energy (BLE). São enviadas instruções para o smartphone para ligar e desligar o ventilador ou para o operar num modo baseado na temperatura.
No exemplo 3, as partes 1 e 2 também podem ser integradas numa aplicação controlada por um dispositivo inteligente, controlado remotamente e com um ecrã.
Como desenvolver as aplicações:
Vale a pena descrever os três passos envolvidos no desenvolvimento destas aplicações. O primeiro passo é criar um projeto com o MPLAB X IDE para o microcontrolador escolhido, por exemplo, um SAM E51 utilizando o MCC. De seguida, configure o relógio, os periféricos e os pinos correspondentes. Se estiver a utilizar um exemplo existente e quiser expandi-lo, não precisa de criar um novo projeto; basta abrir o existente no MPLAB X IDE.
O segundo passo é adicionar o código da aplicação. Antes disso, pode utilizar os exemplos existentes para a placa Click da MikroElektronika.
Estes exemplos contêm rotinas que podem ser utilizadas para implementar a funcionalidade da placa Click nas aplicações finais. Essencialmente, estas rotinas são adicionadas à aplicação, e a aplicação é implementada de acordo com as suas necessidades.
O terceiro passo é executar a aplicação e avaliar a saída. Para tal, abra a aplicação Android, chamada MBD, e ser-lhe-á perguntado se deseja ativar os serviços de localização Bluetooth; aceite. Toque no ícone BLE UART, que apresenta o tipo de dispositivo que pode ser detetado. Selecione BM70 e será apresentada uma lista de todos os dispositivos BLE disponíveis. Procure o dispositivo de demonstração Transparent UART e, assim que o encontrar, poderá cancelar a pesquisa em curso e tocar no dispositivo de demonstração Transparent UART.
Será então estabelecida uma ligação com o dispositivo, permitindo a comunicação de dados. Tocar no ícone de transmissão de dados ativará a transmissão adequada na parte inferior. Isto levá-lo-á a um ecrã onde poderá inserir instruções para controlar o dispositivo: desligar o ventilador, ligá-lo ou definir uma velocidade específica. Estas instruções são recebidas através de mensagens de texto.
Para desligar o ventilador, introduza a instrução "desligar" no controlo BLE e pressione o botão "enviar". Para o operar no modo baseado na temperatura, introduza a instrução no controlo de temperatura, prima o botão e o ventilador funcionará de acordo com a temperatura ambiente. Também pode ajustar a temperatura colocando o dedo no sensor; o ventilador irá então variar a sua velocidade para baixa, média ou alta, dependendo da temperatura ambiente.
A plataforma de desenvolvimento de software MPLAB Harmony
oferece diversas funcionalidades que facilitam o desenvolvimento de aplicações, como pilhas gráficas, áudio e criptográficas, entre outras.
Para além das placas Curiosity e Curiosity Nano para prototipagem rápida, a Microchip disponibiliza também plataformas como as séries Xplained Pro e XPLORE, bem como a série Ultra de placas de desenvolvimento Curiosity.
Autores:
Syed Thaseemuddin, Engenheiro Técnico, Microchip Technology Inc.
Shridhar Channagiri, Diretor de Marketing de Produto, Microchip Technology Inc.
