Balança calculadora de IMC




UC: LABSI - Laboratório de Sistemas

2023


Autores:


Afonso Barreiro Nº1201126

1201126@isep.ipp.pt


João Guedes Nº1190753

1190753@isep.ipp.pt


Introdução

Arquitetura

Hardware

Software

Resultados

Conclusões

Referências





Figura 1 - Protótipo do Projeto

  • Introdução

Início

Uma das siglas mais reconhecidas quando o tema é peso e nutrição, o IMC (Índice de Massa Corporal) é usado internacionalmente para relacionar peso e altura, num indicador prático para detetar casos de obesidade ou magreza excessiva.[8]

Este relatório incide sobre o desenvolvimento de um projeto realizado no âmbito da Unidade Curricular de LABSI(Laboratório de Sistemas). Trata-se de uma balança concebida para calcular de forma autónoma o Índice de Massa Corporal (IMC) de um indivíduo. O IMC é uma medida utilizada para avaliar a relação entre a massa corporal e a altura de uma pessoa, fornecendo informações cruciais sobre a sua composição corporal e saúde geral. Assim, o projeto contempla a obtenção de dois parametros principais, a massa e a altura, e o posterior cálculo do IMC


Figura 2 - Fórmula IMC

Estado da Arte

Este protótipo teve como inspiração a Balança de Farmácia (Figura 2), onde num primeiro instante o utilizador insere num moedeiro eletrónico a quantia pedida para efetuar a sua medição. Seguidamente, o utilizador sobe para esse mesmo, onde serão registados os seus respetivos peso (m) e altura (h) atribuindo assim o seu Índice de Massa Corporal (IMC), obtido através da fórmula IMC = m * h * h. Uma vez obtido o respetivo IMC, é mostrado numa interface gráfica presente na máquina com os parâmetros anteriormente obtidos.


Figura 3 - Balança de Farmácia








  • Arquitetura

Início

O Diagrama de blocos (Figura 4) do projeto encontra-se abaixo. O diagrama de blocos mostra como um sistema funciona internamente. Essa demonstração é realizada através de diferentes blocos com suas ligações, permitindo assim evidenciar a organização do conjunto. [1]


Figura 4 - Diagrama de Blocos






  • Hardware

Início

Segue-se a lista de materiais e componentes utilizados na implementação do protótipo:

  • Microcontrolador ATmega 328P [2]
  • SONAR HC-SR04[4]
  • Balança Digital com 2 barras como sensores de pressão
  • Conversor USB to Serial TTL [5]
  • Programador USBasp [6]
  • Breadboard
  • Fios
  • Resistências
  • Led
  • Integrados TL084[3]

    Neste circuito, o microcontrolador Atmega328P [2](Figura 5) controla o sistema. Este possui um pinout (Figura 6) e tem como função gerir a obtenção da tensão, envio e receção de dados. O sonar HC-SR04 (Figura 9) encontra-se conectado diretamente ao Atmega328P através de 2 cabos, echo e trigger a pd2 e pb2 respetivamente. Este sensor é responsável por calcular a distância à qual um certo obstaculo se encontra da posição do mesmo. Para sabermos a altura de um individuo temos de definir uma altura padrão e subtrair à mesma o valor obtido pelo sensor.

    Atmega328P

    Figura 5 - Atmega328P

    Atmega328P Pinout

    Figura 6 - Atmega328P Pinout

    A balança digital utilizada possui dois sensores de pressão em formato de barra. A função desta é calcular o peso de um individuo. Para tal, utilizamos 3 fios de cada lado da balança de forma a construir uma ponte de wheatstone, para ser igualmente distribuida a tensão.


    Figura 7 - Esquema sensores Pressão

    Ao microcontrolador está ligado o SONAR HC-SR04, através de um cabo de 4 condutores, e, é responsável pela obtenção do tempo de voo de sinais ultrasónicos e indiretamente obtençáo de uma distância. Uma vez obtida a diferença de tensão proveniente dos dois lados da balanca, necessitamos condicionar o sinal através de um Amplificador de Instrumentação, visto que os valores obtidos são na gama dos mV. Aplicou-se um ganho para se obter um sinal de [0-5]V a entrar no microcontrolador. Para tal utilizamos um sistema integrado de ampops - TL084. Como resistencias bases utilizamos 15kohm sendo a de ganho 680ohm. Posteriormente obtidos os valores provenientes da Balança e Sonar, enviamo-los através de um conversor usb to Serial TTL para um computador onde através de um programa desenvolvido no Processing 4.3 onde irá apresentar a altura, peso e IMC numa página e de forma automática identificar se existe falta, excesso ou situação regular de peso.

    TL084 - Pinout

    Figura 8 - TL084 - Pinout

    Sonar HC-SR04

    Figura 9 - Sonar HC-SR04

    Conversor USB to Serial TTL

    Figura 10 - Conversor USB to Serial TTL

    Esquema Elétrico e PCB



    Na figura 11 encontra-se o esquema elétrico do circuito ao Atmega328P. Na figura 12 encontramos a PCB. Para elaboração utilizamos o software KICAD como sugerido.


    Figura 11 - Esquema eletrico


    Figura 12 - Placa PCB








    • Software

    Início

    O código desenvolvido para ser utilizado no Atmega328P foi escrito na linguagem C. Através do mesmo procedemos ao controlo de vários elementos: Sonar, Balança, Serial, Led. Podemos resumir nas etapas:
  • Receção da variável "Altura" através do Sonar HC-SR04.
  • Receção da variável "Peso" através da balança Digital.
  • Cálculo do IMC
  • Durante todo o processo envio da informação através do conversor USB to Serial TTL

  • Fora isto, foi desenvolvido uma interface gráfica com o intuito de demonstrar os valores obtidos do microcontrolador.

    Para melhor compreensão foram criados os seguintes fluxogramas:
    Fluxograma main()

    Figura 13 - Fluxograma main()

    Fluxograma ler_ad()

    Figura 14 - Fluxograma ler_ad()

    Fluxograma Timer 2()

    Figura 15 - Fluxograma Timer 2()



    Fluxograma distancia()

    Figura 16 - Fluxograma distancia()

    Fluxograma sonar()

    Figura 17 - Fluxograma sonar()

    Fluxograma INT1()

    Figura 18 - Fluxograma INT1()

    Fluxograma Timer 0()

    Figura 19 - Fluxograma Timer 0()








    • Resultados

    Início

    Para conseguirmos determinar a quais valores de tensão temos associados a cada valor de massa de um individuo, realizamos um teste simples com o auxilio de um multimetro. Começamos por alimentar a balança no circuito e ligar um multimetro em paralelo com a balança utilizando ambos os fios brancos provenientes dos sensores de pressão. De seguida, com a ajuda de uma balança medimos a massa de diferentes objetos e pessoas passando-os, logo após, para a balança do nosso projeto.

    Numa folha de excel, fomos registando os valores de massa e tensão correspondentes, até que chegamos a uma reta linear de saída: y=0.0007x+0.0036 ou então V=0.0007m+0.0036

    Logo após feito isto, construimos um amplificador de instrumentação de forma a ter uma saída [0-5]V. Determinamos o gráfico de saída do amplificador sendo essa função utilizada no código.


    Figura 21 - Gráficos de saída da Balança

    Atmega328P

    Figura 22 - Cálculo resistência de ganho

    Atmega328P Pinout

    Figura 23 - Amplificador de Instrumentação





































    Para fechar, como pedido inicialmente e sendo um requisito para o projeto temos o led a piscar a 1Hz.









    • Conclusões

    Início

    Este projeto teve como objetivo a implementação de uma balança calculadora de IMC, adaptando, para esse efeito, uma balança digital doméstica. No início do projeto foram estabelecidas metas e o objetivo acima referido. As metas passavam por conseguir ultrapassar certos obstáculos, como por exemplo a obtenção de um valor resistivo na saída da balança. Notamos que assim que esta meta foi atingida, não só foi um momento crucial que nos permitiu continuar com as restantes tarefas que dependiam desses valores, como também nos assegurou de que o projeto seria possível e que estava num bom caminho. Este revelou-se um dos marcos mais importantes para o desfecho do projeto.

    De uma forma geral, os objetivos foram cumpridos, ainda que certas tarefas tenham levado mais tempo a realizar do que aquele que seria esperado, o que acabou por dificultar a conclusão do projeto, assim como a dependência de material requisitado e os tempos de espera por material adquirido na internet.
    o processo desde o planeamento, passando pelas várias fases e problemas/obstáculos encontrados, para os quais foram encontradas soluções, até a conclusão dos objetivos, fez com que os conhecimentos adquiridos ao longo dos anos e unidades curriculares passadas fossem, na sua maioria, postos em prática. As dificuldades obrigaram também a que fossem feitas pesquisas e aprendizagens que inevitavalmente se traduzem em conhecimento e experiências valiosas para o futuro. Disto é exemplo a utilização do atmega328 e do TL084, ambos já usados anteriormente, e também a pesquisa feita e posteriormente posta em prática sobre o USBasp e o conversor USB-Serial, e a temática de sensores no geral, visto terem sido usados os sensores da balança e o sonar.

    Resta ainda mencionar algumas possíveis melhorias e acréscimo de funcionalidades ao projeto.
    A nível de hardware, podia ser inserido um display que desse as informações de peso, altura e IMC no próprio protótipo. O seu aspeto geral também podia ser melhorado e tornado mais apelativo. Estas melhorias trariam a necessidade de melhorar também o software e as funcionalidades no geral. A existência de duas interfaces de consulta de dados poderia levar à introdução de mais opções e dados de medição, à criação de uma base de dados para que fosse possível acompanhar a evolução do indivéduo sujeito às medições (um display na balança que mostre dados instantâneos enquanto a tela do computador mostra todo o registo de medições passadas e um gráfico da evolução), e também à introdução de mais sensores que permitissem obter ainda mais dados sobre o físico do indivíduo.








    • Referências

    Início

    [1] Conceito.de: https://conceito.de/diagrama-de-blocos
    [2]ATmega328 - https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf
    [3]TL084 - https://www.ti.com/product/TL084
    [4] Sonar HC-SR04 - https://mauser.pt/catalog/product_info.php?products_id=096-6220 - https://cdn.sparkfun.com/datasheets/Sensors/Proximity/HCSR04.pdf
    [5] USB-Serial TTL - https://www.quora.com/What-is-a-TTL-signal-in-communication-and-when-using-a-USB-port-why-do-we-use-a-USB-to-TTL-converter
    [6] USBasp - https://www.fischl.de/usbasp/
    [7] AVRDUDESS - https://blog.zakkemble.net/avrdudess-a-gui-for-avrdude/
    [8] https://www.lusiadas.pt/blog/prevencao-estilo-vida/nutricao-dieta/imc-que


    Início