حساس الحرارة LM35
data-original-height="800"
data-original-width="800"
height="640"
src="https://i.suar.me/l8WE5/m"
width="640"
/>
style="margin: 18px 0px 7px; overflow-wrap: break-word; padding: 0px; text-align: justify;"
>
فكرة المشروع
>يحتوي الحساس على ثلاث أقطاب قطبين للتغذية وقطب للحصول على القراء
ويقوم الحساس بتحويل تغير درجة الحرارة الى تغير بالجهد بحيث نحصل في
الخرج على تغير 10 مللي فولت عند تغير درجة الحرارة درجة واحدة مئوية
وبالتالي نريد قراءة قيمة الجهد من خرج الحساس ولكن المتحكم لا يستطيع
قراءة الجهد بشكل مباشر لذلك نحتاج لوسيط وسوف نستخدم ميزة المبدل
التشابهي الرقمي Analog to Digital converter الموجودة في الاردوينو بحيث
يقوم الاردوينو بالحسابات اللازمة للحصول على قراءة الجهدة ومن ثم
تحويلها لدرجات حرارة بطريقة سهلة >
style="font-size: 24px; margin: 18px 0px 7px; padding: 0px; text-align: justify;"
>
خصائص الحساس LM35
- جهد التغذية من4 فولت الى 20 فولت.
- مجال درجات الحرارة من 55- درجة مئوية الى 150+.
- يعطي تغير 10 مللي فولت لكل درجة واحدة مئوية.
- يستهلك تيار صغير 60 مايكرو أمبير.
- الدقة 0.5 درجة مئوية عند درجة الحرارة 25 درجة.
href="https://i.suar.me/xXMxo/m"
style="margin-left: 1em; margin-right: 1em;"
>
data-original-height="500"
data-original-width="500"
height="640"
src="https://i.suar.me/xXMxo/m"
width="640"
/>
style="font-size: 24px; margin: 18px 0px 7px; padding: 0px; text-align: justify;"
>
العمل مع الاردوينو
أولا نحتاج تحويل قيمة القراءة التشابهية لقيمة جهد لنستطيع بعد ذلك
تحويلها لدرجة حرارة
Vout = (ADC × Vref)/Res
حيث:
Vout
هي الجهد الناتج عن القراءة
ADC
هي قيمة القراءة التشابهية من الحساس
Vref
هو الجهد المرجعي وهو 5 فولت في الاردوينو
Res
وهي تعبر عن دقة المبدل وفي حالتنا هي 1024
الان ننتقل لتحويل قيمة الجهد لدرجة حرارة، كما ذكرنا سابقاً أنا قيمة
الجهد تتغير بمقدار 10 مالي فولت أي 0.01 فولت عند تغير درجة الحرارة درجة
واحدة مئوية وبالتالي:
Temp = 1×Vout/0.01
القطع المستخدمة
- حساس حرارة LM35.
- أردوينو أونو.
- أسلاك توصيل.
- لوحة توصيل.
style="font-size: 24px; margin: 18px 0px 7px; padding: 0px; text-align: justify;"
>
مخطط التوصيل
href="https://telegra.ph/file/cccac7a3a172e0de96ab8.png"
style="margin-left: 1em; margin-right: 1em;"
>
data-original-height="450"
data-original-width="800"
height="360"
src="https://telegra.ph/file/cccac7a3a172e0de96ab8.png"
idth="640"
/>
style="font-size: 24px; margin: 18px 0px 7px; padding: 0px; text-align: justify;"
>
الكود البرمجي
class="language-cpp"
>
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);
}