FAVORITAR

Construindo um Indicador de Nível com Franzininho C0 e Bargraph

Introdução

Neste artigo, vamos construir um indicador de nível utilizando o microcontrolador Franzininho C0 e uma barra de LEDs (BarGraph). O objetivo é criar um sistema capaz de medir e exibir o nível de um determinado parâmetro (como o nível de um tanque de água, por exemplo) de maneira visual e intuitiva.

Para isso, utilizaremos um potenciômetro como sensor de entrada, que simulará a variação do nível a ser medido. Configuraremos o ambiente de desenvolvimento com o CubeMx, e escreveremos o código necessário para que o Franzininho C0 possa interpretar os sinais do potenciômetro e controlar o BarGraph.

Componentes necessários

  • 1 Franzininho C0
  • 1 Potenciômetro 10k ohms
  • 1 Barra Gráfica de LEDs
  • 10 Resistores de 300 ohms

Conexões Hardware

Configurando CubeMx

  1. Abra STM32Cube , crie um novo projeto e selecione o microcontrolador de destino “STM32C011F6P6”. 
  1. Vá para a página de configurações de relógio e em HCLK digite 48 MHz para a frequência de saída desejada do sistema. Pressione a tecla “Enter” e deixe o aplicativo resolver os divisores/multiplicadores PLL necessários para atingir a taxa de clock desejada. Depois volte para a página de configuração dos pinos, selecione “Trace and Debug” e  habilite “Serial Wire.
  1. Em seguida, configuraremos os GPIOs. Clique sobre os pinos PA0,PA1, PA2, PA3, PA4, PA5, PA6,PA7, PB6, PB7 e selecione para cada um “GPIO_Output”. 
  1. Para facilitar a escrita e compreensão do código, renomeie os pinos de acordo com a tabela e imagem abaixo:
PB7LED_DEZ
PB6LED_NOVE
PA0LED_OITO
PA1LED_SETE
PA2LED_SEIS
PA3LED_CINCO
PA4LED_QUATRO
PA5LED_TRES
PA6LED_DOIS
PA7LED_UM
  1. O potenciômetro, será conectado no pino PA8, logo habilite o ADC nesse pino.
  1. Ainda na configuração do ADC, em “NVIC Settings” habilite a interrupção. 
  1. Por fim, gere o código em “Project” > “Generate Code”.

Implementando o código

  1. Abra o arquivo em Core > Src > main.c 
  1. Nesse exemplo, estaremos utilizando o ADC por interrupção, portanto, modifique a função main com o seguinte código:
  1. Adicione a função HAL_ADC_ConvCpltCallback:

Esta é a função de callback chamada quando a conversão ADC é completada. Aqui está o que acontece:

  • Leitura do ADC: O valor do ADC é obtido usando HAL_ADC_GetValue.
  • Cálculo de LEDs: O valor lido é mapeado para um valor entre 0 e 10, correspondendo ao número de LEDs que devem estar acesos.
  • Desligar LEDs: Chama desligaLeds para desligar todos os LEDs antes de acendê-los de acordo com o que foi medido no ADC.
  • Acender LEDs: Liga os LEDs de acordo com o valor calculado em ledCount.
  1. Adicione a função desligaLeds e lembre-se de incluir seu protótipo de função no início do código. 
  1. O código pode ser visto na imagem abaixo. 

Gravação do código

Ao finalizar o código, partiremos para gravação. Nessa etapa você pode utilizar o ST-Link seguindo as conexões da imagem abaixo ou utilizar um cabo USB como explicado no tutorial:  https://embarcados.com.br/gravar-franzininho-c0-via-stm32cubeprogrammer/

Potencializando a automação com conectores menores, mais rápidos e mais fortes

Conecte-se com Confiança: Suporte à Indústria 4.0, Manufatura Inteligente e a Transição para a Indústria 5.0

Saiba mais

Funcionamento

Conclusão

Neste tutorial, aprendemos a construir um indicador de nível utilizando o microcontrolador Franzininho C0 e uma barra de LEDs (BarGraph). Através de um potenciômetro como sensor de entrada, configuramos o ambiente de desenvolvimento com CubeMx e escrevemos o código necessário para que o Franzininho C0 interpretasse os sinais do potenciômetro e controlasse o BarGraph. 

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.
Comentários:
Notificações
Notificar
0 Comentários
Inline Feedbacks
View all comments
Home » Hardware » Construindo um Indicador de Nível com Franzininho C0 e Bargraph

EM DESTAQUE

WEBINARS

LEIA TAMBÉM

JUNTE-SE HOJE À COMUNIDADE EMBARCADOS

Talvez você goste:


Seminário de
Sistemas Embarcados e IoT 2024
 
Data: 25/06 | Local: Hotel Holiday Inn Anhembi, São Paulo-SP
 
GARANTA SEU INGRESSO

 
close-link