Faccio ancora uso del vostro immenso sapere. Ho fatto questo sketch che legge la C02, temperatura e luminosità. Il valore che mi resituisce il pin 4 analogico, che è associato alla luminosità, mi da sempre il valore 4 (se metto il pin 3 mi restituisce sempre 3). Se però carico lo stesso sketch solo per la luminosità mi dai i valori corretti. Come mai? Dove sbaglio nella compilazione?
int pinLUM = 4; // Sensore luminosità pin analog 4
int val = 0; // variable to store the value coming
// from the sensor
int pin = 5; // analog pin temp, variato pin in 5 da 0
int tempc = 0,tempf=0; // temperature variables
int samples[8]; // variables to make a better precision
int maxi = -100,mini = 100; // to start max/min temperature
int i;
int sensorValue; //nuova aggiunta
void setup()
{
Serial.begin(9600); // start serial communication
}
void loop()
{
for(i = 0;i<=7;i++){ // gets 8 samples of temperature
samples = ( 5.0 * analogRead(pin) * 100.0) / 1024.0;
tempc = tempc + samples;
delay(6000);
}
tempc = tempc/8.0; // better precision
tempf = (tempc * 9)/ 5 + 32; // converts to fahrenheit
if(tempc > maxi) {maxi = tempc;} // set max temperature
if(tempc < mini) {mini = tempc;} // set min temperature
Serial.print(tempc,DEC);
Serial.print(" Celsius, ");
Serial.print(tempf,DEC);
Serial.print(" fahrenheit -> ");
Serial.print(maxi,DEC);
Serial.print(" Max, ");
Serial.print(mini,DEC);
Serial.print(" Min");
tempc = 0;
sensorValue = analogRead(0); // NUOVA AGGIUNTA read analog input pin 0
delay(6000); // prossima lettura tra 1 minuto
Serial.print(" - Valore CO2 -> ");
Serial.print(sensorValue, DEC); // prints the value read
val = analogRead(pinLUM); // Lettura dati sensore luminosità
Serial.print(" - Luminosità -> ");
Serial.println(pinLUM);
delay(1000); // delay before loop
}
Non è pulito come uno dei vostri, ma come primo lavoro, non posso lamentarmi