Форум по Роботика

Контролери => Ардуино (Arduino) => Темата е започната от: mitko29 в Август 17, 2011, 11:19:51 pm

Титла: Ардуино термометър
Публикувано от: mitko29 в Август 17, 2011, 11:19:51 pm
Здравейте реших да направя ардуино термометър като използвам термистор със стойност 4K7ома.
Резултата може да бъде видян тук:
http://www.4shared.com/video/WcWFufek/18082011018.html
Когато температурата е 25-26 градуса светва зеленият диод,когато температурата е 27 или 28 градуса светва белият а при всички останали случай червеният.

Ето го и кода скоро ще му придам визия в една кутия на стрейф парфюма и ще го оставя на вънка за една вечер да видя, как ще се справи:

#include <math.h>
int ledPin1 =  3;
int ledPin2 =  4;
int ledPin3 =  8;
void setup(void) {
pinMode(ledPin1, OUTPUT);  
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);    
 Serial.begin(9600);
}
double Thermistor(int RawADC) {
  double Temp;
  Temp = log(((10240000/RawADC) - 4700));
  Temp = 1 / (0.001129148 + (0.000234125 * Temp) + (0.0000000876741 * Temp * Temp * Temp));
  Temp = Temp - 273.15;
  return Temp;
}

void loop(void) {
  int temp = Thermistor(analogRead(0));
  Serial.println(temp);
   delay(1000);
 if ((temp == 25) || (temp ==26))
{
   digitalWrite(ledPin1,LOW);
   digitalWrite(ledPin2,LOW);
  digitalWrite(ledPin3,HIGH);
}
else if ((temp ==27) || (temp == 28))
{
  digitalWrite(ledPin3,LOW);
   digitalWrite(ledPin1,LOW);
  digitalWrite(ledPin2,HIGH);
}
else
{
 digitalWrite(ledPin2,LOW);
  digitalWrite(ledPin3,LOW);
 digitalWrite(ledPin1,HIGH);
}
     delay(10);
}
Титла: Ардуино термометър
Публикувано от: ka4a4e в Ноември 26, 2011, 03:51:37 pm
Програмката е много добра но искам да питам може ли да ми даде по голям диапазон на измерване от това което дава +20 / +29.
Титла: Ардуино термометър
Публикувано от: tonivox в Февруари 08, 2012, 10:10:28 am
Дава всички стойности от -40 до + 150 градуса. Най-вече зависи от термистора. Аз го правих с 10 килоома и работи перфектно.