Utilizando o acelerômetro e LED RGB da FRDM KL25Z no mbed

FRDM KL25Z no mbed

Neste artigo, iremos imprimir os valores dos eixos X, Y e Z que serão fornecidos pelo acelerômetro da FRDM-KL25Z via protocolo I2C e, conforme haja variação de aceleração, o LED RGB da placa irá alterando suas cores. Para isso, utilizaremos o código de exemplo entregue pela plataforma mbed.

 

 

FRDM - KL25Z

 

A plataforma FRDM KL25z  foi desenvolvida pela NXP e integra um microcontrolador ARM Cortex M0+, oferecendo 16KB de RAM, 128KB de Flash, 2 canais de SPI, 2 canais de I2C, 3 canais de UART, 6 canais de PWM, 6 canais de ADC e GPIOs. Entre os periféricos dessa placa, destacam-se:

  • MMA8451Q - acelerômetro de 3 eixos;
  • LED RGB;
  • Sensor de Toque Capacitivo;
  • Pinout compatível Anduino UNO R3;
  • Interface de programação/debug openSDA.

 

A figura 1 exibe a FRDM KL25Z e indica qual o conector USB usado para programação/depuração:

 

Plataforma FRDM - KL25Z
Figura 1- Plataforma FRDM - KL25Z

 

 

Mbed

 

Para utilizarmos a plataforma de desenvolvimento online, devemos ter uma conta com um login e senha para plataforma mbed. Se você ainda não tem uma conta, clique aqui.

 

Depois de entrarmos no site, devemos clicar no ícone “compiler” e automaticamente seremos redirecionados para a IDE online, conforme exibido na figura 2 a seguir:

 

IDE Online mbed
Figura 2- IDE Online mbed

 

Primeiramente, devemos selecionar a plataforma que iremos utilizar em nosso projeto, como demonstra a figura 3.

 

Selecionando a plataforma  FRDM-KL25Z
Figura 3- Selecionando a plataforma  FRDM-KL25Z

 

Após selecionarmos a plataforma, deveremos clicar no ícone New e posteriormente em New Program. Note que abrirá uma tela contendo a plataforma utilizada, template e o nome do código. Clique no ícone ao lado da opção de template e selecione o arquivo “ Example program for FRDM boards with a Freescale MMA8451Q ac”, conforme exibido na figura 4:

 

Selecionando o exemplo do acelerômetro
Figura 4 - Selecionando o exemplo do acelerômetro

 

Posteriormente, abrirá o projeto e devemos clicar em main.cpp para termos acesso ao seguinte código:

 

#include "mbed.h"
#include "MMA8451Q.h" // incluindo a biblioteca do acelerômetro

#if   defined (TARGET_KL25Z) || defined (TARGET_KL46Z)
  PinName const SDA = PTE25;
  PinName const SCL = PTE24;
#elif defined (TARGET_KL05Z)
  PinName const SDA = PTB4;
  PinName const SCL = PTB3;
#elif defined (TARGET_K20D50M)
  PinName const SDA = PTB1;
  PinName const SCL = PTB0;
#else
  #error TARGET NOT DEFINED
#endif

#define MMA8451_I2C_ADDRESS (0x1d<<1)

int main(void)
{
    MMA8451Q acc(SDA, SCL, MMA8451_I2C_ADDRESS); // definindo os pinos de I2C da FRDM KL25Z 
    PwmOut rled(LED1); 
    PwmOut gled(LED2);
    PwmOut bled(LED3);

    printf("MMA8451 ID: %d\n", acc.getWhoAmI());

    while (true) {
        float x, y, z;
        x = abs(acc.getAccX()); // armazenando o valor da componente x
        y = abs(acc.getAccY()); // armazenando o valor da componente y
        z = abs(acc.getAccZ()); // armazenando o valor da componente z
        rled = 1.0f - x; //intensidade da componente x, representada pela cor vermelha
        gled = 1.0f - y; //intensidade da componente y, representada pela cor verde
        bled = 1.0f - z; //intensidade da componente z, representada pela cor azul
        wait(0.1f);
        printf("X: %1.2f, Y: %1.2f, Z: %1.2f\n", x, y, z);
    }
}

 

Em seguida, clique em “compile” e note que será feito o download do arquivo bin, de acordo com a figura 5.

 

Compilando e baixando o arquivo bin
Figura 5 - Compilando e baixando o arquivo bin

 

 

Instalando o firmware de bootloader

 

É fundamental a instalação do firmware de bootloader fornecido pela plataforma mbed, para realizarmos nossas aplicações na FRDM- KL25Z.  As instruções abaixo explicam como realizar tal procedimento:

 

1- Mantenha o botão de reset pressionado e em seguida, conecte sua FRDM-KL25 ao computador. Note que a plataforma aparecerá em seu monitor, como um disco chamado "BOOTLOADER", conforme ilustra a figura 6.

 

Disco BOOTLOADER.
Figura 6 - Disco BOOTLOADER.

 

2 - Faça o download do firmware s.19, clicando aqui.

3 - Extraia o arquivo baixado e copie-o para o disco BOOTLOADER.

4 - Desconecte sua FRDM e conecte-a novamente ao computador.

 

Após realizar as etapas acima, abrirá um disco com o nome "MBED", conforme demonstra a figura 7.

 

Disco MBED
Figura 7 - Disco MBED

 

 

Transferindo a aplicação para o microcontrolador

 

Selecione o arquivo .bin que foi baixado anteriormente, e arraste-o até MBED (F:) (figura 8).

 

OBS: Note que o LED D4 da placa irá piscar, indicando a transferência do firmware.

 

Transferindo arquivo.bin para a placa.
Figura 8 - Transferindo arquivo.bin para a placa.

 

 

Comunicação Serial

 

Para imprimir os valores fornecidos pelo acelerômetro, iremos utilizar o programa Docklight. Após a realização do download e instalação deste programa, basta configurá-lo conforme as figuras 9 e 10.

 

Docklight License Registration
Figura 9 -  Docklight License Registration

 

Welcome to Docklight
Figura 10 - Welcome to Docklight

 

Devemos configurar a porta de comunicação entre a plataforma FRDM-KL25Z e o PC, conforme demonstrado na figura 11.

 

Configurando a porta COM para leitura do acelerômetro
Figura 11 - Configurando a porta COM para leitura do acelerômetro

 

Clique em “Ok” e em seguida clique na seta de “play” para que então os dados do acelerômetro sejam impressos no computador de acordo com a figura 12.

 

Imprimindo dados do acelerômetro
Figura 12 - Imprimindo dados do acelerômetro

 

 

LED RGB

 

Para finalizarmos, observe em sua placa que conforme você a mexer, os valores impressos de x, y e z variam e as cores do LED RGB também se alteram (Figura 13 e 14).

 

LED cor azul e variações dos valores de cada eixo.
Figura 13 - LED cor azul e variações dos valores de cada eixo.

 

LED cor magenta e variações dos valores de cada eixo
Figura 14 - LED cor magenta e variações dos valores de cada eixo

 

 

Referências

 

mbed FRDM KL25Z

FRDM-KL25Z: Freedom Development Platform for Kinetis® KL14, KL15, KL24, KL25 MCUs

NEWSLETTER

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Pablo Melo
Tecnólogo em Eletrônica Automotiva pela Fatec Sorocaba. Mestrando em Engenharia Elétrica pela UNESP Sorocaba, com ênfase em Sistemas Mecatrônicos. Desenvolve estudos direcionados para aplicações do protocolo OPC UA voltadas para a Internet das Coisas Industrial, Indústria 4.0 e RAMI 4.0. Ama pesquisar tecnologias sobre sistemas embarcados, sempre acompanhado por uma boa dose de café.

Deixe um comentário

avatar
 
  Notificações  
Notificar