Fala jovens mecatrônicos, minha missão neste artigo é desenvolvermos um sistema, que será transportado por esse nosso robô da foto, que meça a radiação solar de Marte, pois sabemos que ela é prejudicial ao ser humano, pra você ter uma ideia, um astronauta só poderia ficar em segurança em Marte por 4 anos, mas porque Marte recebe mais radiação solar do que a Terra se ele está mais longe do sol?
Nota: Artigo publicado originalmente na revista Mecatrônica Jovem 1 – Baixe número Grátis no link: Revista Mecatrônica Jovem - Edição 1 - Expedição Marte
A resposta pra essa questão é que a atmosfera de Marte é muito mais fina do que a da Terra, logo o filtro natural de radiação solar não funciona tão bem, por isso nossa missão neste artigo é tão importante, o quanto de radiação tem em Marte? Uma certeza já temos, existe radiação UV lá, pois MAVEN, um satélite que tem a missão de pesquisar a atmosfera de Marte, já detectou luz ultravioleta lá, logo só saberemos depois de programarmos nosso Arduino e enviar com nosso robô controlado pelo celular com o sistema que irá medir o nível de radiação, então sem mais enrolação vamos ao que interessa, nosso sistema medidor de radiação ultravioleta.
CONHEÇA O SENSOR
O Módulo Detector de radiação solar UV GY-8511 é o melhor modelo de sensor que detecta a intensidade de luz ultravioleta ao seu redor que já tive a oportunidade de programar.
A sua saída gera um sinal analógico proporcional à quantidade de luz ultravioleta detectada, operando num espectro de frequência entre 280 a 390 nm compreendendo todo o espectro UV-B, que vai até 315 nm, e boa parte do espectro UV-A que vai até 400 nm. Em escala que conhecemos de raios UV, ele compreende do nível 0 ao 11 conforme imagem abaixo:
Sendo que se a escala medida pelo sensor estiver entre 0 e 2 é necessário aplicação de protetor solar fator de proteção 15, se for 3 ou 4 a escala mensurada o protetor solar terá que ser 15+, já escala com resultado 5 ou 6 teríamos que usar protetor solar com SPF 30+, entre 7 e 9 o fator de proteção seria 50 e acima de 10 UV o fator teria que ser 50+, mas a pergunta é, como eu saberia qual nível UV estaria naquele momento?
A IDEIA DO PROJETO
Nossa missão também é proporcionar este projeto para que você possa replicar e evoluí-lo para quem sabe apresentação em uma feira de ciências, um TCC de fim de curso ou desenvolver um produto, afinal de contas, antes de chegar em Marte, estamos na Terra, e aqui também precisamos nos proteger dos raios UV, então esse nosso projeto para Marte poderia ser usado como um sistema portátil para a mamãe carregar na bolsa e saber qual o nível de UV está na praia e qual protetor passar no seu filho!
Porém, além de aplicação na saúde esse sensor também é incrivelmente útil na criação de dispositivos que detectam o índice de UV para dados meteorológicos e esses dados serem usados na agricultura por exemplo.
DETALHES DO SENSOR GY-8511
O módulo sensor estudado neste post, possui 5 pinos, são eles:
VIN – Pino de ligação do sensor com alimentação 5V, logo ele irá regular para 3,3V
3V3 – Pino de ligação do sensor com alimentação 3,3V, esse é o pino ideal para alimentar, pois tratando-se de projetos embarcados e IoT (pois esse tutorial poderá virar um projeto IoT) falamos de alimentação em 3,3V.
GND – Ligado no 0V
OUT – Saída Analógica do sensor
EM – Pino de habilitação do Sensor e referência (não há necessidade de uso neste projeto, esse pino usamos quando ocorre instabilidades de temperaturas com mudanças bruscas, de frio para quente por exemplo.
CIRCUITO DE MONTAGEM
E como todo bom módulo, o sensor GYML8511 funciona com tensão contínua entre 3 a 5 V, o que é conveniente tanto para Arduino quanto outros microcontroladores, observe a montagem de nosso projeto na figura abaixo.
Tomei o cuidado em lhe entregar um tutorial o mais próximo possível de um produto final para isso montamos o circuito de recarga das baterias de Íon-Lítio 18650, para que não precisa retirá-las do sistema, basta apenas conectar uma fonte de energia de 12v ou 9v (isso você vai definir e ajustar no regulador de tensão LM2596), o importante é que a tensão de saída dele seja ajustado para 8v que vai diretamente para a BMS 2S de 7,4v.
Seguindo o esquema de ligação, usando o display O ‘Led nas portas SDA e SCL do Arduino e o pino OUT do sensor no pino A3 do Arduino, você terá o projeto pronto para receber o código.
O CÓDIGO
Apesar de não usarmos o pino EN, escrevi o uso dele no código, no caso ele estaria na linha 4, com a declaração da variável pinoRef = A2, ou seja, essa variável seria a referência de alimentação do sensor para no caso de instabilidade dela, observe a imagem abaixo de como ficaria a ligação do sensor:
Logo no void setup() é necessário definir que os pinos A3 e A2 (se for usá-lo) são do modo entrada, INPUT.
Nas linhas 12, 13, 14 e 15 ainda da imagem acima temos a configuração do display de O’Led, no próprio código tem comentários sobre cada linha executada.
No void loop temos a chamada para as funções Nivel_UV() (iremos estuda-la logo abaixo), a função da biblioteca U8glib.h responsável por apresentar a imagem no display O’Led e se houver algo novo pra transmitir a linha 21 chama a função Display() que imprimi o resultado na tela do O’Led, aguardamos 200ms para que a comunicação i2C e impressão na tela ocorra tranquila.
Na função Nivel_UV() é onde está a regar do negócio, o sensor UV varia o valor de sua saída em forma de tensão de acordo com a intensidade dos raios inseridos sobre ele, logo a linha 27 seria a responsável por fazer essa leitura, porém precisamos converter para uma faixa de valor que dependa da tensão de referência , como ligamos o nosso sensor na tensão 3,3v a formula aplicada é a descrita na linha 32, caso seja em 5v altere o 3.3 por 5 ou se você esta usando o pino de referência, aquele que mostrei ligado na imagem com o Arduino Uno, substitua o valor 3.3 pela variável valorSensorRef, pois ela estará armazenando o que está sendo lido no pino A2 do Arduino conforme montagem.
Já das linhas 36 a 47 está a lógica IF do que será apresentado no display, no meu caso optei por apresentar o valor do nível UV, mas você poderá alterar para informar qual protetor solar a mamãe deve passar no seu filho, ou seja, aqui é só pra abrir sua mente, agora vai depender do seu esforço de estudar e aplicar sua imaginação.
Na última imagem do código, a figura 09 representa a função de impressão dos valores no Display de O’Led, lembrando que se você for alterar o que deseja imprimir, logo as linhas que chamam as funções u8g.drawFrame, drawBox, drawStr e setPrintPos devem ter seus valores de coordenadas alterados para ajuste na tela de onde a informação deve aparecer.
MONTAGEM DO SENSOR
Na imagem acima apresentamos a simplicidade da ligação, porém não montamos o circuito da bateria pois ficaria muito jumper pelo meio e poderia tornar confuso a imagem, mas seguindo a imagem do circuito apresentada no início desse tutorial você terá sucesso em sua montagem.
Também sugiro desenvolver uma case e imprimir na 3D, iria ficar top né?
TESTE DO SENSOR
Testando o sensor e funcionando conforme esperado, nesta imagem, por motivos técnicos, o registro do teste foi feito dentro de casa, por isso o valor 01 UV, porém levei o sensor para minha janela chegando a 7UV e instalei na vela da prancha de WindSurf chegando a valores de 9 UV, ou seja, muita radiação Ultravioleta no momento da prática do esporte as 15h.
CONCLUSÃO
Nossa missão aqui na Mecatrônica Jovem chega ao fim nesta edição, mas a sua acaba de começar, gostaria de ver você desenvolvendo este projeto colocando pra fora seu espírito explorador, nos envie fotos de seu projeto montado e qualquer dúvida estou à disposição, só me chamar no Instagram que terei o prazer em lhe ajudar na sua missão.
Prof. Sandro Mesquita
@profsandromesquita