جهاز Air Sense هو جهاز تنقية هواء ذكي يعمل بتقنية إنترنت الأشياء، ويراقب جودة الهواء الداخلي في الوقت الفعلي، ويزيل الملوثات الضارة تلقائيًا.
المكونات المستخدمة في هذا المشروع
المكونات المادية
شاشة عرض LCD من Waveshare مقاس 2.4 بوصة
× 1
مستشعر غبار من Waveshare
× 1
مستشعر بيئي BME680 من Waveshare
× 1
وحدة ترحيل رقمية 10 أمبي
وحدة ESP32-S3 من Waveshare
محول طاقة 5 فولت 2 أمبير
جهاز تنقية هواء ذكي من Xiaomi بأربعة فلاتر
مروحة تهوية ذكية من Anchor مقاس 150 مم
صندوق غبار مفتوح من الفولاذ المقاوم للصدأ - سعة 18 لترًا
تطبيقات البرامج والخدمات عبر الإنترنت
فيوجن
أوتوديسك فيوجن
بيئة تطوير أردوينو المتكاملة
بيئة تطوير أردوينو المتكاملة
خدمة إنترنت الأشياء السحابية من أردوينو
خدمة إنترنت الأشياء السحابية من أردوينو
أدوات يدوية وآلات تصنيع
مكواة لحام (عامة)
مكواة لحام (عامة)
سلك لحام خالٍ من الرصاص
سلك لحام خالٍ من الرصاص
كماشة ذات فكين مدببين
كماشة ذات فكين مدببين
أداة استخراج، طقم مستخرج براغي ومفك براغي من 6 قطع
أداة استخراج، طقم مستخرج براغي ومفك براغي من 6 قطع
قصة
غالبًا ما يحتوي الهواء الذي نتنفسه داخل المنازل على غبار وملوثات ومواد مسببة للحساسية وجزيئات مجهرية قد لا نلاحظها، لكنها تؤثر على صحتنا مع مرور الوقت. ورغم تزايد انتشار أجهزة تنقية الهواء التجارية، إلا أنها غالبًا ما تكون باهظة الثمن، ويصعب تخصيصها، ولا توفر معلومات كافية عن جودة الهواء المحيط بنا.
ولحل هذه المشكلة، ابتكرتُ AirSense، وهو جهاز تنقية هواء ذكي يمكن تركيبه بسهولة، يجمع بين تنقية الهواء ومراقبة البيئة والاتصال السحابي في نظام واحد ذكي. فبدلًا من مجرد ترشيح الهواء، يقيس AirSense جودة الهواء الداخلي باستمرار، ويوفر معلومات آنية عن البيئة، مما يساعد المستخدمين على فهم وتحسين جودة الهواء الذي يتنفسونه.
يعتمد النظام على معالج Waveshare ESP32-S3، ويراقب تركيز غبار PM2.5، ومؤشر جودة الهواء (AQI)، ودرجة الحرارة، والرطوبة، والضغط الجوي، وجودة الهواء الداخلي باستخدام مستشعرات بيئية متخصصة. تُعرض جميع البيانات المُجمّعة محليًا على شاشة LCD أمامية، ويمكن الوصول إليها عن بُعد عبر منصة Arduino IoT Cloud، مما يتيح للمستخدمين مراقبة بيئتهم والتحكم في جهاز تنقية الهواء من أي مكان باستخدام هواتفهم الذكية.
يُعدّ فلتر HEPA الخاص بجهاز تنقية الهواء Xiaomi Air Purifier 4 Lite جوهر نظام AirSense، وهو قادر على التقاط ما يصل إلى 99.97% من الجسيمات المحمولة جوًا التي يصل حجمها إلى 0.3 ميكرومتر، بما في ذلك الغبار وحبوب اللقاح وجزيئات الدخان وغيرها من الملوثات الشائعة في الهواء. وبفضل مروحة شفط قوية بقطر 150 مم، يسحب النظام الهواء باستمرار عبر الفلتر الأسطواني بزاوية 360 درجة، مما يُساعد على توفير هواء أنقى وأكثر صحة مع توفير رؤية شاملة للبيئة المحيطة.
ولإضفاء مظهر احترافي على المشروع، صممتُ الهيكل بالكامل باستخدام برنامج Autodesk Fusion 360. يدمج النظام فلتر HEPA والمروحة وأجهزة الاستشعار والشاشة والإلكترونيات في هيكل مُصمم خصيصًا صغير الحجم، يُوازن بين الأداء الوظيفي والجمال وسهولة التركيب.
إنّ AirSense ليس مجرد مشروع يدوي، بل هو مثالٌ يُحتذى به في كيفية ابتكار منتجات ذكية تُسهم في حلّ مشاكل واقعية وتجعل التكنولوجيا في متناول الجميع.
يحوّل AirSense عملية تنقية الهواء التقليدية إلى تجربة ذكية ومتكاملة، مما يُساعد الناس على تنفّس هواء أنقى وأكثر صحة كل يوم.
الخطوة الأولى: التصميم بمساعدة الحاسوب والطباعة ثلاثية الأبعاد
بدأتُ بتصميم الهيكل باستخدام برنامج Autodesk Fusion 360. كان هدفي تصميم هيكل بسيط، صغير الحجم، وسهل التركيب، مع الحفاظ على مظهر أنيق وعصري يُشبه المنتج النهائي.
صُمم الهيكل بعناية فائقة ليستوعب جميع المكونات الرئيسية، بما في ذلك فلتر HEPA، ومروحة التهوية، وأجهزة الاستشعار، والشاشة، والإلكترونيات، مع ضمان تدفق هواء مناسب في جميع أنحاء النظام.
إذا رغبتم في استكشاف التصميم بمزيد من التفصيل، يمكنكم معاينة النموذج مباشرةً في متصفحكم باستخدام عارض Fusion 360 على الويب. كما تتوفر ملفات التصميم للتحميل أدناه.
الملفات
الهيكل
قاعدة المحرك
قاعدة الفلتر
اللوحة السفلية
حشية TPU
غطاء الشاشة
الخطوة 2: فك مروحة العادم
للبدء بعملية التجميع، نحتاج أولاً إلى تفكيك مروحة شفط الهواء Anchor Smart Air مقاس 150 مم وإزالة الأجزاء غير الضرورية.
ابدأ بإزالة الغطاء الأمامي للمروحة. ثم، قم بإزالة الغطاء المركزي وشفرة المروحة بحرص لكشف مجموعة المحرك الداخلية.
الخطوة 3: إزالة المحرك
ابدأ بفك المحرك من غطاء المروحة. بعد إزالة براغي التثبيت، افصل الأسلاك بحرص وارفع المحرك من الإطار.
بما أن غطاء المروحة الأصلي لم يعد مطلوبًا، يمكنك وضعه جانبًا. في هذا المشروع، نحتاج فقط إلى المحرك وشفرة المروحة، حيث سيتم تركيبها في قاعدة تثبيت المحرك المصممة خصيصًا بتقنية الطباعة ثلاثية الأبعاد والمخصصة لجهاز AirSense.
الخطوة 4: تركيب قاعدة تثبيت المحرك
حان الآن وقت تركيب المحرك في قاعدة التثبيت المطبوعة بتقنية الطباعة ثلاثية الأبعاد. ابدأ بوضع المحرك داخل قاعدة التثبيت ومحاذاة فتحات التثبيت مع الدعامات الموجودة في الجزء المطبوع. بعد المحاذاة، ثبّت المحرك باستخدام البراغي المناسبة.
الخطوة 5: تركيب شفرة المروحة
أدخل شفرة المروحة بحرص على عمود المحرك وتأكد من تثبيتها بإحكام. بعد تثبيت الشفرة، قم بتركيب الغطاء المركزي لتثبيتها.
بعد التركيب، أدر الشفرة يدويًا للتأكد من دورانها بحرية وعدم احتكاكها بقاعدة المحرك أو الغلاف. يساعد هذا الفحص السريع على ضمان التشغيل السلس للمروحة عند تشغيلها.
الخطوة 6: تركيب حشية TPU
بعد ذلك، ضع حشية TPU على اللوحة السفلية. قم بمحاذاة فتحات التثبيت الموجودة على الحشية مع الفتحات المقابلة لها على اللوحة السفلية، وتأكد من تثبيتها بشكل محكم على السطح. تساعد الحشية على إحكام إغلاق الفلتر والغطاء، مما يقلل من تسرب الهواء ويحسن كفاءة الترشيح بشكل عام.
الخطوة 7: تركيب اللوحة السفلية
بعد تجهيز مجموعة المحرك واللوحة السفلية، حان وقت تركيبها. ضع قاعدة المحرك على اللوحة السفلية، مع التأكد من محاذاة جميع فتحات التثبيت بشكل صحيح. بمجرد التأكد من وضع كل شيء في مكانه الصحيح، أدخل براغي M3 عبر الفتحات وشدّها بالتساوي.
تأكد من أن المجموعة مستوية ومثبتة بإحكام دون أي فراغات. يجب أن تبقى حشية TPU محاذية بشكل صحيح بين الأجزاء للحفاظ على إحكام جيد.
بعد شدّ جميع البراغي، افحص المجموعة سريعًا للتأكد من تثبيت كل شيء بإحكام وأن شفرة المروحة لا تزال تدور بحرية.
الخطوة 8: تركيب قاعدة الفلتر
لدعم الفلتر وتوفير سطح تثبيت للمجموعة الرئيسية، قم بتثبيت القاعدة المطبوعة بتقنية الطباعة ثلاثية الأبعاد على الجانب الخلفي لفلتر HEPA.
ضع كمية صغيرة من الغراء الفائق حول منطقة التلامس للقاعدة المطبوعة، ثم ضعها بعناية على الفلتر. تأكد من توسيطها ومحاذاتها بشكل صحيح قبل أن يجف الغراء. لا يلزم سوى كمية قليلة من المادة اللاصقة. تجنب استخدام كمية زائدة من الغراء لأنها قد تتسرب إلى أماكن غير مرغوب فيها.
الخطوة 9: تركيب الفلتر داخل سلة المهملات
بعد اكتمال تركيب الفلتر، الخطوة التالية هي تثبيته داخل حاوية الغبار المصنوعة من الفولاذ المقاوم للصدأ، والتي تُشكّل الغلاف الرئيسي لجهاز AirSense.
أنزل فلتر HEPA بحرص داخل حاوية الغبار، وثبّته في المنتصف. ستساعد القاعدة المطبوعة بتقنية الطباعة ثلاثية الأبعاد على تثبيت الفلتر بشكل صحيح وثابت داخل الحاوية.
تأكد من أن الفلتر مستقيم ولا يعيق حركة الهواء داخل حاوية الغبار. سيساعد تثبيت الفلتر بشكل صحيح على ضمان تدفق هواء جيد، ويُسهّل باقي خطوات التركيب.
الخطوة 10: محول الطاقة
بما أن وحدة ESP32-S3 لا يمكن تشغيلها مباشرةً من التيار المتردد، فنحن بحاجة إلى مصدر طاقة لتحويل جهد التيار المتردد إلى خرج تيار مستمر آمن بجهد 5 فولت.
يمكنك استخدام أي وحدة SMPS مناسبة بجهد 5 فولت لهذا الغرض. في حالتي، قمتُ بإعادة استخدام شاحن هاتف ذكي قديم لم يعد يُستخدم. تحتوي هذه الشواحن على دائرة SMPS صغيرة الحجم وموثوقة، مما يجعلها مثالية للمشاريع التي تُنفذها بنفسك.
ابدأ بفتح غلاف الشاحن بحرص وإزالة لوحة مصدر الطاقة الداخلية. كن حذرًا أثناء هذه العملية لتجنب إتلاف أي مكونات أو مسارات على لوحة الدوائر المطبوعة.
بعد إزالة اللوحة، افحصها وحدد توصيلات مدخل التيار المتردد ومخرج 5 فولت. سيُستخدم مصدر الطاقة الصغير هذا لتشغيل أردوينو والإلكترونيات الأخرى منخفضة الجهد داخل AirSense.
⚠️ تحذير: يتضمن هذا القسم التعامل مع جهد التيار المتردد. افصل الطاقة دائمًا قبل التعامل مع الدائرة واتخذ احتياطات السلامة المناسبة.
الخطوة 11: سحابة إنترنت الأشياء من أردوينو
لتمكين المراقبة والتحكم عن بُعد، نحتاج إلى إنشاء عنصر جديد في Arduino IoT Cloud وإضافة متغيرات السحابة المطلوبة.
تسجيل الدخول إلى Arduino IoT Cloud
افتح Arduino IoT Cloud وسجّل الدخول باستخدام حساب Arduino الخاص بك.
إنشاء عنصر جديد
الرئيسية ← العناصر ← إنشاء عنصر (أدخل اسمًا لمشروعك، مثل: Air Sense)
إضافة متغيرات السحابة
انقر على + متغير وأنشئ المتغيرات التالية:
مؤشر جودة الهواء (عدد صحيح) للقراءة فقط عند التغيير
الغبار (عدد عشري) للقراءة فقط عند التغيير
درجة الحرارة (عدد عشري) للقراءة فقط عند التغيير
الرطوبة (عدد عشري) للقراءة فقط عند التغيير
الطاقة (قيمة منطقية) للقراءة والكتابة عند التغيير
💡 ملاحظة: تسمح خطة Arduino IoT Cloud المجانية بحد أقصى 5 متغيرات سحابية، ولذلك تم استخدام المتغيرات الأساسية فقط في هذا المشروع. بمجرد إنشاء التطبيق، سيقوم Arduino IoT Cloud تلقائيًا بإنشاء تعريفات التعليمات البرمجية اللازمة لمشروعك.
الخطوة ١٢: توصيل اللوحة بالسحابة
افتح الجهاز المرتبط ← إضافة جهاز ← جهاز متوافق.
ابحث عن ESP32-S3 وحدد وحدة تطوير ESP32-S3 من القائمة. أدخل اسمًا لجهازك، مثل Air Sense، ثم تابع الإعداد.
ستقوم خدمة Arduino IoT Cloud بإنشاء مُعرّف الجهاز ومفتاح سري للوحتك. نزّل ملف PDF المرفق واحفظه في مكان آمن، حيث ستحتاج إلى هذه البيانات لاحقًا في تهيئة البرنامج الثابت.
بعد إنشاء الجهاز، افتح صفحة بيانات اعتماد الشبكة وأدخل اسم شبكة Wi-Fi (SSID) وكلمة مرور Wi-Fi والمفتاح السري الذي تم إنشاؤه أثناء إعداد الجهاز. بمجرد إدخال جميع البيانات، انقر على "حفظ وتحميل لاحقًا".
💡 ملاحظة: سيتم استخدام مُعرّف الجهاز والمفتاح السري من ملف PDF الذي تم تنزيله في خطوة إعداد الكود لتوصيل Air Sense بـ Arduino IoT Cloud بشكل آمن.
الخطوة 13: لوحة تحكم Air Sense
تتيح لك لوحة التحكم مراقبة قيم المستشعرات والتحكم بالأجهزة في الوقت الفعلي من أي متصفح أو جهاز محمول.
Arduino Cloud ← لوحات التحكم ← إنشاء لوحة تحكم
← أدخل اسم لوحة التحكم "Air Sense Dashboard".
أضف مقياس جودة الهواء
إضافة: مقياس
الاسم: جودة الهواء
ضبط النطاق: من 0 إلى 400
ربط المتغير: استشعار الهواء ← جودة الهواء
انقر فوق تم
أضف شاشة عرض الجسيمات الدقيقة PM2.5
إضافة: القيمة
الاسم: الجسيمات الدقيقة PM2.5
ربط المتغير: استشعار الهواء ← الغبار
حدد أيقونة الهواء/الرياح
انقر فوق تم
أضف شاشة عرض درجة الحرارة
إضافة: القيمة
الاسم: درجة الحرارة
ربط المتغير: استشعار الهواء ← درجة الحرارة
حدد أيقونة مقياس الحرارة
انقر فوق تم
أضف شاشة عرض الرطوبة
إضافة: القيمة
الاسم: الرطوبة
ربط المتغير: استشعار الهواء ← الرطوبة
حدد أيقونة قطرة الماء
انقر فوق تم
أضف وحدة تحكم المروحة
إضافة: مفتاح
الاسم: المروحة
ربط المتغير: استشعار الهواء ← الطاقة
انقر فوق تم
الخطوة 14: المستشعرات والبيانات
هذا هو عقل نظام استشعار الهواء. ثلاثة مصادر بيانات تُغذي لوحة التحكم كل ثانيتين.
مستشعر BME680
float gas = bme.gas_resistance / 1000.0f;
float iaqPercent = (gas - 10) * 100.0f / (200.0f - 10.0f);
g_data.iaq = constrain(iaqPercent, 0, 100);يقيس درجة الحرارة والرطوبة والضغط ومقاومة الغاز. تُحوّل مقاومة الغاز إلى نسبة مئوية لجودة الهواء الداخلي (IAQ) - فكلما زادت مقاومة الغاز، دلّ ذلك على هواء أنقى، وتُقاس النسبة بين 0 و100%.
مستشعر الغبار
digitalWrite(DUST_ILED_PIN, HIGH);
delayMicroseconds(280);
int raw = analogRead(DUST_AOUT_PIN);
delayMicroseconds(40);
digitalWrite(DUST_ILED_PIN, LOW);
float voltage = raw * (3.3f / 4095.0f);
float dust_ug = voltage * 200.0f;مستشعر غبار بصري يُشغّل نبضة ضوئية بالأشعة تحت الحمراء لمدة ٢٨٠ ميكروثانية بالضبط، ويقرأ الجهد التناظري خلال فترة تشتت الغبار، ثم يحوّله إلى ميكروغرام/م³. التوقيت بالغ الأهمية، فأي خطأ ولو بسيط (١٠ ميكروثانية) يؤدي إلى انحراف القراءات.
حساب مؤشر جودة الهواء
int calcAQI(float pm25, float iaq) {
// EPA PM2.5 breakpoints → score p
return (int)(p * 0.7f + (100.f - iaq) * 1.5f * 0.3f);
}يُساهم كلٌّ من الجسيمات الدقيقة (PM2.5) وجودة الهواء الداخلي (IAQ) في معادلة مؤشر جودة الهواء (AQI) المُدمجة باستخدام معايير وكالة حماية البيئة الأمريكية (EPA) - حيث تُساهم الجسيمات الدقيقة (PM2.5) بنسبة 70%، وجودة الغاز بنسبة 30%.
متتبع عمر الفلتر
float calculateFilterLife() {
return 100.0f - (fanRuntimeSeconds / 360000.0f);
}مع كل ثانية يعمل فيها المروحة، يزداد عداد. يبلغ العمر الافتراضي الكامل لفلتر HEPA 100 ساعة، أي 360,000 ثانية، لذا ينخفض عمر الفلتر بشكل خطي. تظهر علامة تحذير على الشاشة عند انخفاض مستوى الفلتر إلى 20% أو أقل، وتنبيه "استبدل الفلتر" عند انخفاضه إلى 10% أو أقل.
الخطوة 15: تخطيط الشاشة
الشاشة بدقة 320×240 بكسل، تعمل بتقنية TFT_eSPI مع LVGL، وتعتمد على مقاطعة مؤقتة للأجهزة لضمان سلاسة العرض كل 1 مللي ثانية. يتيح وجود مخزنين مؤقتين للإطارات عرضًا جزئيًا خاليًا من الوميض.
... شبكة التخطيط: تُقسّم الشاشة إلى شبكة من 3 أعمدة و3 صفوف:
العمود الأيسر (x=2): بطاقات PM2.5، ودرجة الحرارة، والرطوبة
العمود الأيمن (x=222): بطاقات الضغط، وجودة الهواء الداخلي، وعمر الفلتر
العمود الأوسط (x=101، w=118): دائرة مؤشر جودة الهواء + بطاقة حالة شبكة الواي فاي
دائرة مؤشر جودة الهواء: العنصر المركزي:
أداة على شكل قوس متعدد الطبقات، بحلقة خارجية متوهجة، وحشوة داخلية داكنة، ولون يتغير حسب فئة وكالة حماية البيئة (أخضر ← أصفر ← برتقالي ← أحمر ← بنفسجي ← عنابي). يلتف نص الحالة تلقائيًا للعبارات الطويلة مثل "غير صحي للفئات الحساسة".
الرسوم المتحركة: تُنفَّذ كل 16 مللي ثانية في حلقة التكرار:
animateGlow() — يُحرك توهج حلقة مؤشر جودة الهواء (AQI) بسلاسة باستخدام منحنى تباطؤ مكعب.
animateWiFi() — يُحرك نقطة الواي فاي بسرعة (دورة 90 إطارًا) لعرض الحالة المباشرة.
يُشغِّل تسلسل بدء التشغيل قوسًا أخضرًا واسعًا قبل ظهور لوحة التحكم، مما يُضفي على الجهاز مظهرًا أنيقًا عند التشغيل.
الخطوة 16: الواي فاي والسحابة
يتصل جهاز استشعار الهواء بسحابة Arduino IoT عبر الواي فاي، مما يُتيح لك مراقبة جميع القراءات والتحكم عن بُعد في المروحة من أي متصفح أو تطبيق Arduino.
إعداد الاتصال
يستخدم WiFiConnectionHandler مع اسم الشبكة (SSID) وكلمة المرور. تتولى ArduinoCloud.begin() إعادة الاتصال تلقائيًا في حالة انقطاع الواي فاي.
متغيرات السحابة
تُعرَّف هذه القيم بشكل عام وتُسجَّل باستخدام initProperties().
ArduinoCloud.addProperty(DUST, READ, ON_CHANGE, NULL);
ArduinoCloud.addProperty(Humidity, READ, ON_CHANGE, NULL);
ArduinoCloud.addProperty(Temperature, READ, ON_CHANGE, NULL);
ArduinoCloud.addProperty(AQI, READ, ON_CHANGE, NULL);
ArduinoCloud.addProperty(Power, READWRITE, ON_CHANGE, onPowerChange);بيانات الغبار ودرجة الحرارة والرطوبة ومؤشر جودة الهواء هي بيانات للقراءة فقط، حيث يقوم الجهاز بتحميلها إلى السحابة كلما تغيرت. أما بيانات الطاقة فهي للقراءة والكتابة، لذا يمكنك تفعيلها أو تعطيلها من لوحة تحكم السحابة، وسيتم استدعاء وظيفة رد الاتصال فورًا.
void onPowerChange() {
digitalWrite(RELAY_PIN, Power ? HIGH : LOW);
fanIsOn = Power;
}يؤدي هذا أيضًا إلى تحديث مؤشر تشغيل المروحة، ما يضمن دقة تتبع عمر الفلتر حتى عند التحكم بالمروحة عن بُعد.
تُظهر بطاقة الواي فاي على الشاشة حالة الاتصال (باللون الأبيض) أو عدم الاتصال (باللون الأحمر) بنقطة نابضة، لتتمكن من معرفة حالة مزامنة البيانات السحابية بنظرة سريعة.
الخطوة ١٧: تثبيت المكتبات المطلوبة
قبل تحميل الكود، ثبّت جميع المكتبات المطلوبة من خلال مدير مكتبات بيئة تطوير Arduino المتكاملة (IDE). توفر هذه المكتبات دعمًا لشاشة TFT، وواجهة LVGL الرسومية، واستشعار البيئة، واتصال Wi-Fi، وتكامل Arduino Cloud.
افتح بيئة تطوير Arduino المتكاملة (IDE) ← مدير المكتبات، وثبّت المكتبات التالية:
TFT_eSPI
LVGL
Adafruit BME680
ArduinoIoTCloud
Arduino_ConnectionHandler
أما المكتبات المتبقية، مثل Arduino.h وSPI وWire وWiFi، فهي مُضمنة في حزمة اللوحة ولا تتطلب تثبيتًا منفصلاً.
بعد تثبيت جميع المكتبات، أعد تشغيل بيئة تطوير Arduino المتكاملة (IDE) للتأكد من تحميل جميع التبعيات بشكل صحيح قبل تجميع المشروع.
الخطوة 18: تهيئة المكتبات
لضمان عمل الشاشة وواجهة المستخدم الرسومية بشكل صحيح، يجب تهيئة بعض ملفات المكتبات قبل تجميع البرنامج الثابت.
إعدادات TFT_eSPI
افتح مجلد مكتبات Arduino على جهازك، ثم انتقل إلى مجلد TFT_eSPI. استبدل ملف User_Setup.h الموجود بالنسخة المُخصصة المُتاحة في مستودع GitHub الخاص بهذا المشروع. يحتوي هذا الملف على إعدادات مُشغّل الشاشة، وتعيينات المنافذ، والإعدادات الأخرى اللازمة لشاشة Air Sense.
إعدادات LVGL
بعد ذلك، افتح مجلد مكتبة LVGL، وانسخ ملف lv_conf.h المُتاح من مستودع GitHub الخاص بالمشروع إلى مجلد المكتبة. على غرار إعدادات TFT_eSPI، هذا ملف مُخصص تم إنشاؤه خصيصًا لهذا المشروع. يحتوي على إعدادات LVGL، وإعدادات الذاكرة، والمعلمات الرسومية اللازمة لواجهة مستخدم Air Sense.
يتضمن مستودع GitHub الخاص بالمشروع كلاً من ملفي User_Setup.h وlv_conf.h، ويجب تثبيتهما قبل تجميع الكود.
الخطوة 19: تهيئة الكود
قبل تحميل البرنامج الثابت، قم بتحديث بيانات اعتماد شبكة Wi-Fi وArduino Cloud بمعلوماتك الخاصة.
إعدادات Wi-Fi
ابحث عن الأسطر التالية في الكود:
const char SSID[] = "YOUR_WIFI_SSID";
const char PASS[] = "YOUR_WIFI_PASSWORD";استبدل YOUR_WIFI_SSID و YOUR_WIFI_PASSWORD باسم وكلمة مرور شبكة Wi-Fi الخاصة بك. تُمكّن هذه البيانات نظام Air Sense من الاتصال بالإنترنت والتواصل مع Arduino Cloud.
إعدادات Arduino Cloud
بعد ذلك، حدّث بيانات اعتماد جهاز Arduino Cloud:
const char THING_ID[] = "Your_Client_ID";
const char DEVICE_LOGIN[] = "your_device_name";
const char DEVICE_KEY[] = "Your_Client_Secret";استبدل هذه القيم ببيانات الاعتماد التي تم إنشاؤها أثناء عملية إعداد Arduino Cloud. يمكنك العثور عليها في ملف PDF الخاص بتكوين الجهاز الذي تم تنزيله مسبقًا عند توصيل اللوحة بـ Arduino Cloud. تُعرّف بيانات الاعتماد هذه جهازك بشكل فريد وتُمكّنك من الاتصال الآمن بلوحة تحكم السحابة.
الخطوة 20: تحميل الكود
هنـــــــــــــــــــــــــــا
بعد تحديث جميع بيانات اعتماد Wi-Fi وArduino IoT Cloud وتثبيت المكتبات المطلوبة، يصبح مشروعك جاهزًا للتحميل إلى ESP32-S3.
قم بتوصيل لوحة ESP32-S3 بجهاز الكمبيوتر باستخدام كابل USB، ثم افتح المشروع في بيئة تطوير Arduino المتكاملة (IDE). من قائمة الأدوات، حدد لوحة ESP32-S3 الصحيحة واختر منفذ COM المناسب.
بعد إتمام جميع الإعدادات، انقر على زر التحميل وانتظر حتى تكتمل عملية التجميع والتحميل. بعد اكتمال التحميل بنجاح، سيتصل جهاز Air Sense تلقائيًا بشبكة Wi-Fi الخاصة بك، ويتزامن مع Arduino IoT Cloud، ويبدأ بمراقبة بيانات جودة الهواء في الوقت الفعلي.
الخطوة 21: تجميع المتحكم الدقيق
ضع وحدة ESP32 S3 على منصة التثبيت المخصصة داخل العلبة. قم بمحاذاة فتحات التثبيت في اللوحة مع نقاط التثبيت المطبوعة.
بعد المحاذاة، ثبّت اللوحة باستخدام براغي M3. اربط البراغي بحرص حتى تثبت اللوحة بإحكام. تجنب الإفراط في الربط، فقد يؤدي ذلك إلى تلف لوحة الدوائر المطبوعة أو نقاط التثبيت.
الخطوة 22: تركيب حساس الغبار
يقيس مستشعر الغبار تركيز الجسيمات الدقيقة في الهواء، مما يساعد النظام على مراقبة جودة الهواء وحساب مؤشر جودة الهواء (AQI) لحظيًا.
ضع وحدة مستشعر الغبار على منصة التثبيت المخصصة لها داخل الغلاف، أسفل قناة سحب الهواء مباشرةً. يضمن هذا الوضع مرور الهواء بسلاسة عبر المستشعر، مما يسمح بالكشف الدقيق عن الجسيمات.
قم بمحاذاة فتحات التثبيت مع الفواصل المطبوعة، وثبّت الوحدة باستخدام براغي M3. تأكد من تثبيت المستشعر بإحكام، وأن الموصل يبقى في متناول اليد لتوصيل الأسلاك.
الخطوة 23: تجميع مستشعر BME680
مستشعر BME680 هو مستشعر بيئي صغير الحجم يقيس درجة الحرارة والرطوبة وضغط الهواء ومقاومة الغاز. تساعد هذه القراءات في مراقبة الظروف البيئية الداخلية وتحسين تحليل جودة الهواء بشكل عام.
ضع وحدة مستشعر BME680 في مكان التثبيت المخصص لها بجانب مجموعة مستشعر الغبار. يضمن هذا الوضع تعرض المستشعر لتدفق الهواء داخل الغلاف، مما يضمن دقة القياسات البيئية.
قم بمحاذاة لوحة المستشعر مع منطقة التثبيت وثبتها في مكانها. تأكد من أن الموصل متجه للخارج لتسهيل تمرير الكابلات والصيانة المستقبلية.
الخطوة 24: تجميع وحدة المرحل
تعمل وحدة الترحيل كواجهة تحويل بين نظام استشعار الهواء. فهي تُمكّن وحدة التحكم الدقيقة من التحكم بأمان في المعدات ذات الجهد العالي، مثل مروحة الشفط.
ضع وحدة الترحيل على منصة التثبيت المخصصة لها داخل العلبة، مع التأكد من أن كتلة التوصيل متجهة للخارج لتسهيل الوصول إلى الأسلاك. يُحافظ هذا الوضع على تنظيم توصيلات التحكم والطاقة مع الحفاظ على تصميم داخلي مُدمج.
ثبّت وحدة الترحيل باستخدام براغي M3 وتأكد من تثبيتها بإحكام. تأكد من وجود مساحة كافية حول كتلة التوصيل لتسهيل توصيل الأسلاك الخارجية أثناء التجميع النهائي.
الخطوة 25: تجميع محول 5 فولت
لتشغيل الأجهزة الإلكترونية بأمان، قم بتركيب وحدة تزويد الطاقة 5 فولت تيار متردد/مستمر داخل الحجرة المخصصة لها في العلبة. ضع الوحدة أسفل قناة الكابلات وثبتها بإحكام.
يقوم المحول بتحويل جهد التيار المتردد الرئيسي إلى خرج تيار مستمر ثابت 5 فولت، والذي يُشغّل وحدة ESP32-S3، والمستشعرات، والشاشة، ووحدة الترحيل. هذا يُغني عن الحاجة إلى مصادر طاقة خارجية، ويُحافظ على جميع الأجهزة الإلكترونية مُدمجة بشكل أنيق داخل العلبة.
الخطوة 26: تجميع الشاشة
تُعدّ شاشة TFT واجهة المستخدم الرئيسية لنظام Air Sense، حيث توفر معلومات آنية مثل مؤشر جودة الهواء (AQI)، وتركيز الجسيمات الدقيقة PM2.5، ودرجة الحرارة، والرطوبة، وحالة الجهاز، وتنبيهات النظام.
ابدأ بوضع وحدة العرض في غطاء الشاشة المخصص. تأكد من تثبيت الشاشة بإحكام داخل الإطار، وأن منطقة العرض محاذية تمامًا لنافذة الرؤية.
بعد تثبيت الشاشة في الغطاء المطبوع ثلاثي الأبعاد، أدخل وحدة العرض المُجمّعة بعناية في فتحة العرض الموجودة أعلى الهيكل. اضغط عليها برفق حتى تستقر في مكانها بإحكام وتحاذي سطح الهيكل.
الخطوة 27: تركيب سلك الطاقة
لتزويد النظام بالطاقة الكهربائية، قم بتمرير سلك الطاقة عبر فتحة إدخال الكابل المخصصة في الهيكل. رتب الكابل داخل الهيكل بشكل أنيق.
يُعدّ سلك الطاقة المصدر الرئيسي للطاقة لجهاز تنقية الهواء Air Sense، حيث ينقل الطاقة الكهربائية من مقبس الحائط إلى وحدة التغذية الداخلية ومروحة الشفط.
الخطوة ٢٨: توصيلات الأسلاك
حان الآن وقت توصيل جميع الوحدات بـ ESP32-S3-Zero. اتبع التوصيلات بعناية وتأكد من كل توصيلة قبل تشغيل النظام.
توصيلات الشاشة
قم بتوصيل وحدة الشاشة بـ ESP32-S3 كما يلي:
VCC → 3.3V
GND → GND
DIN → GPIO11
CLK → GPIO12
CS → GPIO10
DC → GPIO9
RST → GPIO8
BL → 3.3V
مستشعر جودة الهواء BME680
يتواصل مستشعر BME680 باستخدام واجهة I²C.
VCC → 3.3 فولت
GND → GND
SDA → GPIO43
SCL → GPIO44
مستشعر الغبار
قم بتوصيل مستشعر الغبار وفقًا للأسلاك التالية:
VCC → 3.3 فولت
GND → GND
ILED → GPIO5
AOUT → GPIO6
وحدة الترحيل
يُستخدم المرحل للتحكم التلقائي في المروحة بناءً على جودة الهواء المقاسة.
VCC → 3.3 فولت
GND → GND
Signal → GPIO7
توصيل مروحة التيار المتردد
⚠️ تحذير: يستخدم هذا القسم جهد التيار المتردد الرئيسي. تابع فقط إذا كنتَ خبيرًا في توصيلات الجهد العالي، وتأكد من فصل الطاقة قبل إجراء أي توصيلات.
قم بتوصيل المرحل والمروحة كما يلي
مخرج الحائط (الخط الموجب) ← المرحل (COM)
المرحل (NO) ← المروحة (الخط الموجب)
مخرج الحائط (الخط المحايد) ← المروحة (الخط المحايد)
عند تشغيل المرحل، يتم توصيل خط الطور عبره، مما يسمح بوصول الطاقة إلى المروحة وتشغيلها تلقائيًا.
الخطوة ٢٩: أغلق الغطاء
بعد تركيب جميع المكونات الإلكترونية والأسلاك والمكونات الداخلية، الخطوة الأخيرة هي إغلاق الغلاف. قم بمحاذاة الغطاء العلوي مع قسم تجميع المحرك بعناية، مع التأكد من توجيه سلك الطاقة والأسلاك الداخلية بشكل صحيح وعدم تعرضها للانضغاط أثناء التركيب.
بعد المحاذاة، قم بمطابقة ألسنة القفل في الغطاء مع الفتحات المقابلة لها في القاعدة. اضغط برفق على الجزأين معًا وقم بتدويرهما حتى يستقرا في مكانهما بإحكام. يستخدم الغلاف آلية قفل باللف، لذا لا حاجة إلى براغي.
الخطوة 30: التجميع النهائي
لإتمام عملية التجميع، ضع غطاء جهاز استشعار الهواء المُجمّع على وحدة فلتر HEPA. قم بمحاذاة الغطاء بعناية مع الحافة العلوية لوحدة الفلتر، مع التأكد من استقراره في مكانه بشكل متساوٍ وآمن.
بعد المحاذاة، أنزل الغطاء برفق على الفلتر وقم بتدويره حتى تستقر ألسنة التثبيت في الفتحات المُخصصة لها. تعمل آلية القفل اللولبي على ربط الجزأين معًا بإحكام، مما يُغني عن استخدام البراغي مع الحفاظ على مظهر أنيق وجذاب.
قبل الاستخدام، تأكد من ثبات التجميع وأن فلتر HEPA مُثبّت بشكل صحيح داخل جهاز التنقية. ستقوم مروحة الجهاز الآن بسحب الهواء الملوث عبر الفلتر وطرد الهواء النظيف من أعلى الوحدة. عند الحاجة إلى الصيانة أو استبدال الفلتر، ما عليك سوى تدوير الغطاء في الاتجاه المعاكس ورفعه للوصول السريع إلى المكونات الداخلية.
الخطوة 31: تطبيق Arduino للتحكم عن بُعد
لمراقبة جهاز Air Sense والتحكم به مباشرةً من هاتفك الذكي، ثبّت تطبيق Arduino Remote من متجر Google Play أو متجر Apple App Store، وسجّل الدخول باستخدام حساب Arduino نفسه المرتبط بمشروع Arduino IoT Cloud الخاص بك.
بعد تسجيل الدخول، سيكتشف التطبيق تلقائيًا جهاز Air Sense الخاص بك ويعرض جميع متغيرات السحابة التي تم ضبطها مسبقًا. يمكنك عرض بيانات مؤشر جودة الهواء (AQI) وتركيز الغبار ودرجة الحرارة والرطوبة في الوقت الفعلي، بالإضافة إلى التحكم عن بُعد في حالة تشغيل جهاز التنقية من أي مكان متصل بالإنترنت.
الخطوة 32: الاختبار
حان الآن وقت اختبار جهاز تنقية الهواء الذكي Air Sense بعد اكتماله. قم بتوصيل سلك الطاقة بمأخذ كهربائي رئيسي وشغّله. بمجرد توصيل الطاقة، سيبدأ كل من وحدة ESP32-S3، والمستشعرات، والشاشة، والمروحة بالعمل تلقائيًا.
في غضون ثوانٍ معدودة، ستضيء الشاشة الأمامية وتعرض معلومات جودة الهواء في الوقت الفعلي، بما في ذلك مؤشر جودة الهواء (AQI)، وتركيز الجسيمات الدقيقة PM2.5، ودرجة الحرارة، والرطوبة، والضغط، ومستوى جودة الهواء الداخلي (IAQ)، وحالة شبكة Wi-Fi، وعمر الفلتر. سيتصل الجهاز أيضًا بسحابة Arduino IoT ويبدأ بتحديث البيانات عن بُعد.
في الوقت نفسه، ستبدأ المروحة بسحب الهواء المحيط عبر نظام الترشيح. يقوم الفلتر باحتجاز جزيئات الغبار والملوثات الأخرى المحمولة جوًا، بينما يُعاد الهواء النظيف والآمن إلى الغرفة.
يمكنك أيضًا التحقق من القراءات المباشرة والتحكم في جهاز التنقية عن بُعد باستخدام تطبيق Arduino Remote أو لوحة تحكم Arduino IoT Cloud.
الخلاصة!
إنّ جهاز Air Sense ليس مجرد جهاز تنقية هواء منزلي الصنع، بل هو محاولتي لتسخير التكنولوجيا لخلق بيئة صحية وذكية للجميع. الهواء النظيف حقٌّ لنا جميعًا، ويساعد هذا المشروع في مراقبة جودة الهواء وتحسينها تلقائيًا في الوقت الفعلي.
خلال هذا المشروع، حرصتُ على جعل كل خطوة واضحة وسهلة الاستخدام قدر الإمكان. كان هدفي ضمان قدرة أي شخص، حتى من لديه خبرة محدودة في الإلكترونيات، على بناء هذا المشروع وفهمه بنجاح. بذلتُ جهدًا كبيرًا في توثيق كل مرحلة لجعل عملية التعلم والبناء ممتعة بنفس القدر.
من التصميم ثلاثي الأبعاد المخصص، الذي تم إنشاؤه باستخدام برنامج Autodesk Fusion، إلى نظام المراقبة المتصل بالسحابة، يجمع جهاز Air Sense بين الوظائف العملية والمظهر الأنيق وتجربة المستخدم المتميزة. إنه ليس مجرد نموذج أولي، بل حلٌّ واقعي يُمكن استخدامه يوميًا.
بالنسبة لي، الحلم بعالم أفضل يعني ابتكار تكنولوجيا تُحسّن حياة الناس بشكلٍ ملموس. من خلال مساعدة الناس على مراقبة وتحسين الهواء الذي يتنفسونه، يُساهم جهاز Air Sense في بناء مستقبل أنظف وأكثر صحة ووعيًا. آمل أن يلهم هذا المشروع الآخرين للتعلم والابتكار وبناء حلول تُحدث فرقاً إيجابياً في العالم.
مخططات الدوائر
مخطط التوصيلات
منقول