Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Curso mbed e FRDM KL46Z da NXP

899 views

Published on

sse é um curso preparado para o público iniciante, onde é possível se ambientar na plataforma mbed e conhecer a placa NXP FRDM KL46Z.

Published in: Engineering
  • Be the first to comment

Curso mbed e FRDM KL46Z da NXP

  1. 1. Curso mbed e FRDM KL46Z da NXP Por Fábio Souza www.embarcados.com.br
  2. 2. MÍDIA KIT 2017
  3. 3. FÁBIO SOUZA INSTRUTOR ● Engenheiro, Professor, maker... ● Experiência em desenvolvimento de projetos ● Diretor de operações do Embarcados
  4. 4. COMPARTILHAR O CONHECIMENTO É APRENDER TODOS OS DIAS O EMBARCADOS O Embarcados é uma plataforma que contribui para o desenvolvimento tecnológico no Brasil, a partir do compartilhamento de informações na área de sistemas eletrônicos.   Do estudante ao profissional, dos makers aos curiosos, acreditamos que todos devem ter acesso a informações de qualidade – que auxiliam em projetos eletrônicos e servem para atualização do conhecimento.
  5. 5. CONTEÚDO, CONCURSOS E AÇÕES O PORTAL A ATUALIZAÇÃO DO PORTAL É CONSTANTE, BEM COMO O SEU ENVOLVIMENTO! Todos os dias, publicamos artigos com conteúdos bem diversificados na área de sistemas embarcados, que contêm informações relativas a: Artigos Sobre sistemas embarcados Reviews De placas, processadores e CIs Dicas e truques Que auxiliam em projetos e em partes específicas de projetos Projetos Hardware e firmware/software Estudos Sobre Estado da Arte, história e teoria da eletrônica, além de Sistemas Digitais (FPGA, Verilog e VHDL) Notícias Notícias atuais sobre a área de sistemas embarcados Fórum A grande comunidade que ensina e aprende através de sistemas embarcados!
  6. 6. www.embarcados.com.br contato@embarcados.com.br twitter.com/embarcados facebook.com/osembarcado slinkedin.com/company/emba rcados plus.google.com/+EmbarcadosBrasil Embarcados TV
  7. 7. Sobre esse Treinamento Esse treinamento foi desenvolvido para que pessoas possam aprender a utilizar a placa NXP FRDM KL46Z com a plataforma online mbed. Possui um formato self-paced onde apresenta um material introdutório com os conceitos básicos para você dar os primeiros passos com essas ferramentas de forma prática. Ao final desse treinamento você será capaz de criar um projeto no mbed para uso da placa FRDM KL46Z da NXP, usando os periféricos presentes na placa. Esse treinamento foi elaborado por: Fábio Souza
  8. 8. Materiais Para ter um melhor aproveitamento desse material, é necessário ter os seguintes itens: • Computador com acesso a Internet, e porta USB disponível • Placa FRDM KL46Z • Cabo USB
  9. 9. Instruções • Seguir os slides na sequência apresentada. • A placa deve estar com o firmware atualizado para uso do mbed. • Caso precise de mais informações, acessar a seção de referências. • Boa diversão!
  10. 10. O que é um sistema Embarcado? Um sistema Embarcado, ou Embedded System é um sistema eletrônico, composto de hardware e software desenvolvido para uma aplicação específica, ou seja, executam uma sequência de tarefas pré-definidas para atender a um requisito específico. Geralmente é composto por um circuito integrado (microcontrolador) que possui toda a arquitetura computacional necessária para controle do sistema.
  11. 11. FRDM KL46Z A placa FRDM-KL46Z é uma plataforma de baixo custo para avaliação dos microcontroladores da série Kinetis L - KL4x, que são microcontroladores ARM Cortex-M0+. O microcontrolador presente nesta placa é o MKL46Z256VLL4, que possui 256 KB de memória flash, 32 KB de memória SRAM, USB OTG (FS), controlador para display LCD de segmentos, e pode operar a até 48 MHz.
  12. 12. Recursos presentes na placa: ● Slider touch capacitivo; ● Acelerômetro de 3 eixos MMA8451Q ● Magnetômetro - MAG3110 ● LEDs; ● LCD de 4x8 segmentos - LCD-S401M16KR ● Sensor de luz ALS-PT19-315C/L177/TR8 ● Diversas opções de alimentação: ○ USB, bateria, Fonte externa; ● Pontos de acesso para medição; ● Facilidade de acesso aos pinos I/O ● Pinagem compatível com Arduino ™ R3; ● Interface de programação e debug OpenSDA. FRDM KL46Z
  13. 13. Possibilidades de alimentação Há diversas possibilidades de alimentação para a placa KL46Z.
  14. 14. OpenSDA para programação/depuração Para programação/depuração está disponível na placa a interface OpenSDA, que é um padrão aberto muito utilizado para esse fim.
  15. 15. Diagrama de pinos
  16. 16. Microcontrolador MKL46Z256VLL4 Características: ● Núcleo ARM® Cortex™-M0+ de alta performance ● @48MHz, 32KB RAM, 256KB FLASH ● USB (Host/Device) ● SPI (2) ● I2C (2) ● I2S (1) ● UART (3) ● PWM (6) ● ADC (6) ● DAC (1x 6bit, 1x 12bit) ● Touch Sensor ● GPIO (84) ● LCD Controller
  17. 17. mbed
  18. 18. mbed O mbed é uma plataforma de desenvolvimento completa da ARM, agora focada em IoT e sistemas embarcados de baixo consumo, que disponibiliza uma IDE online para programação, compilador utilizando o próprio Browser, que possibilita acelerar, e muito, a criação de protótipos utilizando microcontroladores comerciais.
  19. 19. Mbed - Plataformas Uma série de plataformas e placas suportam o mbed. Escolhemos a plataforma NXP Kinetis para esse treinamento.
  20. 20. mbed
  21. 21. mbed
  22. 22. Com mbed tudo fica simples! ● Escolha uma placa suportada pelo mbed ● Use a IDE online para clonar e/ou desenvolver seu código ● Compile e faça o download do binário para sua placa ● Se preferir, baixe o código e compile usando a sua ferramenta de desenvolvimento atual.
  23. 23. mbed - Login Para criar um usuário e fazer login, acesse https://developer.mbed.org/account/login/
  24. 24. mbed - Login
  25. 25. mbed - Login
  26. 26. mbed - Login Preencha seus dados e depois acesse o seu e-mail
  27. 27. mbed - Login Seu perfil
  28. 28. Acesse o Compilador
  29. 29. mbed - Adicione a KL46Z ao compilador Selecione a placa eletrônica FRDM-KL46Z
  30. 30. mbed - Adicione a KL46Z ao compilador
  31. 31. mbed - Adicione a KL46Z ao compilador
  32. 32. mbed - Adicione a KL46Z ao compilador Adicione a placa ao compilador
  33. 33. mbed - Importe os exemplos Para facilitar o desenvolvimento desse treinamento vamos utilizar projetos exemplos. Em cada tópico será disponibilizado o link do projeto. É só importar para o compilador:
  34. 34. Exemplo 1 - Blink O primeiro exemplo irá piscar o led verde(LED1) em intervalos de 0,5 s. Abra o projeto KL46Z_EX1:
  35. 35. mbed - Compilando o projeto Para compilar o projeto, pressione Compile ou as teclas Ctrl+D
  36. 36. mbed - compilando.... Será iniciado o processo de compilação. Aguarde alguns instantes...
  37. 37. mbed - Salve o arquivo gerado Após a compilação, será iniciado o download do binário gerado. Você pode salvar em uma pasta para uso posterior, ou salvar diretamente no unidade MBED, criada quando é inserida a placa no computador.
  38. 38. mbed - Upload Um arquivo após a compilação foi gerado e feito o download para seu computador. Conecte a placa na interface USB (SDA) indicada na imagem.
  39. 39. mbed - Resumo Arraste esse arquivo de seu computador para o drive que foi montado com o nome MBED. O led Verde( próximo a USB) irá piscar. Espere alguns segundos e pressione RESET. O led verde(LED1) irá piscar, 0,5 segundos aceso e 0,5 segundos apagado.
  40. 40. mbed - Desafio No exemplo anterior vimos como piscar o LED verde, definido como LED1 no mbed. Sabendo que o LED vermelho é definido como LED2, altere o exemplo 1 para que acenda os leds de forma complementar, como uma sinalizador de garagem.
  41. 41. Exemplo 2 - Botões Este exemplo exibe como ler os botões presentes na placa. Vamos desenvolver uma aplicação que quando pressionamos um botão ele acenda um led e quando solta o botão o led apaga.
  42. 42. Exemplo 2 - Botões Os botões estão ligados da seguinte forma na placa:
  43. 43. Exemplo 2 - Botões Abra o exemplo KL46Z_EX2:
  44. 44. Exemplo 2 - Botões Conforme vimos no esquema de ligação dos botões, quando um dos botões é pressionado é levado o estado do pino para 0. Dessa forma, precisamos detectar quando o pino está em nível zero através de um if: if(sw1 == 0){ //se botão pressionado led_red = 0; //liga o led }else{ //se não led_red = 1; //apaga o led }
  45. 45. Exemplo 2 - Botões Compile o programa e faça o upload para a placa(conforme instruções anteriores). Ao pressionar os botões você verá que o led irá acender e quando soltar ele irá apagar.
  46. 46. Desafios 1 - aproveitando o exemplo feito com o botão sw1 e led verde, inclua no programa a leitura da tecla sw3 que deve controlar o led vermelho. 2 - Altere o exemplo para que o led verde só acenda quando botão SW1 ‘E’ o botão SW2 estiverem pressionados. 3 - Altere o exemplo para que o led ver troque de estado ao pressionar sw1 o botão e permaneça até o botão sw1 ser pressionado novamente. 4 - Inclua o botão sw3 e led vermelho no exercício anterior
  47. 47. Exemplo 3 - Sensor de toque (Slider) Nesse exemplos vamos usar o sensor de toque capacitivo presente na KL46Z. Vamos criar uma aplicação para alterar a intensidade do LED verde conforme a posição do toque na placa. Esse é o sensor de toque:
  48. 48. Exemplo 3 - Sensor de toque (Slider) Esse sensor é feito na própria PCB e está ligado da seguinte forma:
  49. 49. Exemplo 3 - Sensor de toque (Slider) Abra o programa KL46Z_EX3. Note que para esse projeto foi utilizada a biblioteca tsi_sensor:
  50. 50. Exemplo 3 - Sensor de toque (Slider) Compile o programa e faça o upload para a placa(conforme instruções anteriores). Ao tocar no sensor na placa você verá que o LED verde altera a intensidade conforme a posição no slider. Faça movimento de um lado para outro para perceber isso.
  51. 51. Desafio Altere o exemplo para que o LED vermelho acenda de forma complementar ao LED verde, ou seja, quando o LED VERDE estiver em 100 % o LED vermelho deve ficar em 0%, e vise-versa.
  52. 52. Exemplo 4 - Display LCD Nesse exemplo vamos explorar o display LCD de segmentos presente na placa. Será feita uma aplicação que exibirá a contagem de 0 a 100 no display e reiniciará no final.
  53. 53. Exemplo 4 - Display LCD O display LCD de segmentos está ligado da seguinte forma na placa:
  54. 54. Exemplo 4 - Display LCD Abra o programa KL46Z_EX4. Note que para esse exemplo foi utilizada a biblioteca SLCD:
  55. 55. Exemplo 4 - Display LCD Compile o programa e faça o upload para a placa(conforme instruções anteriores). Será apresentada a contagem em intervalos de 0.2 s e o LED vermelho pisca a cada incremento.
  56. 56. Desafio Faça um contador decrescente de 10 a 0. A final da contagem o LED vermelho deverá piscar 5 vezes e em seguida a contagem reinicia.
  57. 57. Exemplo 5 - Acelerômetro Nesse exemplo vamos explorar o acelerômetro presente na KL46Z, o MMA8451Q. Serão lidos os 3 eixos e exibido o valor de um eixo no LCD e os outros eixos irão atuar na intensidade dos leds conforme posição da placa.
  58. 58. Exemplo 5 - Acelerômetro O MMA8451 está ligado da seguinte forma na placa:
  59. 59. Exemplo 5 - Acelerômetro Abra o programa KL46Z_EX5. Note que para esse exemplo foi utilizada a biblioteca MMA8451Q
  60. 60. Exemplo 5 - Acelerômetro Compile o programa e faça o upload para a placa(conforme instruções anteriores). Será apresentado o valor do eixo X no display que é alterado conforme posição da placa. Os leds também alteram a intensidade conforme posição da placa.
  61. 61. Desafio 5 Faça um programa para exibir no display os valores dos eixos. O eixo a ser exibido deve ser selecionado pela tecla sw1 e para indicar qual eixo está sendo exibido usar o algarismo mais significativo do display onde: 0 - eixo x 1 - eixo y 2 - eixo z
  62. 62. Referências Conheça a FRDM KL46Z da NXP Atualização do firmware da KL46Z para uso do mbed Página da KL46Z no mbed Documentação da KL46Z
  63. 63. Obrigado e-mail: fabio.souza@embarcados.com.br Linkedin: https://br.linkedin.com/in/engfabiosouza Facebook: https://www.facebook.com/fabio.souza.77398 Instagram: https://www.instagram.com/fabio.souza.embarcados/ Twitter: http://twitter.com/FBSeletronica

×