- Explicação do hardware da placa de desenvolvimento STM32 Nucleo 64
- Programando as placas de desenvolvimento STM32 Nucleo 64
- Primeiros passos com STM32F401
- Conclusão
- Vídeo
Para a maioria das pessoas, a primeira placa de desenvolvimento incorporada na qual eles trabalhariam provavelmente seria uma placa Arduino. Mas, como todos podem concordar, seu Arduino poderia levá-lo apenas até certo ponto e algum dia você terá que mudar para uma plataforma de microcontrolador nativa. Esse processo pode ser facilitado muito com esta placa de desenvolvimento STM32, pois ela pode suportar todos os escudos Arduino para ajudá-lo no lado do hardware e também tem muitas bibliotecas e funções integradas para ajudá-lo no lado do software. Também se familiarizar com os microcontroladores STM32 o ajudará a explorar facilmente outros módulos de desenvolvimento do ST, como o SensorTile.Box, que analisamos anteriormente. Portanto, neste artigo, vamos dar uma olhada completa nas placas de desenvolvimento STM32 Nucleo-64 e aprender como usá-las.
Agora, existem muitas versões de placas STM32 disponíveis e esta em particular na minha mão é chamada de STM32F401 Nucleo-64. O nome STM32 representa que temos um microcontrolador de 32 bits em nossa placa de desenvolvimento, e o nome Nucleo-64 representa que o microcontrolador tem 64 pinos. Da mesma forma, existem muitas outras versões de placas Nucleo 64 como a STM32F103, STM32F303, etc, mas uma vez que você aprende sobre uma placa, todas as outras são bastante semelhantes.
Explicação do hardware da placa de desenvolvimento STM32 Nucleo 64
Vamos começar desempacotando nosso Development Board. Como você pode ver, o pacote completo consiste apenas em nossa placa de desenvolvimento e um cartão de instruções. O cartão de instruções menciona as especificações do controlador, sua pinagem e, na parte traseira, temos algumas informações sobre como começar e as opções de conjunto de ferramentas disponíveis.
Olhando mais de perto o tabuleiro, podemos descobrir que ele está dividido em duas regiões. A seção superior é o depurador e programador ST-Link / V2, enquanto a seção inferior é sua placa de desenvolvimento real. Desta forma, você pode facilmente programar e depurar sua placa fora da caixa apenas com um cabo USB adicional que pode ser conectado à miniporta USB da placa.
À primeira vista, a placa pode parecer ter vários jumpers e componentes, mas todos eles estão lá para facilitar as coisas para nós. Os dois jumpers que você encontra em cada lado da placa CN11 e CN12 são, na verdade, jumpers fictícios; esses jumpers podem ser usados para outros fins, se necessário no futuro. Os dois jumpers no CN2 são usados para conectar a seção do programador e do depurador à nossa placa de desenvolvimento. No futuro, você pode remover esses jumpers para usar o programador para outros microcontroladores ST por meio desses pinos. E o pino JP1 deste conector pode ser fechado para limitar a corrente USB a 100mA, se deixado aberto, a corrente máxima será 300mA. Aqui temos um LED Tricolor (LD1) que fica vermelho quando a placa é energizada e fica verde quando a placa é programada com sucesso e fica laranja quando há uma falha de comunicação.
Descendo para a seção de desenvolvimento, temos nosso componente mais importante aqui, o microcontrolador STM32F401RET6. Este é um microcontrolador de 32 bits de 64 pinos com um processador ARM Cortex M4 operando a 84MHz. Também possui Flash de 512 Kb e SRAM de 96 KB. O microcontrolador tem 10 temporizadores de 16 e 32 bits e um único ADC de 12 bits. Também possui três USART, três I2C, quatro SPI e um USB 2.0 para comunicações externas. Você pode verificar a folha de dados STM32F401 para obter mais informações técnicas.
Agora vem a parte interessante, como eu disse antes, a placa suporta todos os escudos Arduino. A placa tem dois conjuntos de conectores, os pinos fêmeas são para escudos Arduino que se encaixam perfeitamente em nosso ESP8266 Wi-Fi Shield e nosso Semtech Arduino LoRa Shield como você pode ver na imagem abaixo.
Os outros machos são chamados de pinos morfo ST, que podem ser usados para utilizar os pinos de alargamento em nosso microcontrolador de 64 pinos. Então temos um botão de reset aqui e um botão configurável pelo usuário que está conectado ao pino PC13 e também um LED aqui que está conectado ao pino D13 assim como o Arduino. Para alimentar a placa, podemos usar a porta USB ou fornecer 5V regulado diretamente para o E5V ou para o pino de 5V aqui. Lembre-se de alterar este jumper para indicar como você está alimentando a placa; U5V indica que a placa é alimentada por USB. Também temos outro pino de jumper interessante aqui chamado IDD que pode ser usado para medir quanta corrente o seu microcontrolador está consumindo conectando um amperímetro a esses pinos.
Programando as placas de desenvolvimento STM32 Nucleo 64
Chegando à seção de software, a placa tem uma grande biblioteca e suporte de programação e pode ser programada usando Keil, IAR workbench e muitos outros IDEs. Mas o interessante é que ele suporta o ambiente de desenvolvimento ARM Mbed e STM32Cube. Para o propósito deste artigo, decidi usar a plataforma ARM Mbed porque é uma ferramenta online e achei muito interessante porque você pode não apenas usar suas placas ST com ela, mas muitas outras placas de desenvolvimento que usam o microcontrolador ARM.
Para quem é novo, o ARM MBED é uma plataforma de desenvolvimento online fornecida pela própria ARM e oferece um sistema operacional integrado, serviços em nuvem e recursos de segurança para criar facilmente soluções integradas baseadas em IoT. É uma enorme comunidade de código aberto e para obter detalhes sobre isso exigirá um artigo separado.
Primeiros passos com STM32F401
Mas, para começar, use um mini cabo USB para conectar sua placa de desenvolvimento STM32 ao computador. Uma vez energizado, você deve notar que os LEDs LD1 e LD3 acendem em vermelho, e o LED LD2 programável fica piscando em verde assim.
Você também notará uma nova unidade flash em seu computador chamada “NODE_F401RE”. Abra-o e você encontrará dois arquivos, a saber, details.txt e mbed.htm, conforme mostrado abaixo.
Você pode iniciar o arquivo Mbed.htm para começar a programar diretamente sua placa online usando arm Mbed. Mas, antes de chegarmos lá, instalamos os drivers necessários e a inscrição no Mbed. Pesquise o software do driver STSW-link009 e baixe-o diretamente do site da ST, instale o driver e certifique-se de que o dispositivo seja descoberto corretamente em seu gerenciador de dispositivos, conforme mostrado aqui.
Volte para sua plataforma mbed para se inscrever em MBED.com com suas credenciais. Em seguida, clique no arquivo MBED.HTM e você será saudado com a seguinte página.
Role para baixo e clique em “ Abrir compilador Mbed ”. Como você pode ver, o compilador já reconheceu nossa plataforma como Nucleo-F401RE e está nos fornecendo muitos programas de exemplo básicos. Por enquanto, deixe-me selecionar o “ código LED Blinky ” e modificá-lo para que o LED desligue sempre que eu pressionar o botão.
Assim que o código estiver pronto conforme mostrado abaixo, você pode clicar no botão compilar, que fornecerá um arquivo bin, basta copiar o arquivo bin e colá-lo em sua unidade flash para programar sua placa. Você notará o LED LD1 ficando verde quando a programação for concluída. Agora pressione o botão azul e você notará o LED verde apagando. Assim, você pode experimentar qualquer um dos programas de exemplo para aprender as diferentes funcionalidades da placa. Você também pode voltar à página principal para obter outros documentos técnicos e suporte da comunidade.
Você também pode assistir ao vídeo no link no final desta página, para ver a revisão completa neste fórum.
Conclusão
No geral, acredito que essas placas são excelentes opções se você está tentando aumentar o nível de suas habilidades e desenvolver aplicativos avançados. Com seu suporte prático de hardware e comunidade online, a curva de aprendizado dessas placas também é bastante simples, então você pode querer experimentar. Espero que você tenha gostado do artigo e aprendido algo útil com ele. Se você tiver alguma dúvida, deixe-a na seção de comentários abaixo ou use nossos fóruns para outras questões técnicas.