مشروع التنبيه عن امتلاء حاوية القمامة باستخدام أردوينو اكتب تعليقُا

تم نشر هذا المشروع لجميع الأشخاص المهتمين في مجال تصنيع وابتكار المشاريع الإلكترونية والبرمجية، و نود التنويه أن موقع انا الكتروني يخلي مسؤوليته التامة في حال لم يعمل المشروع لدى العميل أو في حال الاستخدام الخاطئ للمكونات الإلكترونية والكهربائية التي قد تؤدي لحدوث الحرائق أو غيرها لا سمح الله.

شرح فكرة المشروع

  • في هذا المشروع سنقوم بتصميم نظام ذكي للتنبيه على امتلاء حاوية القمامة باستخدام لوحة أردوينو، بهدف تعزيز النظافة العامة والمساهمة في الحفاظ على بيئة غير ملوثة.
  • يستخدم النظام مستشعر المسافة لقياس المسافة بين أعلى مستوى وصلت لها القمامة وأعلى الحاوية أين يتم تثبيت هذا الحساس.
  • إذا أوشكت الحاوية على الامتلاء، يُضيء مصباح LED أصفر، ويصدر صوت إنذار من الجرس (Buzzer).، كما تُعرض رسالة تنبيه على شاشة LCD تطلب منا تنظيف الحاوية.
  • إذا كانت الحاوية ليست ممتلئة: يُضيء حينها مصباح LED أبيض كدليل على عدم امتلائها، كما تُعرض رسالة إيجابية تشجع على الحفاظ على النظافة.
  • يتم تحديث حالة الحاوية بانتظام على شاشة LCD.
  • في الختام نذكر بأن النظافة هي عنوان مهم للتحضر والرقي، وكل خطوة صغيرة نخطوها نحو الحفاظ على بيئتنا قد تُحدث فرقًا كبيرًا. لذا، فلنكن جزءًا من الحل، ونعمل معًا لبناء عالم نظيف ومستدام ننعم به نحن وأجيال المستقبل. معا لنحافظ على كوكبنا، فهو بيتنا المشترك!”

أدوات المشروع

مخطط المشروع

الكود البرمجي

تنبيه : في حال لم تكن متأكد من قدرتك على تنفيذ خطوات المشروع يرجى استشارة شخص متخصص في هذا المجال.
  • للتعرف على تجهيز لوحة أردوينو للبرمجة قم بزيارة الرابط التالي.
  • للإطلاع على كيفية تحميل وتنصيب المكتبات قم بزيارة الرابط التالي.
  • تحميل مكتبة الشاشة من هنا.
  • في حال لم يعمل هذا الكود البرمجي، قم بتحميل ملف الكود بالضغط على زر التحميل الموجود في الأسفل.

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

// إعداد شاشة LCD
LiquidCrystal_I2C lcd(0x27, 16, 2);

// تعريف المكونات
const int trigPin = 12;
const int echoPin = 11;
const int yellowLED = 10;
const int whiteLED = 9;
const int buzzer = 8;

// متغيرات
long duration;
int distance;

void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(yellowLED, OUTPUT);
pinMode(whiteLED, OUTPUT);
pinMode(buzzer, OUTPUT);

lcd.init();
lcd.backlight();
}

void loop() {
// إرسال نبضة للمستشعر
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);

// استقبال النبضة
duration = pulseIn(echoPin, HIGH);
distance = (0.034*duration)/2;

// التحكم في الإشارات
lcd.clear();
if (distance <= 3) {
digitalWrite(yellowLED, HIGH);
digitalWrite(whiteLED, LOW);
digitalWrite(buzzer, HIGH);
lcd.setCursor(0, 0);
lcd.print(“Almost full 🙁 “);
lcd.setCursor(0, 1);
lcd.print(“Clean me :)”);
} else {
digitalWrite(yellowLED, LOW);
digitalWrite(whiteLED, HIGH);
digitalWrite(buzzer, LOW);
lcd.setCursor(0, 0);
lcd.print(“Eco-cleanliness=”);
lcd.setCursor(0, 1);
lcd.print(“Civility :)”);
}

delay(250);
}

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *