- المكونات مطلوبة
- مستشعر GP2Y1014AU0F حاد
- وحدة عرض OLED
- مخطط الرسم البياني
- بناء الدائرة على لوحة الأداء
- شرح الكود لمحلل جودة الهواء
- اختبار التفاعل بين مستشعر GP2Y1014AU0F من Sharp مع Arduino
يعد تلوث الهواء مشكلة رئيسية في العديد من المدن ، ويزداد مؤشر جودة الهواء سوءًا كل يوم. وفقًا لتقرير منظمة الصحة العالمية ، يُقتل عدد أكبر من الأشخاص قبل الأوان بسبب آثار الجسيمات الخطرة الموجودة في الهواء أكثر من حوادث السيارات. وفقًا لوكالة حماية البيئة (EPA) ، يمكن أن يكون الهواء الداخلي أكثر سمية بمرتين إلى خمس مرات من الهواء الخارجي. لذلك نقوم هنا ببناء مشروع لمراقبة جودة الهواء عن طريق قياس كثافة جزيئات الغبار في الهواء.
لذا ، استمرارًا لمشاريعنا السابقة مثل كاشف غاز البترول المسال ، وكاشف الدخان ، ومراقبة جودة الهواء ، سنقوم هنا بتوصيل مستشعر Sharp GP2Y1014AU0F مع Arduino Nano لقياس كثافة الغبار في الهواء. بصرف النظر عن مستشعر الغبار و Arduino Nano ، تُستخدم شاشة OLED أيضًا لعرض القيم المقاسة. يعتبر مستشعر الغبار GP2Y1014AU0F من Sharp فعالًا جدًا في اكتشاف الجسيمات الدقيقة جدًا مثل دخان السجائر. وهي مصممة للاستخدام في أجهزة تنقية الهواء ومكيفات الهواء.
المكونات مطلوبة
- اردوينو نانو
- مستشعر GP2Y1014AU0F حاد
- 0.96 'SPI OLED Display Module
- أسلاك توصيل
- 220 µf مكثف
- 150 المقاوم
مستشعر GP2Y1014AU0F حاد
GP2Y1014AU0F من Sharp عبارة عن مستشعر ضوئي لجودة الهواء البصري / الغبار البصري ذي خرج تناظري صغير بستة أسنان مصمم لاستشعار جزيئات الغبار في الهواء. يعمل على مبدأ تشتت الليزر. داخل وحدة الاستشعار ، يتم ترتيب الصمام الثنائي الباعث للأشعة تحت الحمراء والمستشعر الضوئي قطريًا بالقرب من فتحة مدخل الهواء كما هو موضح في الصورة أدناه:
عندما يدخل الهواء الذي يحتوي على جزيئات الغبار إلى غرفة المستشعر ، فإن جزيئات الغبار تشتت ضوء IR LED باتجاه كاشف الصور. تعتمد شدة الضوء المتناثر على جزيئات الغبار. كلما زاد عدد جزيئات الغبار في الهواء ، زادت شدة الضوء. يتغير جهد الخرج عند دبوس V OUT الخاص بالمستشعر وفقًا لشدة الضوء المتناثر.
GP2Y1014AU0F الاستشعار Pinout:
كما ذكرنا سابقًا ، يأتي مستشعر GP2Y1014AU0F مزودًا بموصل ذي 6 سنون. يوضح الشكل والجدول أدناه تعيينات الدبوس لـ GP2Y1014AU0F:
S. لا. |
اسم الدبوس |
دبوس الوصف |
1 |
V-LED |
الصمام Vcc دبوس. توصيل 5V من خلال 150V المقاوم |
2 |
LED-GND |
الصمام الأرضي دبوس. اتصل بـ GND |
3 |
يؤدى |
يستخدم للتبديل بين تشغيل / إيقاف تشغيل LED. قم بالاتصال بأي دبوس رقمي من Arduino |
4 |
S-GND |
دبوس الاستشعار الأرضي. الاتصال بـ GND من Arduino |
5 |
V خارج |
دبوس الإخراج التناظري الاستشعار. قم بالاتصال بأي دبوس تناظري |
6 |
V CC |
دبوس توريد إيجابي. قم بتوصيل 5V من Arduino |
مواصفات جهاز الاستشعار GP2Y1014AU0F:
- انخفاض الاستهلاك الحالي: 20mA كحد أقصى
- جهد التشغيل النموذجي: 4.5 فولت إلى 5.5 فولت
- الحد الأدنى لحجم الغبار القابل للكشف: 0.5 ميكرومتر
- نطاق استشعار كثافة الغبار: حتى 580 ميكروغرام / م 3
- وقت الاستشعار: أقل من ثانية واحدة
- الأبعاد: 1.81 × 1.18 × 0.69 بوصة (46.0 × 30.0 × 17.6 ملم)
وحدة عرض OLED
OLED (الثنائيات العضوية الباعثة للضوء) هي تقنية انبعاث للضوء ذاتيًا ، يتم إنشاؤها عن طريق وضع سلسلة من الأغشية الرقيقة العضوية بين موصلين. يتم إنتاج ضوء ساطع عند تطبيق تيار كهربائي على هذه الأفلام. تستخدم OLEDs نفس التكنولوجيا المستخدمة في أجهزة التلفزيون ، ولكن بها عدد بكسلات أقل من معظم أجهزة التلفزيون لدينا.
بالنسبة لهذا المشروع ، نستخدم شاشة OLED أحادية اللون ذات 7 أسنان SSD1306 0.96 بوصة. يمكن أن تعمل على ثلاثة بروتوكولات اتصالات مختلفة: SPI 3 Wire mode و SPI four-wire mode و I2C mode. يتم شرح المسامير ووظائفها في الجدول أدناه:
لقد قمنا بالفعل بتغطية OLED وأنواعه بالتفصيل في المقالة السابقة.
اسم الدبوس |
اسماء اخرى |
وصف |
Gnd |
أرض |
الدبوس الأرضي للوحدة |
Vdd |
Vcc ، 5 فولت |
دبوس الطاقة (3-5V مقبول) |
SCK |
D0 ، SCL ، CLK |
بمثابة دبوس الساعة. تستخدم لكل من I2C و SPI |
SDA |
D1 ، MOSI |
دبوس البيانات للوحدة. تستخدم لكل من IIC و SPI |
RES |
RST ، إعادة تعيين |
يعيد تعيين الوحدة (مفيد أثناء SPI) |
العاصمة |
أ 0 |
دبوس أمر البيانات. يستخدم لبروتوكول SPI |
CS |
اختيار رقاقة |
يكون مفيدًا عند استخدام أكثر من وحدة واحدة بموجب بروتوكول SPI |
مواصفات OLED:
- سائق OLED IC: SSD1306
- الدقة: 128 × 64
- زاوية بصرية:> 160 درجة
- جهد الإدخال: 3.3 فولت ~ 6 فولت
- لون البكسل: أزرق
- درجة حرارة العمل: -30 درجة مئوية ~ 70 درجة مئوية
تعرف على المزيد حول OLED وتفاعله مع ميكروكنترولر مختلفة باتباع الرابط.
مخطط الرسم البياني
مخطط الدائرة لربط مستشعر GP2Y1014AU0F الحاد مع Arduino موضح أدناه:
الدائرة بسيطة للغاية لأننا نقوم فقط بتوصيل مستشعر GP2Y10 ووحدة عرض OLED مع Arduino Nano. يتم تشغيل مستشعر GP2Y10 ووحدة عرض OLED مع + 5V و GND. دبوس V0 متصل بطرف A5 من Arduino Nano. يتم توصيل دبوس LED الخاص بالمستشعر بالدبوس الرقمي الخاص بـ Arduino. نظرًا لأن وحدة عرض OLED تستخدم اتصال SPI ، فقد أنشأنا اتصال SPI بين وحدة OLED و Arduino Nano. التوصيلات موضحة في الجدول أدناه:
لا |
دبوس وحدة OLED |
اردوينو دبوس |
1 |
GND |
أرض |
2 |
VCC |
5 فولت |
3 |
د 0 |
10 |
4 |
D1 |
9 |
5 |
RES |
13 |
6 |
العاصمة |
11 |
7 |
CS |
12 |
لا |
دبوس الاستشعار |
اردوينو دبوس |
1 |
Vcc |
5 فولت |
2 |
V O |
A5 |
3 |
S-GND |
GND |
4 |
يؤدى |
7 |
5 |
LED-GND |
GND |
6 |
V-LED |
5V من خلال 150Ω المقاوم |
بناء الدائرة على لوحة الأداء
بعد لحام جميع المكونات الموجودة على لوحة الأداء ، ستبدو كما يلي. ولكن يمكن أيضًا بناؤها على لوح التجارب. لقد قمت بلحام مستشعر GP2Y1014 على نفس اللوحة التي استخدمتها لواجهة مستشعر SDS011. أثناء اللحام ، تأكد من أن أسلاك اللحام يجب أن تكون على مسافة كافية من بعضها البعض.
شرح الكود لمحلل جودة الهواء
يتم تقديم الكود الكامل لهذا المشروع في نهاية المستند. نحن هنا نوضح بعض الأجزاء المهمة من الكود.
يستخدم رمز Adafruit_GFX ، و Adafruit_SSD1306 المكتبات. يمكن تنزيل هذه المكتبات من Library Manager في Arduino IDE وتثبيتها من هناك. لذلك ، افتح Arduino IDE وانتقل إلى Sketch <Include Library <Manage Libraries . ابحث الآن عن Adafruit GFX وقم بتثبيت مكتبة Adafruit GFX بواسطة Adafruit.
وبالمثل ، قم بتثبيت مكتبات Adafruit SSD1306 بواسطة Adafruit.
بعد تثبيت المكتبات على Arduino IDE ، ابدأ الكود بتضمين ملفات المكتبات المطلوبة. لا يتطلب مستشعر الغبار أي مكتبة لأننا نقرأ قيم الجهد مباشرة من الدبوس التناظري في Arduino.
#تضمن
ثم حدد عرض وارتفاع OLED. في هذا المشروع ، نستخدم شاشة OLED مقاس 128 × 64 SPI. يمكنك تغيير SCREEN_WIDTH ، و SCREEN_HEIGHT المتغيرات وفقا لشاشة العرض.
#define SCREEN_WIDTH 128 # تعريف SCREEN_HEIGHT 64
ثم حدد دبابيس اتصال SPI حيث يتم توصيل شاشة OLED.
# تعريف OLED_MOSI 9 # تعريف OLED_CLK 10 # تعريف OLED_DC 11 # تعريف OLED_CS 12 # تعريف OLED_RESET 13
بعد ذلك ، قم بإنشاء مثيل عرض Adafruit بالعرض والارتفاع المحددين مسبقًا باستخدام بروتوكول الاتصال SPI.
عرض Adafruit_SSD1306 (SCREEN_WIDTH ، SCREEN_HEIGHT ، OLED_MOSI ، OLED_CLK ، OLED_DC ، OLED_RESET ، OLED_CS) ؛
بعد ذلك ، حدد حساس الغبار ودبابيس الصمام. دبوس التحسس هو دبوس إخراج مستشعر الغبار المستخدم لقراءة قيم الجهد أثناء استخدام دبوس الصمام لتشغيل / إيقاف تشغيل IR LED.
int sensePin = A5 ؛ int ledPin = 7 ؛
الآن داخل وظيفة setup () ، قم بتهيئة Serial Monitor بمعدل باود 9600 لأغراض التصحيح. أيضًا ، قم بتهيئة شاشة OLED باستخدام وظيفة البدء () .
Serial.begin (9600) ؛ display.begin (SSD1306_SWITCHCAPVCC) ،
داخل وظيفة الحلقة () ، اقرأ قيم الجهد من الدبوس التناظري 5 من Arduino Nano. أولاً ، قم بتشغيل IR LED ثم انتظر 0.28ms قبل قراءة جهد الخرج. بعد ذلك ، اقرأ قيم الجهد من الدبوس التناظري. تستغرق هذه العملية حوالي 40 إلى 50 ميكروثانية ، لذا أدخل تأخيرًا قدره 40 ميكروثانية قبل إيقاف تشغيل جهاز استشعار الغبار. وفقًا للمواصفات ، يجب تشغيل نبضة LED مرة واحدة كل 10 مللي ثانية ، لذا انتظر بقية دورة 10 مللي ثانية = 10000 - 280 - 40 = 9680 ميكروثانية .
digitalWrite (ledPin ، منخفض) ؛ تأخير ميكرو ثانية (280) ؛ outVo = analogRead (sensePin) ؛ تأخير ميكروثانية (40) ؛ digitalWrite (ledPin ، عالية) ؛ تأخير ميكروثانية (9680) ؛
ثم في السطور التالية ، احسب كثافة الغبار باستخدام جهد الخرج وقيمة الإشارة.
sigVolt = outVo * (5/1024) ؛ مستوى الغبار = 0.17 * sigVolt - 0.1 ؛
بعد ذلك ، قم بتعيين حجم النص ولون النص باستخدام setTextSize () و setTextColor () .
display.setTextSize (1) ، display.setTextColor (WHITE) ،
ثم في السطر التالي ، حدد الموضع الذي يبدأ فيه النص باستخدام طريقة setCursor (x، y) . وقم بطباعة قيم كثافة الغبار على شاشة OLED باستخدام وظيفة display.println () .
display.println ("الغبار") ؛ display.println ("الكثافة") ؛ display.setTextSize (3) ، display.println (مستوى الغبار) ؛
وفي النهاية ، اتصل بطريقة العرض () لعرض النص على شاشة OLED.
display.display () ، display.clearDisplay () ،
اختبار التفاعل بين مستشعر GP2Y1014AU0F من Sharp مع Arduino
بمجرد أن يصبح الجهاز والرمز جاهزًا ، فقد حان الوقت لاختبار المستشعر. لذلك ، قم بتوصيل Arduino بالكمبيوتر المحمول ، وحدد اللوحة والمنفذ ، واضغط على زر التحميل. كما ترى في الصورة أدناه ، ستعرض كثافة الغبار على شاشة OLED.
يتم تقديم فيديو العمل الكامل والكود أدناه. آمل أن تكون قد استمتعت بالبرنامج التعليمي وتعلمت شيئًا مفيدًا. إذا كانت لديك أي أسئلة ، فاتركها في قسم التعليقات أو استخدم منتدياتنا للاستفسارات الفنية الأخرى.