📚 برمجة مستشعر الحرارة في تينكركاد والأردوينو
المفاهيم الأساسية
لبنات تينكركاد: بيئة برمجة مرئية (بلوكات) لإنشاء دوائر الأردوينو والمحاكاة.
برمجة الأردوينو: عملية كتابة تعليمات برمجية (كود) بلغة C++ للتحكم في لوحة الأردوينو ومكوناتها.
الكائن التسلسلي (Serial): أداة في برمجة الأردوينو تستخدم للتواصل وطباعة البيانات على الشاشة التسلسلية (Serial Monitor).
خريطة المفاهيم
```markmap
مثال محرك التيار المستمر
الهدف من المشروع
إنشاء دائرة للتحكم في محرك DC بناءً على درجة الحرارة
المكونات المطلوبة
لوحة أردوينو (Arduino Uno R3)
محرك تيار مستمر (DC motor)
مستشعر درجة الحرارة (TMP36)
توصيل الدائرة
توصيل مستشعر الحرارة TMP36
#### الطرف Power (الطاقة) إلى 5V في الأردوينو (سلك أحمر)
#### الطرف Vout (مخرج الجهد) إلى الطرف التشابهي A0 (سلك أخضر)
#### الطرف GND (الأرضي) إلى GND في الأردوينو (سلك أسود)
توصيل محرك DC
#### الطرف 1 من المحرك إلى GND في الأردوينو (سلك أسود)
#### الطرف 2 من المحرك إلى الطرف الرقمي 11 (سلك أحمر)
البرمجة
لبنات تينكركاد (Blockly)
#### قراءة مستشعر الحرارة من المنفذ A0
#### طباعة القراءة على الشاشة التسلسلية
#### إذا كانت درجة الحرارة >= 27°C
##### تشغيل المنفذ 11 (HIGH)
##### الانتظار 2 ثانية
##### إيقاف المنفذ 11 (LOW)
برمجة الأردوينو (C++)
#### إعداد المنافذ في دالة `setup()`
##### `pinMode(A0, INPUT);`
##### `pinMode(11, OUTPUT);`
##### `Serial.begin(9600);`
#### المنطق الرئيسي في دالة `loop()`
##### قراءة وتحويل قيمة الحرارة: `temperature = (-40 + 0.488155 * (analogRead(A0) - 20));`
##### طباعة الحرارة: `Serial.println(temperature);`
##### التحكم الشرطي في المحرك: `if (temperature >= 27) { ... }`
العناصر المرئية
شكل 6.15: مكونات المشروع
شكل 6.16: توصيل الدائرة
لبنات تينكركاد
كود C++ للأردوينو
```
نقاط مهمة
- يقرأ البرنامج درجة الحرارة من المستشعر المتصل بالمنفذ التناظري A0.
- عندما تصل درجة الحرارة إلى 27°C أو أكثر، يُشغل محرك التيار المستمر (عبر المنفذ الرقمي 11) لمدة ثانيتين.
- في تينكركاد، يمكن رؤية الكود المكافئ بلغة C++ عن طريق اختيار وضع البرمجة نص (Text).
- دالة `Serial.begin(9600)` في `setup()` تُجهز الشاشة التسلسلية للاستخدام.
- دالة `Serial.println()` تطبع البيانات وتضيف سطراً جديداً في النهاية.