recalling function values


my friend trying make project use temperature sensor.

but in de serial monitor temperature keeps giving zeros
we think has recalling function values




int temppin = a0;
int ledgroen = 7;
int ledrood = 8; // led connected digital pin 13
int maxtemp = 23; // maximale temperatuurwaarde van de omgeving
int reading = 0;
float voltage = 0;
float tempc = 0;

void analogewaarde (int reading, float voltage, float tempc)
{
  reading = analogread(temppin); //leest de waarde van temperatuur sensor
  voltage = reading*5.0; //gegeven uit de spreetsheet van de temperatuur sensor
  voltage /= 1024.0; // zet de analoge nummer 0-1023 om naar volts/digitale waarde
  tempc = (voltage - 0.5)*100; // voltage zet je om in graden celsius
}


void setup()
{
  pinmode(ledgroen, output);// configureerd de pin mode voor uigaande(out) singale of ingaande (in)
  pinmode(ledrood, output);// configureerd de pin mode voor uigaande(out) singale of ingaande (in)
  pinmode(temppin, input);// configureerd de pin mode voor uigaande(out) singale of ingaande (in)
  serial.begin(9600);     // start de connectie met de computer, druk ctrl+shift+m
}
 
void loop()
{
  analogewaarde(reading, voltage, tempc);

  if(tempc < maxtemp) // als tempc kleiner dan maxtemp dan worden de regels hier onder uitgevoerd
  {
    digitalwrite(ledrood,low);//zet led uit
    digitalwrite(ledgroen,high);//zet led aan
   }
 
  else // als de tempc groter dan maxtemp word dit gedeelte uitgevoerd
  {
    digitalwrite(ledrood,high);//zet led aan
    digitalwrite(ledgroen,low);//zet led uit
  }

  serial.print("volts = ");
  serial.print(voltage); // geeft aantal volts aan in serial monitor
  serial.print("v    ");
  serial.print("temprature (c) = ");
  serial.println(tempc); // geeft aantal graden aan in serial montitor
  delay(1000); // de tijd tussen 2 metingen in milliseconde

please modify post , use code button </>
code: [select]
so code looks this , easy copy text editor.

i not expert onf c/c++ , wonder if line
code: [select]
void analogewaarde (int reading, float voltage, float tempc)
creates local variable called tempc. if mean value in identically named global variable not updated.

the simple solution change code to
code: [select]
void analogewaarde ()
and let function use global variables

...r


Arduino Forum > Using Arduino > Programming Questions > recalling function values


arduino

Comments