Já ouviu falar do STM32? Muitas pessoas conhecem a placa Arduíno UNO, pois ela é a mais famosa dentro do universo maker. Entretanto existem diversos microcontroladores mais rápidos que o Arduíno UNO no mercado entre eles está o STM32 sendo até 4x mais rápido que o Arduíno.
Obs.: Contudo cada placa e/ou microcontrolador possui vantagens e desvantagens comparadas a outras. Por exemplo o Arduíno UNO é a melhor placa para se começar a estudar, pois é muito intuitiva.
Iremos Falar Sobre as placas STM32:
Informações Sobre STM32
Informações gerais do STM32F103*
Antes de mais nada os STM32 possuem 40 pinos, sendo 33 multifuncional. Contudo possuem as seguintes funções ADC de 12 bits, canais PWM, I2C, USART e SPI. Além disso seu nível logico trabalho está em 3.3V ou 5V sendo que alguns de seus pinos tem tolerância a 5V como podemos observar na figura abaixo.
Entretanto as portas USB dos STM na sua grande maioria são somente para entrada de energia. Contudo a maioria permite a instalação de um bootloader assim permitindo o carregamento partir da USB. Ainda assim para se realizar o upload do bootloader ou de nossos programas necessitamos de um ST-Link.
Então para conectar o ST-LINK v2 no STM32, basta conectar o pinos 2, 4, 6 e 8 do ST-LINK v2 e conectar nas suas respectivas entradas no STM32.
Em seguida iremos fazer um comparativo com três placas diferentes o STM32F103C6T6, STM32F103C8T6 e Arduíno UNO.
Placas: | STM32F103C6T6 | STM32F103C8T6 | Arduíno UNO R3 |
---|---|---|---|
Microcontrolador: | STM32F103C6T6 | STM32F103C8T60 | ATmega328 |
Arquitetura: | 32 Bits | 32 Bits | 8 Bits |
Memória flash: | 32 Kb | 64 Kb | 32 Kb |
SRAM: | 10 Kb | 20 Kb | 2 Kb |
EEPROM: | Não Possui | Não Possui | 1 Kb |
Frequência máxima: | 72 MHz | 72 MHz | 16 MHz |
Resolução ADC: | 12 Bits | 12 Bits | 10 Bits |
Temperatura Operacional: | -40 °C à +85 °C | -40 °C à +85 °C | -40 °C à +85 °C |
Interface: | CAN, I2C, SPI, USART e USB | CAN, I2C, SPI, USART e USB | SPI, I2C, UART |
Número de canais ADC: | 10 | 10 | 6 |
Número de Temporizadores/contadores: | 2 Timers | 3 Timers | 3 Timers |
Tensão de Operação: | 3,3 V | 3,3 V | 5 V |
Pinos Multifuncional: | 32 | 32 | 14 |
Consumo de Corrente: | 50 mA | 50 mA | 50 mA |
Conexão USB: | Somente Alimentação | Somente Alimentação | Sim |
Dimensões: | 53 mm x 22,5 mm | 53 mm x 22,5 mm | 68,58 mm x 53,34 mm |
Informações especifica do STM32F103C8T6
Contudo o STM32F103C8T6 é um microcontrolador que possui 1 núcleo ARM Cortex M3, operando até 72Mhz, 20 KB de memória SRAM e 64 KB de RAM.
Informações especifica do STM32F103C6T6
Contudo o STM32F103C6T6 é um microcontrolador que possui 1 núcleo ARM Cortex M3, operando até 72Mhz, 10 KB de memória SRAM e 32 KB de RAM.
Programando o STM32
Antes de tudo somente é possível estar programando através da linguagem C, porém existem diversas IDEs que suportam o STM32. Por exemplo VS Code, Platform IO, Eclipse, TrueStudio, STM32CubeProgrammer e até mesmo a Arduíno IDE.
Contudo agora iremos demonstrar como programar pelo Arduíno IDE. Entretanto para começar a programar o STM32 temos que adicionar a placa no gerenciador para isso iremos em Arquivo → Preferências. Em seguida irá aparecer a seguinte janela.
Logo após isso clicamos em URLs Adicionais para Gerenciadores de Placas para adicionarmos a URL da placa STM32.
Então adicionamos a seguinte URL: http://dan.drown.org/stm32duino/package_STM32duino_index.json
Em seguida fechamos as janelas voltamos para a tela principal do Arduíno IDE. Logo após iremos em Ferramentas → Placa → Gerenciador de Placas, pesquise STM32f1, após isso instale a placa.
Logo após isso vá em Ferramentas → Placa → STM32F1 Boards e escolha a placa que você está utilizando. Por fim vá em Ferramentas –> Upload method → STLink para que assim possamos carregar o código com o ST-Link.
Então carregue um código simples no seu STM32 estar testando.
//Setup ----------------------------------------------------------------------------------------------
void setup(){
pinMode(PC13, OUTPUT);
}
//Loop -----------------------------------------------------------------------------------------------
void loop(){
digitalWrite(PC13, HIGH);
delay(1000);
digitalWrite(PC13, LOW);
delay(1000);
}
Agradecemos sua Presença
Por fim, espero que tenham gostado e aprendido. Então compartilhe com seus colegas e deixe um comentário de qual projeto deveria ser o próximo aqui no Blog da WJ Componentes!!
Enfim estarei deixando o arquivo do Arduíno, link dos posts anteriores referentes ao projeto, software e sites utilizados e os datasheets dos STM32.
Fique à vontade para tirar suas dúvidas nos comentários.
Datasheet dos STM32
Software e Sites Utilizados
Post Relacionados
- Código Morse com Arduíno UNOOlá, como estão? Hoje iremos desenvolver um decodificador de código… Leia mais: Código Morse com Arduíno UNO
- Como Programar pelo Celular o Arduíno!Olá, como estão? A princípio iremos explicar como programar pelo… Leia mais: Como Programar pelo Celular o Arduíno!
- Como Programar por BlocosOlá, como estão? A princípio iremos falar sobre alguns sites… Leia mais: Como Programar por Blocos
- Contador com Botões no Arduíno UNOOlá, como estão? A princípio iremos realizar um contador. Entretanto… Leia mais: Contador com Botões no Arduíno UNO
- Jogo da Forca com Arduíno UNOOlá, como estão? A princípio iremos falar sobre a Serial… Leia mais: Jogo da Forca com Arduíno UNO
Posts mais Recentes
- Programando Relé RF 4331 -Instruções de emparelhamento do modo de alternância Modo de… Leia mais: Programando Relé RF 433
- Acionando motor DC por meio do pino “Touch” do ESP-32Neste projeto, vamos explorar uma aplicação ainda mais dinâmica e… Leia mais: Acionando motor DC por meio do pino “Touch” do ESP-32
- Acendendo led RGB por meio do pino “Touch” do ESP-32No último post, exploramos o fascinante mundo dos pinos touch… Leia mais: Acendendo led RGB por meio do pino “Touch” do ESP-32
- Utilizando os Pinos touch do ESP32Nesse projeto Vamos aprender a usar os pinos touch´s do… Leia mais: Utilizando os Pinos touch do ESP32
- Como Programar e Localizar o Endereço de uma Tela OLED I2C com Arduinoeste guia, vou levá-lo através dos passos para programar uma… Leia mais: Como Programar e Localizar o Endereço de uma Tela OLED I2C com Arduino
Julio Cesar Bonow Manoel
Cursando Engenharia da Computação pelo Centro Universitário Facens e atua no desenvolvimento de projetos na WJ Componentes. Participante da equipe de robótica Omegabotz.
Deixe um comentário