Go Down

### Topic: Graphing temperature with processing problem! (Read 1 time)previous topic - next topic

#### A student in need

##### Oct 19, 2010, 04:04 am
Alright So my current set up for my Arduino Duemilanove is 2 buttons 3 LED  a Fan and a Temp sensor my code is set to run the speed of the fan at a certain speed depending  on the temp i have a low and high set point. these two set points could be changed by using the buttons but for some odd reason every time  my temp either gets too hot or i lower my set point too low my arduino stops reading values and my graph stops giving me data

I'm sure the problem is only with the Arduino code so I'm only posting that THX

int sensorPin0 = 0, ledPin = 9, sensorPin = 3, x = 0, press=0, press2=0, sensorPin2=10, Th=25,Tl=23;
double t;

void setup()
{
Serial.begin(9600);
pinMode(7, OUTPUT);
pinMode(6, OUTPUT);
pinMode(5, OUTPUT);
}

void loop()
{
press++;
delay(100);
}
if (press>1){x++;
press=0;}

{
press2++;
delay(100);
}
if (press2>1){x--;
press2 = 0;}

float voltage = reading0 * 5.0 / 1024;
float temperatureC = (voltage - 0.5) * 100 ;
Th=27+x;
Tl=23+x;
if (temperatureC > (Th))
{t=255;
digitalWrite(7, HIGH);
digitalWrite(6, LOW);
digitalWrite(5, LOW);
}
if (temperatureC < (Th) && temperatureC > (Tl))
{t=100;
digitalWrite(7, LOW);
digitalWrite(6, HIGH);
digitalWrite(5, LOW);
}
if (temperatureC <=(Tl))
{t=0;
digitalWrite(7, LOW);
digitalWrite(6, LOW);
digitalWrite(5, HIGH);
}
for (int i=0; i<=t; i++)
{
analogWrite(ledPin, i);
}
Serial.println(Th);
Serial.println(Tl);
Serial.println(temperatureC);
Serial.println(t);
}

#### PaulS

#1
##### Oct 19, 2010, 12:50 pm
Quote
So my current set up for my Arduino Duemilanove is 2 buttons 3 LED  a Fan and a Temp sensor

Code: [Select]
`int sensorPin0 = 0, ledPin = 9, sensorPin = 3, x = 0, press=0, press2=0, sensorPin2=10, Th=25,Tl=23;`

Is that sensor connected to sensorPin, sensorPin0, or sensorPin2? Why not actually use meaningful names?

Code: [Select]
` pinMode(7, OUTPUT); pinMode(6, OUTPUT); pinMode(5, OUTPUT);`
Why don't these pins get meaningful names?

Code: [Select]
`int reading= digitalRead(sensorPin);`
Which sensor is this that is being read?

Code: [Select]
` while(reading>0) {   reading= digitalRead(sensorPin);   press++;   delay(100); } if (press>1){x++; press=0;}`
No matter how long the switch (I'm assuming that the "sensor" is really a switch) is held down, x is only incremented once. Is that what you want to have happen?

Quote
my code is set to run the speed of the fan at a certain speed depending  on the temp

The only pin that has a non-constant output is the one in the variable named ledPin. Do you have an LED or a fan connected to that pin?

Quote
every time  my temp either gets too hot or i lower my set point too low my arduino stops reading values and my graph stops giving me data

So, every time pin 7 is set HIGH, the program stops outputting serial data. What is connected to pin 7?

#### Grumpy_Mike

#2
##### Oct 19, 2010, 04:48 pm
Quote
but for some odd reason

It is not an odd reason. It is a computer program it is doing exactly what you told it to. The fact that you told it to do the wrong thing is not the computers fault or an odd or random event but entirely down to you.

#### A student in need

#3
##### Oct 21, 2010, 04:46 pm
Thx i have rewrote my code now with better meaning full language and it turned out that it was a resistor that had too low of a resistance so my program got crazy when the pin would send out a value of 255

Go Up

Please enter a valid email to subscribe