Olá, caros leitores ! Tudo bem com vocês ? Que tal mudar um pouco nosso projetinhos e fazer algo diferente ?
Atualmente o Arduino com microcontroladores Atmega é o principal foco de quem utiliza a IDE Arduino. Mas, saiba que há muitas outras possibilidades para expandir o seu horizonte. Desta forma, usando as bibliotecas disponíveis na plataforma, há uma vasta gama de microcontroladores para você usar !
Hoje, mostrarei como você irá utilizar placas de desenvolvimento baseadas em STM32 e como preparar a sua IDE Arduino para comportar essa familia de microcontroladores. Então, vamos nessa ?
Conhecendo um pouco o STM32
Para início de conversa, tenho que lhe dizer que STM32 e um dos mais populares, pois é composto por uma família de microcontroladores de 32 bits robustos e com grande capacidade. É fabricado pela STMicroelectronics e ha diversas opções disponiveis. A sigla “STM32” vem devido ao nome de seu fabricante e à sua arquitetura de 32 bits.
Mas, antes de tudo, para que comecemos o trabalho, você precisará de um gravador. Deste modo, ele será o responsavel por fazer a comunicação entre o computador e a placa de desenvolvimento. Você deve estar acostumado ao fato do arduino ser conectado diretamente ao PC através de um cabo USB, certo ? Mas, a partir de agora você deverá usar o gravador ST-Link para programar seus STM’s.
Modulo SMT32F103C6T6:
Gravador ST-Link:
Lista de materiais:
Mãos a obra
Agora que as apresentações foram feitas, vamos trabalhar com nossos novos coleguinhas. Mas, antes de tudo, abra a sua IDE do Arduino e sigas as instruções a seguir:
Instalando a biblioteca STM32
Acesse a aba “Arquivo” e depois clique em “Preferências”. Então, você verá a seguinte caixa:
Em seguida, você deverá incluir o link da biblioteca na caixa marcada em azul. Inclua este link: https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
Pronto ? Então, é só clicar em ok.
Agora, vamos para a etapa seguinte. Nela, faremos a instalação a lib. Sendo assim, clique na aba “Ferramentas” na parte superior . Depois, clique em “Placa: …. ” e em seguida, em “Gerenciador de placas”, conforme a imagem a seguir:
Feito isso, se abrirá uma caixa de pesquisa e busque por “STM32”, conforme o print:
Eu já havia instalado, mas para você aparecerá a opção de instalação no canto inferior direito dessa caixa. Então, faça a instalação e, após finalizado, reinicie a IDE Arduino. Agora, vamos à proxima etapa. Espero que estejam tão animados quanto eu !
Instalação do ST-Link Utility
Para que você possa fazer a comunicação com a placa de desenvolvimento STM32, indico usar o ST-Link Utility, pois provavelmente você não terá problemas em reconhecer placas STM32 chinesas, caso as esteja utilizando.
Para isto, acesse o link https://www.st.com/en/development-tools/stsw-link004.html do site oficial da ST e faça o download do ST-Link Utility:
Assim, faça o download do arquivo e instalação em seu computador. Fácil até aqui, não é mesmo ? Após isto, abra o software e realize as seguintes etapas:
Primeiramente, conecte a sua placa de desenvolvimento STM32 ao computador através do gravador ST-Link:
Agora, clique na aba superior “Target” e em seguida em “Connect”, conforme a imagem a captura de tela a seguir:
Então, após clicar em “Connect”, você deverá pressionar o botão Reset que está localizado em sua placa de desenvolvimento STM32. Eu estou utilizando uma placa com microcontrolador STM32F030C8T6, mas nada impede de você usar outros modelos. Desse modo, você verá o led do gravador ST-Link começar a piscar em algumas cores e será mostrada a mensagem de sucesso da conexão :
Gerando o código no Arduino
Com os preparativos feitos, estamos prontos para ver os resultados fluindo ! Agora, vá para a IDE do Arduino, clique em “Ferramentas” > “Placa” > “STM32 Boards Group” e selecione a família que pertence o seu microcontrolador STM32. Eu, por exemplo, estou utilizando um STM32F030C8T6. Então, selecionei a série STM32F0:
Logo, na próxima etapa especificaremos o modelo do microcontrolador utilizado. Lembre-se de selecionar corretamente qual STM32 você esta utilizando. No meu caso, selecionei o modelo F030C8Tx :
Deste modo, o restante das configurações você deixar de mesmo modo que neste ultimo print.
Testando um código blink
Agora, na IDE Arduino, vá em “Arquivo” > “Exemplos” > “Basics” > “Blink”. Feito isso, será necessária uma pequena modificação no código. Nas placas STM32F103C8T6 e STM32F030C8T6, por exemplo, o led está conectado à porta PC13. Então substitua “LED_BUITING” no código original por “PC13”. Desta forma, o código blink ficará assim:
// the setup function runs once when you press reset or power the board void setup() { // initialize digital pin PC13 as an output. pinMode(PC13, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(PC13, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(PC13, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second }
Então, após fazer as modificações necessárias, clique em “Verificar” no canto superior esquerdo (não clique em “carregar”, clique apenas em “Verificar”). Veja que após a conclusão será mostrado o endereço onde o arquivo ficou salvo:
Você utilizará este endereço para a etapa, que é a última (ufa !!!).
Gravando o código no STM32
Agora, volte novamente para o ST-Link Utility e clique em “Target” > “Eraser chip” e faça a limpeza do chip para se certificar que não há nada nele. Então, vamos carregar o arquivo blink.
Logo, clique em “File” > “Open file” e navegue até o endereço do arquivo blink, conforme foi mostrado na ultima captura de tela. Após carregar o arquivo, clique em “Target” > “Program”.
Feito isto, se abrirá a seguinte janela:
Para finalizar, clique em “Start” e veja o led da sua placa de desenvolvimento piscando. Veja como ficou a minha:
Finalmente…
Depois de tantos passos e instruções, chegamos ao nosso objetivo: Programamos um STM32 usando a IDE Arduino !
Agora você tem mais uma ferramenta ao seu dispor na criação de projetos. Espero que tenha gostado e até a próxima !