- المواد المطلوبة:
- منهجية العمل:
- المتطلبات المسبقة:
- عمل جهاز التحكم عن بعد AC:
- مخطط الدائرة وشرحها:
- فك تشفير إشارات التحكم عن بعد الخاصة بالتيار المتردد
- برنامج اردوينو الرئيسي:
- عمل نظام التحكم الأوتوماتيكي في درجة حرارة مكيف الهواء:
مكيف هواء كان يُعتبر في يوم من الأيام عنصرًا فاخرًا وكان موجودًا فقط في الفنادق الكبيرة وقاعات السينما والمطاعم وما إلى ذلك… ولكن الآن ، أصبح لدى الجميع تقريبًا مكيف في منزلنا للتغلب على الصيف / الشتاء وأولئك الذين لديهم ، قلقون بشأن شيء واحد مشترك. هذا هو ارتفاع استهلاكهم للكهرباء وأجهزة الشحن بسبب ذلك. في هذا المشروع ، سنقوم بإنشاء دائرة صغيرة للتحكم في درجة الحرارة تلقائيًا يمكنها تقليل شحنات الكهرباء عن طريق تغيير درجة حرارة التيار المتردد تلقائيًا بناءً على درجة حرارة الغرفة. من خلال تغيير درجة الحرارة المحددة بشكل دوري ، يمكننا تجنب جعل مكيف الهواء يعمل بقيم درجات حرارة منخفضة لفترة طويلة ، وبالتالي يجعله يستهلك طاقة أقل.
كان معظمنا قد واجه موقفًا يتعين علينا فيه تغيير درجة الحرارة المحددة لمكيف الهواء إلى قيم مختلفة خلال أوقات مختلفة من اليوم ، وذلك لإبقائنا مرتاحين طوال الوقت. لأتمتة هذه العملية ، يستخدم هذا المشروع مستشعر درجة الحرارة (DHT11) الذي يقرأ درجة الحرارة الحالية للغرفة وبناءً على هذه القيمة سوف يرسل أوامر إلى التيار المتردد من خلال مكبر الأشعة تحت الحمراء المماثل لجهاز التحكم عن بعد الخاص بالتيار المتردد. سوف يتفاعل مكيف الهواء مع هذه الأوامر كما لو كان يتفاعل مع جهاز التحكم عن بعد الخاص به وبالتالي يضبط درجة الحرارة. مع تغير درجة حرارة غرفتك ، سيقوم Arduino أيضًا بضبط درجة حرارة مكيف الهواء الخاص بك للحفاظ على درجة حرارتك بالطريقة التي تريدها. يبدو رائعًا ، أليس كذلك؟… دعونا نرى كيف نبني واحدة.
المواد المطلوبة:
- اردوينو ميجا 2560
- TSOP1738 (HS0038)
- بقيادة الأشعة تحت الحمراء
- DHT11 مستشعر درجة الحرارة / الرطوبة
- أي لون LED ومقاوم 1K (اختياري)
- اللوح
- توصيل الأسلاك
منهجية العمل:
تعمل جميع أجهزة التحكم عن بعد الموجودة في منزلنا والتي نستخدمها للتحكم في التلفزيون والمسرح المنزلي والتكييف وما إلى ذلك بمساعدة IR Blasters. إن مكبر الأشعة تحت الحمراء ليس سوى مصباح LED يعمل بالأشعة تحت الحمراء يمكنه إطلاق إشارة من خلال نبض متكرر ؛ سيتم قراءة هذه الإشارة من قبل المتلقي في الأجهزة الإلكترونية. لكل زر مختلف على جهاز التحكم عن بعد ، سيتم إطلاق إشارة فريدة يتم استخدامها بعد قراءتها بواسطة جهاز الاستقبال لأداء مهمة معينة محددة مسبقًا. إذا تمكنا من قراءة هذه الإشارة الصادرة من جهاز التحكم عن بُعد ، فيمكننا حينئذٍ محاكاة نفس الإشارة باستخدام مصباح LED بالأشعة تحت الحمراء عند الحاجة لأداء هذه المهمة المحددة. لقد صنعنا سابقًا دائرة IR Blaster لـ Universal IR Remote.
A TSOP هو استقبال الأشعة تحت الحمراء التي يمكن استخدامها لفك الإشارة القادمة من أجهزة التحكم عن بعد. سيتم توصيل جهاز الاستقبال هذا مع Arduino للإشارة لكل زر ثم سيتم استخدام IR Led مع Arduino لتقليد الإشارة عند الحاجة. بهذه الطريقة يمكننا التحكم في التيار المتردد باستخدام Arduino.
الآن ، كل ما تبقى هو قراءة قيمة درجة الحرارة باستخدام DHT11 وإرشاد التيار المتردد وفقًا لذلك باستخدام إشارات الأشعة تحت الحمراء. لجعل المشروع يبدو أكثر جاذبية وسهولة في الاستخدام ، أضفت أيضًا شاشة OLED تعرض درجة الحرارة الحالية والرطوبة ودرجة حرارة التيار المتردد. تعرف على المزيد حول استخدام OLED مع Arduino.
المتطلبات المسبقة:
هذا المشروع التلقائي للتحكم في درجة حرارة التيار المتردد متقدم قليلاً بالنسبة لمستوى المبتدئين ، ولكن بمساعدة بعض البرامج التعليمية الأخرى ، يمكن لأي شخص بناء هذا بمرور الوقت. لذلك إذا كنت مبتدئًا تمامًا في OLED أو DHT11 أو TSOP ، فيرجى الرجوع إلى هذه البرامج التعليمية أدناه حيث يمكنك تعلم الأساسيات وكيفية البدء بها. قد تبدو القائمة طويلة بعض الشيء ، لكن ثق بي أنها سهلة وتستحق التعلم ، كما أنها ستفتح الأبواب للعديد من المشاريع الجديدة.
- الدائرة الأساسية باستخدام TSOP و IR LED تحت عملهم
- دليل التوصيل الأساسي لـ DHT11 مع Arduino
- دليل التوصيل الأساسي لـ OLED مع Arduino
- ربط TSOP مع Arduino لقراءة قيم IR عن بعد
تأكد من أن لديك Arduino Mega وأي إصدار آخر من Arduino ، لأن حجم الكود ثقيل. تحقق أيضًا مما إذا كنت قد قمت بالفعل بتثبيت مكتبات Arduino التالية إذا لم تقم بتثبيتها من الرابط أدناه
- مكتبة IR عن بعد لـ TSOP و IR Blaster
- مكتبة Adafruit لـ OLED
- مكتبة رسومات GFX لـ OLED
- مكتبة مستشعر DHT11 لجهاز استشعار درجة الحرارة
عمل جهاز التحكم عن بعد AC:
قبل الشروع في المشروع ، خذ بعض الوقت ولاحظ كيف يعمل جهاز التحكم عن بعد الخاص بمكيف الهواء. تعمل أجهزة التحكم عن بُعد الخاصة بالتيار المتردد بطريقة مختلفة قليلاً مقارنةً بالتلفزيون وأجهزة التحكم عن بُعد الخاصة بأقراص DVD IR. قد يكون هناك فقط من 10 إلى 12 زرًا على جهاز التحكم عن بُعد الخاص بك ، ولكنها ستكون قادرة على إرسال الكثير من أنواع الإشارات المختلفة. بمعنى أن جهاز التحكم عن بعد لا يرسل نفس الرمز في كل مرة لنفس الزر. على سبيل المثال ، عند خفض درجة الحرارة باستخدام الزر السفلي لجعلها 24 درجة مئوية (درجة مئوية) ، ستحصل على إشارة بمجموعة من البيانات ، ولكن عندما تضغط عليها مرة أخرى لضبط 25 درجة مئوية ، فلن تحصل على نفس الشيء البيانات نظرًا لأن درجة الحرارة الآن 25 وليس 24. وبالمثل ، سيختلف رمز 25 أيضًا باختلاف سرعة المروحة وإعدادات السكون وما إلى ذلك ، لذلك دعونا لا نتلاعب بجميع الخيارات ونركز فقط على قيم درجة الحرارة ذات القيمة الثابتة للإعدادات الأخرى.
مشكلة أخرى هي كمية البيانات التي يتم إرسالها لكل ضغطة زر ، وأجهزة التحكم عن بعد العادية مع إرسال إما 24 بت أو 48 بت ولكن جهاز التحكم عن بعد AC قد يرسل ما يصل إلى 228 بت لأن كل إشارة تحتوي على الكثير من المعلومات مثل Temp و Fan Speed و توقيت النوم ، أسلوب التأرجح ، إلخ. هذا هو سبب حاجتنا إلى Arduino Mega للحصول على خيارات تخزين أفضل.
مخطط الدائرة وشرحها:
لحسن الحظ ، يعد إعداد الأجهزة لمشروع التحكم التلقائي في درجة حرارة التيار المتردد أمرًا سهلاً للغاية. يمكنك ببساطة استخدام لوح التجارب وإجراء الاتصالات كما هو موضح أدناه.
يمكن أيضًا استخدام الجدول التالي للتحقق من اتصالاتك.
رقم S. |
مكون دبوس |
اردوينو دبوس |
1 |
OLED - Vcc |
5 فولت |
2 |
OLED - Gnd |
Gnd |
3 |
OLED- SCK ، D0 ، SCL ، CLK |
4 |
4 |
OLED- SDA ، D1 ، MOSI ، البيانات |
3 |
5 |
OLED- RES ، RST ، RESET |
7 |
6 |
OLED- DC ، A0 |
5 |
7 |
OLED- CS ، رقاقة تحديد |
6 |
8 |
DHT11 - Vcc |
5 فولت |
9 |
DHT11 - Gnd |
Gnd |
10 |
DHT11 - إشارة |
13 |
11 |
TSOP - Vcc |
5 فولت |
12 |
TSOP - Gnd |
Gnd |
13 |
الصمام IR - الأنود |
9 |
14 |
الصمام IR - الكاثود |
Gnd |
بمجرد الانتهاء من الاتصالات ، يجب أن تبدو كما هو موضح أدناه. لقد استخدمت Breadboard لترتيب الأشياء ، ولكن يمكنك أيضًا استخدام أسلاك من الذكور إلى الإناث مباشرة لتوصيل جميع المكونات
فك تشفير إشارات التحكم عن بعد الخاصة بالتيار المتردد
الخطوة الأولى للسيطرة AC الخاص بك لاستخدام TSOP1738 إلى فك AC بعيد رموز مراقبة الأشعة تحت الحمراء. قم بإجراء جميع التوصيلات كما هو موضح في مخطط الدائرة وتأكد من تثبيت جميع المكتبات المذكورة. افتح الآن برنامج المثال " IRrecvDumpV2 " والذي يمكن العثور عليه في File -> Examples -> IRremote -> IRrecvDumpV2 . قم بتحميل البرنامج على Arduino Mega وافتح Serial Monitor.
وجه جهاز التحكم عن بُعد نحو TSOP واضغط على أي زر ، لكل زر تضغط عليه ، سيتم قراءة الإشارة الخاصة به بواسطة TSOP1738 ، وفك تشفيرها بواسطة Arduino وعرضها في Serial Monitor. لكل تغيير في درجة الحرارة على جهاز التحكم عن بعد ، ستحصل على بيانات مختلفة. احفظ هذه البيانات لأننا سنستخدمها في برنامجنا الرئيسي. ستبدو شاشتك التسلسلية على هذا النحو ، لقد عرضت أيضًا ملف Word الذي قمت بحفظ البيانات المنسوخة عليه.
تُظهر لقطة الشاشة رمز ضبط درجة الحرارة عند 26 درجة مئوية لجهاز التحكم عن بعد الخاص بالتيار المتردد. بناءً على جهاز التحكم عن بُعد ، ستحصل على مجموعة مختلفة من الرموز. وبالمثل انسخ الرموز لجميع مستويات درجات الحرارة المختلفة. يمكنك التحقق من جميع رموز الأشعة تحت الحمراء للتحكم عن بعد في مكيف الهواء في كود Arduino الوارد في نهاية هذا البرنامج التعليمي.
برنامج اردوينو الرئيسي:
في برنامج اردوينو الرئيسي كاملة ويمكن الاطلاع على الجزء السفلي من هذه الصفحة، ولكن لا يمكنك استخدام نفس البرنامج. يجب عليك تغيير قيم رمز الإشارة التي حصلنا عليها للتو من مثال الرسم أعلاه. افتح البرنامج الرئيسي على Arduino IDE وانتقل لأسفل إلى هذه المنطقة الموضحة أدناه حيث يتعين عليك استبدال قيم الصفيف بالقيم التي حصلت عليها لجهاز التحكم عن بُعد.
لاحظ أنني استخدمت 10 صفائف ، اثنان منها يستخدمان لتشغيل وإيقاف التيار المتردد بينما الباقي 8 يستخدم لضبط درجة حرارة مختلفة. على سبيل المثال ، يتم استخدام Temp23 لضبط 23 درجة مئوية على مكيف الهواء الخاص بك ، لذا استخدم الكود المعني في تلك المصفوفة. بمجرد الانتهاء من ذلك ، عليك فقط تحميل الكود إلى Arduino الخاص بك ووضعه مقابل مكيف الهواء والاستمتاع بـ Cool Breeze.
شرح الكود كما يلي ، علينا أولاً استخدام مستشعر درجة الحرارة DHT1 لقراءة درجة الحرارة والرطوبة وعرضها على OLED. يتم ذلك عن طريق الكود التالي.
DHT.read11 (DHT11_PIN) ، // اقرأ Temp and Humidity Measured_temp = DHT.temperature + temp_error؛ Measured_Humi = DHT. الرطوبة ؛ // اختبارات عرض النص display.setTextSize (1) ؛ display.setTextColor (WHITE) ، display.setCursor (0،0) ؛ display.print ("درجة الحرارة:") ؛ display.print (Measured_temp) ؛ display.println ("C") ؛ display.setCursor (0،10) ؛ display.print ("الرطوبة:") ؛ display.print (Measured_Humi) ؛ display.println ("٪") ؛
بمجرد أن نعرف درجة حرارة الغرفة ، علينا فقط مقارنتها بالقيمة المطلوبة. هذه القيمة المطلوبة هي قيمة ثابتة يتم تعيينها على 27 درجة مئوية (درجة مئوية) في برنامجي. بناءً على هذه المقارنة ، سنقوم بتعيين درجة حرارة AC مقابلة كما هو موضح أدناه
if (Measured_temp == Desired_temperature + 3) // إذا كان التيار المتردد قيد التشغيل وكانت درجة الحرارة المقاسة عالية جدًا عن المرغوبة {irsend.sendRaw (Temp24، sizeof (Temp24) / sizeof (Temp24)، khz) ؛ تأخير (2000) ؛ // إرسال إشارة لتعيين 24 * C AC_Temp = 24 ؛ }
هنا سيتم ضبط مكيف الهواء على 24 درجة مئوية عندما تكون درجة الحرارة المقاسة 30 درجة مئوية (لأن درجة الحرارة المطلوبة هي 27). وبالمثل ، يمكننا إنشاء العديد من حلقات If لضبط مستوى مختلف من درجات الحرارة بناءً على درجة الحرارة المقاسة كما هو موضح أدناه.
إذا (Measured_temp == Desired_temperature-1) // إذا كان التيار المتردد قيد التشغيل وكانت درجة الحرارة المقاسة منخفضة عن القيمة المطلوبة {irsend.sendRaw (Temp28، sizeof (Temp28) / sizeof (Temp28)، khz) ؛ تأخير (2000) ؛ // إرسال إشارة لتعيين 28 * C AC_Temp = 28 ؛ } if (Measured_temp == Desired_temperature-2) // إذا كان التيار المتردد قيد التشغيل وكانت درجة الحرارة المقاسة منخفضة جدًا عن القيمة المطلوبة {irsend.sendRaw (Temp29، sizeof (Temp29) / sizeof (Temp29)، khz) ؛ تأخير (2000) ؛ // أرسل إشارة لضبط 29 * C AC_Temp = 29 ؛ } if (Measured_temp == Desired_temperature-3) // إذا كان التيار المتردد قيد التشغيل وكانت درجة الحرارة المقاسة منخفضة جدًا للقيمة المطلوبة {irsend.sendRaw (Temp30، sizeof (Temp30) / sizeof (Temp30)، khz) ؛ تأخير (2000) ؛ // أرسل إشارة لتعيين 30 * C AC_Temp = 30 ؛ }
عمل نظام التحكم الأوتوماتيكي في درجة حرارة مكيف الهواء:
عندما يكون كودك وجهازك جاهزًا ، قم بتحميل الكود إلى لوحك ويجب أن تلاحظ أن OLED تعرض شيئًا مشابهًا لهذا.
الآن ضع الدائرة الكهربائية المقابلة لمكيف الهواء الخاص بك وستلاحظ التحكم في درجة حرارة مكيف الهواء بناءً على درجة حرارة الغرفة. يمكنك محاولة زيادة درجة الحرارة بالقرب من مستشعر DHT11 للتحقق من التحكم في درجة حرارة مكيف الهواء كما هو موضح في الفيديو أدناه.
يمكنك تعديل البرنامج لأداء أي إجراء مطلوب ؛ كل ما تحتاجه هو الكود الذي حصلت عليه من مثال الرسم. آمل أن تكون قد فهمت مشروع وحدة التحكم في درجة الحرارة التلقائية واستمتعت ببناء شيء مشابه جدًا. أعلم أن هناك الكثير من الأماكن هنا لتعلق بها ، لكن لا تقلق بعد ذلك. ما عليك سوى استخدام قسم المنتدى أو التعليق لشرح مشكلتك وسيساعدك الأشخاص هنا بالتأكيد على حلها.