حساس الحرارة LM35
مبدأ عمل الحساس
يحتوي الحساس على ثلاث أقطاب قطبين للتغذية وقطب للحصول على القراء ويقوم الحساس بتحويل تغير درجة الحرارة الى تغير بالجهد بحيث نحصل في الخرج على تغير 10 مللي فولت عند تغير درجة الحرارة درجة واحدة مئوية وبالتالي نريد قراءة قيمة الجهد من خرج الحساس ولكن المتحكم لا يستطيع قراءة الجهد بشكل مباشر لذلك نحتاج لوسيط وسوف نستخدم ميزة المبدل التشابهي الرقمي Analog to Digital converter الموجودة في الاردوينو بحيث يقوم الاردوينو بالحسابات اللازمة للحصول على قراءة الجهدة ومن ثم تحويلها لدرجات حرارة بطريقة سهلة
خصائص الحساس LM35
- جهد التغذية من4 فولت الى 20 فولت.
- مجال درجات الحرارة من 55- درجة مئوية الى 150+.
- يعطي تغير 10 مللي فولت لكل درجة واحدة مئوية.
- يستهلك تيار صغير 60 مايكرو أمبير.
- الدقة 0.5 درجة مئوية عند درجة الحرارة 25 درجة.
العمل مع الاردوينو
أولا نحتاج تحويل قيمة القراءة التشابهية لقيمة جهد لنستطيع بعد ذلك تحويلها لدرجة حرارة
Vout = (ADC × Vref)/Res
حيث:
Vout
هي الجهد الناتج عن القراءة
ADC
هي قيمة القراءة التشابهية من الحساس
Vref
هو الجهد المرجعي وهو 5 فولت في الاردوينو
Res
وهي تعبر عن دقة المبدل وفي حالتنا هي 1024
الان ننتقل لتحويل قيمة الجهد لدرجة حرارة، كما ذكرنا سابقاً أنا قيمة الجهد تتغير بمقدار 10 مالي فولت أي 0.01 فولت عند تغير درجة الحرارة درجة واحدة مئوية وبالتالي:
Temp = 1×Vout/0.01
القطع المستخدمة
- حساس حرارة LM35.
- أردوينو أونو.
- أسلاك توصيل.
- لوحة توصيل.
مخطط التوصيل
الكود البرمجي
int val;
int tempPin = 1;
void setup(){
Serial.begin(9600);
}
void loop(){
//Read Raw ADC Data
val = analogRead(tempPin);
// Convert that ADC Data into voltage
float mv = (val/1024.0)*5;
// Convert the voltage into temperature
float cel = mv/0.01;
// Print the temperature data
Serial.print("TEMPRATURE = ");
Serial.print(cel);
Serial.print("*C");
Serial.println();
// wait a second between readings
delay(1000);
}