Tipos de Arduino

Placa De Desenvolvimento Stm32f103c8t6 Arm Stm32

Eletrogate 16 de abril de 2021

Introdução

As placas Arduino se tornaram referência em confecções de projetos no mundo da eletrônica, principalmente por conta da facilidade de sua utilização e de sua inovação repentina no meio. Porém, apesar de todas as características positivas desta placa (e são muitas!), há de se concordar que ela possui algumas limitações, principalmente se comparada a projetos eletrônicos mais complexos, como os industriais, por exemplo. Tendo isto em mente, uma alternativa para a placa Arduino é a placa de desenvolvimento Stm32f103c8t6 Arm Stm32, comumente conhecida como “Blue Pill” (referência a Matrix). Seu microcontrolador é baseado na arquitetura ARM Cortex-M3 fabricada pela STMicroelectronics e possui diversas vantagens em relação a placa convencional Arduino. Quer aprender mais sobre este componente? Leia este post por completo e descubra mais!


Descrição e Funcionamento

O que é?

STMicroelectronics (também conhecido como ST) oferece uma ampla variedade de microcontroladores de uso geral para MCU de 8 bits (STM8) e microcontroladores baseados em Arm Cortex-M de 32 bits (STM32). Especificamente, o STM32 Blue Pill é baseado no STM32F103C8T6 que possui uma CPU Cortex-M3 ARM que roda a 72 MHz, com 20 kB de RAM e 64 kB de memória flash. O microcontrolador possui uma porta USB (sem suporte de chip extra), três portas UART, pinos PWM de 16 bits e mais. É um microcontrolador de 3,3 V, mas alguns de seus pinos são tolerantes a 5 V.

Hardware

  • Conector microUSB: Possibilita a conexão da placa com o computador ou outro dispositivo através de um cabo microUSB;
  • Seletor de BOOT: Jumpers BOOT0 e BOOT1 para selecionar a memória de inicialização;
  • Botão de Reset: Reseta a placa quando pressionado;
  • STM32F103C8T6 MCU: Microcontrolador utilizado na placa;
  • Cristal de 8 MHz: Clock principal para o MCU;
  • Oscilador de 32,768 KHz: RTC Clock;
  • LED indicador de energia: Indica se a placa está sendo alimentada ou não;
  • LED embutido: LED programável embutido na placa;
  • GND: Pino GND;
  • SWCLK (Clock): para programação e debugação usando ST-Link;
  • SWIO (In/Out): para programação e debugação usando ST-Link;
  • 3,3 V: Recebe um sinal de 3,3 V para alimentar a placa.

Especificações

  • Modelo: STM32F103C8T6;
  • Núcleo: ARM 32 Cortex-M3;
  • Modo de depuração: SWD;
  • Frequência máxima de trabalho: 72MHz;
  • Tamanho da memória do programa: 64kB;
  • Tamanho RAM dos dados: 20kB;
  • Resolução ADC: 12bit;
  • Temperatura operacional: -40ºC à +85ºC;
  • Tensão de trabalho: 2,0VDC à 3,6VDC;
  • Tipo de interface: CAN, I2C, SPI, USART, USB;
  • Número de canais ADC: 10;
  • Número de temporizadores/contadores: 3 Timers;
  • Dimensões: 5,3cm x 2,2cm.

Pinout

Crédito: Electronics Hub


Projeto Exemplo

O nosso projeto consistirá em fazer o LED embutido no Stm32 piscar.

Preparando o ambiente IDE

Antes de iniciarmos nosso projeto, é necessário fazermos algumas configurações no ambiente IDE. Primeiramente, precisamos baixar alguns pacotes para programarmos a placa stm32. Para isso, vá em Arquivo->Preferências como mostrado abaixo.

Agora, copie o link abaixo e cole no espaço destacado na janela que se abriu, como na figura, e pressione OK.

http://dan.drown.org/stm32duino/package_STM32duino_index.json

Feito isso, clique em Ferramentas->Placa->Gerenciados de Placas…

Digite “stm32f1” e instale a biblioteca que aparecer, como demostrado abaixo.

Agora, clique em Ferramentas->Placa->STM32F1 Boards (Arduino_STM32)->Generic STM32F103C.

Pronto! O ambiente IDE está preparado para sua programação.

Lista de Materiais

Diagrama

O diagrama do projeto desenvolvido está representado na figura a seguir.

IMPORTANTE: O que deve ser conectado ao computador é o Conversor USB, não a placa de desenvolvimento.

Código

O código utilizado aqui já está presente na biblioteca que baixamos. Para acessá-lo, vá em Arquivo->Exemplos->A_STM32_Examples->Digital->Blink.

Ou apenas copie o código abaixo.

/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.

  Most Arduinos have an on-board LED you can control. On the Uno and
  Leonardo, it is attached to digital pin 13. If you're unsure what
  pin the on-board LED is connected to on your Arduino model, check
  the documentation at http://arduino.cc

  This example code is in the public domain.

  modified 8 May 2014
  by Scott Fitzgerald
  
  Modified by Roger Clark. www.rogerclark.net for Maple mini 25th April 2015 , where the LED is on PB1
  
 */


// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin PB1 as an output.
  pinMode(PB1, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(PB1, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);              // wait for a second
  digitalWrite(PB1, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);              // wait for a second
}

Antes de carregar o código, é necessário colocar a placa no modo programável. Para isso, basta colocar o jumper indicado abaixo na posição 1, sendo que a posição 0 é a operacional e a posição 1 é a programável.

Após fazer o upload do programa, o boot 0 deve ser alterado de volta ao modo operacional para que na próxima vez que a placa for ligada, o programa carregado comece a ser executado automaticamente.


Considerações Finais

Espero que tenha gostado do post. O objetivo aqui foi apenas dar um norte ao aprendizado sobre a Placa De Desenvolvimento Stm32f103c8t6 Arm Stm32 e iniciar sua implementação prática com ela. Confira nossos posts relacionados ao tema abordado aqui:

Avalie o post e deixe um comentário sobre seu interesse com Arduino e se esse artigo te ajudou a descobrir mais sobre essa plataforma.

Siga-nos também no Instagram para receber conteúdos diários sobre Arduino e eletrônica: @eletrogate.

Até mais!


Sobre o Autor


Ricardo Lousada
@ricardo_lousada

Graduando em Engenharia de Controle e Automação pela UFMG. Ocupo meu tempo aprendendo cada vez mais sobre eletrônica e programação, áreas que mais gosto. Meus hobbies são cinema e livros.


Eletrogate

16 de abril de 2021

A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica em geral.

Tenha a Metodologia Eletrogate dentro da sua Escola! Conheça nosso Programa de Robótica nas Escolas!

Eletrogate Robô

Cadastre-se e fique por
dentro de novidades!