#ifndef SENSORI_H_
#define SENSORI_H_
#include <Arduino.h>
class Sensori
{ //sensori da leggere
float light;
float temperature;
float altitude;
//int humidity; int pressure; bool rain;
static int cont;
public:
Sensori();
void getSensori(char buf[],byte bufsize);
float getTemperature() { return temperature; }
float getAltitude() { return altitude; }
float getLight() { return light; }
int getCont() { return cont; }
};
#endif /* SENSORI_H_ */
int Sensori::cont = 0;
Sensori::Sensori()
{ temperature=20+cont;
light=12+cont;
//humidity=3+cont; pressure=1000+cont; rain= (cont%2)==0 ? true : false;
altitude=120+cont;
cont++;
}
void Sensori::getSensori(char buf[],byte bufsize)
{ char tmpt[5],tmpa[5],tmpl[5];
dtostrf(altitude , 2, 1, tmpa);
dtostrf(temperature, 2, 1, tmpt);
dtostrf(light , 2, 1, tmpl);
snprintf(buf,bufsize,"temp=%s lum=%s alt=%s",tmpt,tmpl,tmpa);
}
void setup()
{ delay(1000);
Serial.begin(9600); //stabilisco una connessione con il pc
Serial.println("Inizializzazione");
}
void loop()
{ char buffer[40];
Sensori obj;
obj.getSensori(buffer,sizeof(buffer));
Serial.println(buffer);
delay(3000);
}
Inizializzazione
temp=20.0 lum=12.0 alt=120.012.0
temp=21.0 lum=13.0 alt=121.013.0
temp=22.0 lum=14.0 alt=122.014.0
temp=23.0 lum=15.0 alt=123.015.0
temp=24.0 lum=16.0 alt=124.016.0