ÍNDICE DE CONTEÚDO
- Primeiros passos com a MPLAB Xpress Evaluation Board
- Display OLED na MPLAB Xpress Board
- Usando a Accel 3 Click com a MPLAB Xpress Board
As placas Click Boards da Mikroe são excelentes alternativas para estudo, testes e provas de conceito. Por apresentarem o padrão de conexão chamado de mikroBUS, possibilita a criação de diversos módulos que podem ser usados em diferentes plataformas. Neste artigo vou apresentar a Accel 3 Click, uma click board com acelerômetro de 3 eixos. Vamos explorar o seu hardware e um exemplo de uso com a placa Xpress Board usando o recurso de configuração dessa Click board no Microchip Code Configurator.
Conhecendo a Accel 3 click
A click bord Accel 3 click vem com um acelerômetro de 3 eixos de alta performance e baixo consumo, o H3LIS331DL da ST. A placa, que funciona em 3,3V, pode comunicar com o microcontrolador através de SPI ou I2C, dependendo da configuração dos jumpers presentes na placa (os jumpers são com resistores SMD de 0 Ohm; São necessárias ferramentas de solda para trocar a configuração). Por default a placa vem configurada para I2C no endereço 0.
A figura a seguir exibe a Accel 3 click:
A seguir é exibido o esquemático da Accel 3 Click:
Características do H3LIS331DL
O H3LIS331DL possui escalas dinâmicas selecionáveis pelo usuário de ± 100g / ± 200g / ± 400g e é capaz de medir acelerações com taxas de dados de saída de 0,5 Hz a 1 kHz.
A função “sleep-to-wakeup”, em conjunto com o modo de baixa potência, permite reduzir o consumo de energia, permitindo o desenvolvimento de aplicações de baixo consumo e alimentadas por baterias. Quando configurado para o modo low-power operating mode, o dispositivo continua detectando aceleração, mesmo dormindo, e gera um sinal de interrupção após a detecção.
A figura a seguir apresenta o diagrama de blocos do H3LIS331DL:
Resumo das características:
- Ampla faixa de alimentação, de 2.16 V a 3.6 V;
- IOs compatíveis com 1.8 V;
- Baixíssimo consumo. Abaixo de 10 μA no modo low-power;
- Escalas selecionáveis: ±100g/±200g/±400g;
- Interface de saída I2C ou SPI;
- Dados de saída de 16 bits;
- Taxas de dados de saída de 0.5Hz a 1kHz.
A figura exibe o encapsulamento do H3LIS331DL:
Vídeo de apresentação da Accel 3 Click:
Configurando a Accel 3 Click no MPLAB Code Configurator
A Microchip fez uma campanha para integração das placas Click boards no MCC, que foi chamada de 50 Clicks in 50 day. Agora você pode facilmente fazer o setup para uso das placas Click Boards no MPLAB X e MPLAB Xpress IDE. Vamos testar esse recurso em conjunto com Accel 3 Click, usando a MPLAB Xpress Board.
Você precisará acessar a MPLAB Xpress IDE e seguir os passos para a criação de um novo projeto usando o MCC, como foi exibido no artigo: Primeiros passos com a MPLAB Xpress Evaluation Board
Atenção: Não esqueça de instalar as bibliotecas para uso das Click Boards no MCC:
Após instalação das bibliotecas para uso das click boards no MCC você encontrará uma lista com as placas, que já estão incluídas nessa ferramenta. A Accel 3 é a primeira opção da categoria Sensor:
Agora, você pode configurar graficamente:
É importante configurar corretamente os pinos SCL e SDA da I2C. Para o padrão MikroBus na Xpress Board, os pinos SCL e SDA estão ligados no RC4 e RC3, respectivamente:
Para o envio de dados pela serial, vamos configurar o módulo EUSART da seguinte forma:
Pronto, agora é só gerar o código clicando no botão Generate.
Na função main, vamos incluir o código para o exemplo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
#include "mcc_generated_files/mcc.h" #include "mcc_generated_files/ACCEL3_example.h" //Incluir exemplo /* Main application */ void main(void) { // initialize the device SYSTEM_Initialize(); // When using interrupts, you need to set the Global and Peripheral Interrupt Enable bits // Use the following macros to: // Enable the Global Interrupts //INTERRUPT_GlobalInterruptEnable(); // Enable the Peripheral Interrupts //INTERRUPT_PeripheralInterruptEnable(); // Disable the Global Interrupts //INTERRUPT_GlobalInterruptDisable(); // Disable the Peripheral Interrupts //INTERRUPT_PeripheralInterruptDisable(); while (1) { // Add your application code ACCEL3_example(); //chama função de exemplo __delay_ms(100); } } |
Você pode acessar o projeto completo no MPLAB Xpress IDE:
O próximo passo é compilar e baixar o .hex gerado na Xpress Board. Com o binário gravado, abra um terminal serial de sua preferência e verifique se as informações estão sendo enviadas:
O exemplo apresentado, exibiu a facilidade de configuração dos drivers para o uso do H3LIS331DL. Você pode usar a estrutura criada para o seu projeto com esse chip, ou para outros sensores com I2C, fazendo os ajustes necessários.
A iniciativa da Microchip em incluir as Click Boards no MCC ajuda bastante no setup inicial, além de exibir exemplos de aplicações.