Lab_interaccio/2013/Sck_SD_beta/sensorMethods.ino
2025-02-25 21:29:42 +01:00

106 lines
2.1 KiB
C++

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;
}