106 lines
2.1 KiB
Arduino
106 lines
2.1 KiB
Arduino
|
|
||
|
void DHTerrorHandler(DHT22_ERROR_t errorCode) {
|
||
|
switch(errorCode) {
|
||
|
case DHT_ERROR_NONE:
|
||
|
DHT22ok = true;
|
||
|
break;
|
||
|
default:
|
||
|
DHT22ok = false;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
float getTemperatureC(){
|
||
|
if (DHT22ok) {
|
||
|
return myDHT22.getTemperatureC();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
float getHumidity(){
|
||
|
if (DHT22ok) {
|
||
|
return myDHT22.getHumidity();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
float getPanel(){
|
||
|
float value = mapfloat(average(PANEL), 409, 819, 0, 100);
|
||
|
if (value>0) {
|
||
|
return value; // %
|
||
|
}
|
||
|
else {
|
||
|
return 0; // %
|
||
|
}
|
||
|
}
|
||
|
|
||
|
float getBattery() {
|
||
|
|
||
|
float temp = average(BAT);
|
||
|
Serial.print("Battery: ");
|
||
|
Serial.println(temp);
|
||
|
Serial.println("*******************");
|
||
|
|
||
|
temp = mapfloat(temp, 613, 825, 0, 100);
|
||
|
if (temp>100) temp=100;
|
||
|
if (temp<0) temp=0;
|
||
|
return temp;
|
||
|
}
|
||
|
|
||
|
float getLight(){
|
||
|
//float temp = mapfloat(average(S5), 370, 1021, 0, 100);
|
||
|
float temp = mapfloat(average(S5), 30, 1023, 0, 100);
|
||
|
if (temp>100) temp=100;
|
||
|
if (temp<0) temp=0;
|
||
|
//Serial.print("light: ");
|
||
|
//Serial.println(((float)((float)average(S5)/1023)*Vref));
|
||
|
return temp;
|
||
|
// return ((float)((float)average(S5)/1023)*Vref);
|
||
|
}
|
||
|
|
||
|
float getNoise() {
|
||
|
unsigned long temp = 0;
|
||
|
int temp_actual = 0;
|
||
|
int max_temp = 0;
|
||
|
float mVRaw = 0;
|
||
|
float max_mVRaw = 0;
|
||
|
float dB_temp = 0;
|
||
|
float dB = 0;
|
||
|
int n = 200;
|
||
|
|
||
|
digitalWrite(IO1, HIGH); //VH_MICS2710
|
||
|
delay(500); // LE DAMOS TIEMPO A LA FUENTE Y QUE DESAPAREZCA EL TRANSITORIO
|
||
|
//
|
||
|
// for (int i=0; i<n; i++)
|
||
|
// {
|
||
|
// delay(5);
|
||
|
// //temp_actual = analogRead(S4);
|
||
|
// mVRaw = (float)((analogRead(S4))/1023.)*Vref;
|
||
|
//
|
||
|
// //dB_temp = 16.801*log( (mVRaw*200)/1000. ) + 9.872;
|
||
|
// dB_temp = 10*log( (mVRaw*200)/1000. ) + 40;
|
||
|
//
|
||
|
// temp = temp + dB_temp;
|
||
|
//
|
||
|
// }
|
||
|
//
|
||
|
// dB = temp/n;
|
||
|
// if(dB < 70) dB = 70; // minimo con la resolucion actual!
|
||
|
|
||
|
mVRaw = (float)((float)(average(S4))/1023)*Vref;
|
||
|
|
||
|
Serial.print("nOISE = ");
|
||
|
Serial.println(mVRaw);
|
||
|
|
||
|
digitalWrite(IO1, LOW); //VH_MICS2710
|
||
|
//return max_mVRaw;
|
||
|
return mVRaw;
|
||
|
|
||
|
// Serial.print("Noise: ");
|
||
|
// Serial.print(dB);
|
||
|
// Serial.println(" dB");
|
||
|
// Serial.println("*******************");
|
||
|
//
|
||
|
// return dB;
|
||
|
|
||
|
}
|
||
|
|
||
|
|