Documentos de Académico
Documentos de Profesional
Documentos de Cultura
#include <SPI.h>
#include <SD.h>
#include <Wire.h>
#include <RTClib.h>
#include <ML8511.h>
//Hardware pin//
int ML8511Sen = A0; //ML8511//
int ML8511Ref = A1;
RTC_DS3231 rtc;
File myFile;
//Inicio//
void setup() {
Serial.begin(9600); //Velocidade de comunica��o//
Serial.print("Iniciando SD ...");
if (!SD.begin(10)) {
Serial.println("No se pudo inicializar");
return;
}
Serial.println("inicializacion exitosa");
if (! rtc.begin()){
Serial.println("Modulo RTC no encontrado!");
while (1);
}
rtc.adjust(DateTime(__DATE__, __TIME__));
//Comandos//
void loop() {
if (myFile) {
//ML8511//
int Sen = analogRead(A0); //valor analogico leido no sensor//
int Ref = analogRead(A1); //valor analogico leido no
referencia//
float volt_Ref= 3.3/Ref*1023;
float volt_Sen= 3.3/Ref*Sen; //compara com valor
referencia para precis�o//
float M_IUV = mapfloat(volt_Sen, 0.95, 2.8, 0.0, 15.0); //Converte voltage para
intensidade uv//
//SALVA//
DateTime fecha = rtc.now();
myFile.print(fecha.day());
myFile.print("/");
myFile.print(fecha.month());
myFile.print("/");
myFile.print(fecha.year());
myFile.print(" ");
myFile.print(fecha.hour());
myFile.print(":");
myFile.print(fecha.minute());
myFile.print(":");
myFile.print(fecha.second());
myFile.print(" ");
myFile.print(" ; ");
myFile.print(Ref);
myFile.print( " ; ");
myFile.print(volt_Ref,3);
myFile.print( " ; ");
myFile.print(Sen);
myFile.print(" ; ");
myFile.print(volt_Sen,3);
myFile.print(" ; ");
myFile.println(M_IUV);
//IMPRIME//
Serial.print(fecha.day());
Serial.print("/");
Serial.print(fecha.month());
Serial.print("/");
Serial.print(fecha.year());
Serial.print(" ");
Serial.print(fecha.hour());
Serial.print(":");
Serial.print(fecha.minute());
Serial.print(":");
Serial.print(fecha.second());
Serial.print(" ");
Serial.print(" ; ");
Serial.print(Ref);
Serial.print( " ; ");
Serial.print(volt_Ref,3);
Serial.print( " ; ");
Serial.print(Sen);
Serial.print(" ; ");
Serial.print(volt_Sen, 3);
Serial.print(" ; ");
Serial.println(M_IUV);
}
else {
Serial.println("Error al abrir el archivo");
}
delay(30000);
}
// fun��o//
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;
}