Olá a todos!
O artigo de hoje é dedicado aos adeptos dos micro-controladores e suas plataformas de avaliação e desenvolvimento. Estas placas são úteis para prototipagem rápida de aplicações baseadas em micro-controladores.
Vamos hoje falar da placa Freedom FRDM-KL25Z. Com um custo na ordem dos 20€, esta placa usa um micro-controlador Kinetics da série L, de 32 bits, mais propriamente o KL25Z128VLK, baseado no ARM® Cortex™-M0+. Com uma frequência de relógio que chega aos 48MHz, 128K de flash e muitos portos analógicos, digitais, e PWM. é sem duvida promissora a nível de possibilidades e desempenho.
Fig. 1 - ARM® Cortex®-M0+ MCU 32-Bit Embedded Evaluation Board
A forma da placa e do seu pinout, permite usar placas de expansão desenhadas para o Arduino R3, tendo no entanto em atenção que esta placa FRDM-KL25Z trabalha com 3.3V. Devemo-nos portanto assegurar da compatibilidade dos "shields" Arduino com os 3.3V.
Fig.2 - Pinout da placa KL25Z
Na fig. 2 podemos ver o pinout da placa. Os pinos exteriores estão dispostos de forma a assegurar a compatibilidade com as "shields" do Arduino Uno R3. Os pinos interiores oferecem portos adicionais. Implementado diretamente na placa, temos um led RGB, um acelerómetro de 3 eixos e um sensor capacitivo de toque.
Antes de começar a usar a placa, é imprescindível dar uma leitura atenta ao manual disponível aqui:
https://www.nxp.com/files-static/32bit/doc/user_guide/FRDMKL25ZUM.zip
https://www.nxp.com/files-static/32bit/doc/user_guide/FRDMKL25ZUM.zip
Para programar a placa, vários ambientes de desenvolvimento podem ser usados. Eu atualmente uso o mbed, que pode ser facilmente acedido em qualquer computador com acesso à internet no endereço https://www.mbed.com/en/ sem necessidade de instalar programas pesados no PC. Basta criar uma conta, selecionar o hardware que usa e começar a desenvolver os seus programas, ou experimentar os programas dos outros utilizadores que os publiquem. Os meus estão disponíveis aqui
https://os.mbed.com/users/lmsousa/code/
https://os.mbed.com/users/lmsousa/code/
Deixo aqui um exemplo de um pequeno programa que gera efeitos multicolores usando o LED tricolor.
https://os.mbed.com/users/lmsousa/code/PWM_Blink_V2//file/20358798a986/main.cpp/
https://os.mbed.com/users/lmsousa/code/PWM_Blink_V2//file/20358798a986/main.cpp/
#include "mbed.h" #define pause 0.015 PwmOut rled(LED_RED); PwmOut gled(LED_GREEN); PwmOut bled(LED_BLUE); int main() { rled=1; gled=1; bled=1; while(1) { for(float p = 1.00f; p > 0.00f; p -= 0.01f) { rled = p; wait(pause); } for(float p = 0.00f; p < 1.00f; p += 0.01f) { rled = p; wait(pause); } wait (0.5); for(float p = 1.00f; p > 0.00f; p -= 0.01f) { gled = p; wait(pause); } for(float p = 0.00f; p < 1.00f; p += 0.01f) { gled = p; wait(pause); } wait (0.5); for(float p = 1.00f; p > 0.00f; p -= 0.01f) { bled = p; wait(pause); } for(float p = 0.00f; p < 1.00f; p += 0.01f) { bled = p; wait(pause); } wait (0.5); for(float p = 1.00f; p > 0.00f; p -= 0.01f) { rled = p; gled=p; wait(pause); } for(float p = 0.00f; p < 1.00f; p += 0.01f) { rled = p; gled=p; wait(pause); } wait (0.5); for(float p = 1.00f; p > 0.00f; p -= 0.01f) { rled = p; bled = p; wait(pause); } for(float p = 0.00f; p < 1.00f; p += 0.01f) { rled = p; bled = p; wait(pause); } wait (0.5); for(float p = 1.00f; p > 0.00f; p -= 0.01f) { gled = p; bled = p; wait(pause); } for(float p = 0.00f; p < 1.00f; p += 0.01f) { gled = p; bled = p; wait(pause); } wait (0.5); } } |
Após a fase de familiarização, depois de conhecer a placa e o ambiente de desenvolvimento escolhido, pode entregar-se a projetos mais complexos.
Divirta-se
Comentários
Enviar um comentário
Deixe aqui os seus comentários: