Usar o Sensor ultra-violetas
O sensor de ultravioletas mede a luz no espectro ultravioleta, além do alcance possível visto a olho nu. Mais especificamente, o sensor monitoriza a luz nos comprimentos de onda entre os 280nm e os 390nm, esta gama cobre as faixas dos UVA e UVB, sendo respetivamente os raios responsáveis pelos danos causados à pele abaixo da sua superfície e os responsáveis pelas queimaduras solares sobre a pele.
Este sensor fornece informações sobre a quantidade de radiação nociva a que o protótipo do satélite está a ser exposto, que poderá depois ser armazenada em base de dados para a sua utilização e interpretação futura.
Guia de montagem
Use as instruções a seguir para ligar o sensor de UV.
Vídeo de montagem
Visualise o vídeo Missão 1 Tutorial: Sensor UV e acompanhe a montagem do sensor UV.
Diagrama de montagem
Instruções de montagem
1. Fio amarelo: Ligar o pino EN do sensor UV ao pino A1 do Arduino Pro Mini.
2. Fio branco: Ligar o pino OUT do sensor UV ao pino A0 do Arduino Pro Mini.
3. Fio laranja: Ligar o pino EN do sensor de UV ao pino 3V3 do sensorde UV.
4. Fio preto: Ligar o pino GND do sensor UV ao pino GND do Arduino Mega Pro Mini.
5. Fio vermelho: Ligar o pino de 3,3V no sensor de UV ao pino de 3.3V do Arduino Mega Pro Mini.
Código para o Sensor UV - ML8511UV
O código que se segue é o código mínimo necessário para ligar o sensor de UV à plataforma de experiências LUSOSAT.
/***************************************************
* Sensor Ultra violeta ML8511
***************************************************
* Este exemplo lê a intensidade UV do sensor ML8511
* Criado em 06/09/2016
* Por Mesquita
****************************************************/
/******************Informações**********************
* 1.Ligar o Sensor UV ML8511 ao pino A0 do Arduino
http://www.lusosat.org/images/uv_ML8511UV_1.png
* 2.Código testado com o Arduino UNO, Nano, Mega e Mega Pro Mini
****************************************************/
int pinoIntensidadeUV = A0; // Pino onde o sensor está ligado
void setup(){
pinMode(pinoIntensidadeUV, INPUT);
Serial.begin(9600); // Abre a porta serie para 9600bps
Serial.println("A inicializar...");
}
void loop(){
int nivelUV = mediaLeituras(pinoIntensidadeUV);
float voltagemSaida = 5.0 * nivelUV/1024;
float intensidadeUV = mapfloat(outputVoltage, 0.99, 2.9, 0.0, 15.0);
Serial.print("UVAnalogOutput: ");
Serial.print(uvLevel);
Serial.print(" Voltagem Saida: ");
Serial.print(voltagemSaida);
Serial.print(" Intensidade UV: ");
Serial.print(intensidadeUV);
Serial.print(" mW/cm^2");
Serial.println();
delay(100);
}
// Media de leitura de um pino
// Devolve a media
int mediaLeituras(int pino){
byte numLeituras = 8;
unsigned int valor = 0;
for(int x=0; x < numLeituras ; x++)
valor += analogRead(pino);
valor /= numLeituras;
return(valor);
}
//The Arduino Map function but for floats
//fonte: http://forum.arduino.cc/index.php?topic=3922.0
float mapfloat(float x, float in_min, float in_max, float out_min, float out_max){
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}
Usos para o sensor de temperatura
Terra
- Risco de queimaduras
- Temperatura interior/exterior das habitações
- Solidificação de epoxy com temperatura
- Avaliação de protetores de temperatura
- Determinar o risco de degradação solar nos plasticos
Espaço
- Detetar a luz UV do sol
- Atividades com o sensor
Experiências
- Monitorização de plantas
- Óculos solares e os raios UV
- Especificações do sensor
Recursos Adicionais
- ML8511 Reference Board Manual para Sensores UV
- ML8511 Datasheet
- ML8511 UV Sensor Hookup Guide