|
|
2023
|
|||||||||
Autores: |
|||||||||||
|
Afonso Barreiro Nº1201126 |
1201126@isep.ipp.pt |
|||||||||
|
João Guedes Nº1190753 |
1190753@isep.ipp.pt
|
|||||||||
|
|||||||||||
Figura 1 - Protótipo do Projeto |
|||||||||||
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
|
|||||||||||
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
|
|||||||||||
Segue-se a lista de materiais e componentes utilizados na implementação do protótipo:
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. 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. 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
|
|||||||||||
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: 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: ![]() Figura 13 - Fluxograma main() ![]() Figura 14 - Fluxograma ler_ad() ![]() Figura 15 - Fluxograma Timer 2() ![]() Figura 16 - Fluxograma distancia() ![]() Figura 17 - Fluxograma sonar() ![]() Figura 18 - Fluxograma INT1() ![]() Figura 19 - Fluxograma Timer 0()
|
|||||||||||
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 ![]() Figura 22 - Cálculo resistência de ganho ![]() 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.
|
|||||||||||
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.
|
|||||||||||
[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 | |||||||||||
|