مشروع تفادي تعفن الدقيق والحبوب المخزنة باستخدام ويموس اكتب تعليقُا

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

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

  • في هذا المشروع، سنقوم بتصميم نموذج نظام ذكي لمراقبة وتفادي تعفن الدقيق والحبوب المخزنة داخل أماكن التخزين المنزلية باستخدام لوحة Wemos D1 المعتمدة على الاتصال بالإنترنت، وحساس قياس الحرارة والرطوبة DHT11، مع إمكانية إرسال التنبيهات عبر تطبيق Telegram.
  • يعتمد النظام على حساس DHT11، حيث يتم تثبيت الحساس بشكل دقيق داخل أماكن التخزين، لضمان المراقبة اللحظية والمستمرة لمستويات الرطوبة، وتجنب الارتفاع المفاجئ الذي يؤدي إلى نمو الفطريات وتلف المواد الغذائية.
  • عند اكتشاف ارتفاع الرطوبة عن الحدود الآمنة والمسموح بها، يقوم النظام تلقائيًا بتفعيل إنذار محلي (Buzzer) لتنبيه المتواجدين بضرورة التهوية أو اتخاذ الإجراء اللازم، وفي نفس الوقت يرسل إشعارًا فوريًا عبر تطبيق Telegram إلى سكان المنزل لإطلاعهم بشكل لحظي.
  • يساعد هذا النظام على التدخل السريع لمعالجة ظروف التخزين السيئة في بدايتها، مما يقلل من المخاطر المرتبطة بتعفن الحبوب، فساد الدقيق، ويضمن الحفاظ على سلامة وجودة  المواد المخزنة في الوقت المناسب قبل حدوث أي خسائر.
  • كما يوفر وسيلة مراقبة مستمرة وموثوقة للمسؤولين دون الحاجة للتفقد الدائم، مما يمنحهم راحة البال ويحميهم من المفاجآت غير المتوقعة.
  • وفي الختام، نسأل الله عز وجل أن يكون هذا العمل مفيدًا ونافعًا، وأن يساهم في تقديم الدعم اللازم وتسهيل حماية المواد الغذائية المخزنة باستخدام التقنيات الحديثة.

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

  • اردوينو ويموس: عدد 1
  • كابل مايكرو USB: عدد 1
  • أسلاك توصيل ذكر لذكر 40 قطعة 20 سم Male to Male jumper wires
  • أسلاك توصيل من ذكر إلى أنثى 40 دبوس 20 سم wires 40pcs Male to Female
  • لوحة تجارب: عدد 1
  • طنان: عدد 1
  • حساس الحرارة والرطوبة: عدد 1

مخطط المشروع

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

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

المرحلة 1: إنشاء بوت Telegram

  • افتح تطبيق Telegram
  • في البحث اكتب: BotFather
  • ستجده بحساب موثق ✔️
  • اضغط Open
  • اضغط Create a New Bot
  • سيطلب منك كتابة:
  • ✔️ اسم البوت (Bot Name)
  • مثال: Smart Alert System
  • ✔️ اسم المستخدم في الخانة الثالثة (username_bot)
  • ⚠️ مهم: يجب أن ينتهي بـ bot وبدون مسافات
  • مثال: smart_1950_bot (يجب الا يكون مستعمل مسبقا)
  • بعدها اضغط Create Bot
  • بعدها سيعطيك التوكن (TOKEN)، ستظهر لك رسالة مثل:123456789:AAAbbbCCCxxxYYYzzz
  • 📌 هذا التوكن مهم جدا
  • 👉 اضغط Copy احتفظ به جيدًا

المرحلة 2: إنشاء مجموعة Telegram بالتفصيل

  • لإنشاء المجموعة، اضغط:
    • ☰ (القائمة)
    • New Group
  • اختر أي شخص (يمكن حذفه لاحقًا)
  • اكتب اسم المجموعة:
  • مثال: Home Alerts
  • اضغط على OK
  • لاضافة البوت للمجموعة، اولا عد الى الصفحة الرئيسية للتلغرام
  • اكتب اسم المستخدم username_bot في خانة البحث
  • اضغط على Start
  • اضغط على اسمها من الأعلى
  •  اختر: Add to Group or Channel
  • ابحث عن اسم المجموعة وأضفه اليها
  • ✔️ فعّل خاصية Manage Group وكل الخاصيات التي تحتها
  • اضغط Add bot as Admin

 المرحلة 3: الحصول على CHAT ID (أهم خطوة)

  • في المجموعة اكتب رسالة: hello ثم ارسلها
  • افتح المتصفح واكتب:
  • https://api.telegram.org/botTOKEN/getUpdates
  • 📌 استبدل:
  • كلمة TOKEN ← بالتوكن الخاص بك الذي نسخته مسبقا واحتفظت به
  • ستظهر لك بيانات JSON مثل:

{"ok": true,"result": [{"message": {"chat": {"id": -1001234567890,"title": "Home Alerts"}}}]}

  • 📌 انسخ رقم id الفريد الذي سيظهر لك: مثلا هنا 1001234567890-
  • 👉 هذا هو: CHAT_ID

المرحلة 4: إعداد Arduino IDE + Wemos

  • افتح Arduino IDE
  • File → Preferences
  • أضف هذا الرابط: http://arduino.esp8266.com/stable/package_esp8266com_index.json
  • لتثبيت البورد، اختر: Tools → Board → Boards Manager
  • ابحث: ESP8266
  • اضغط Install
  • لاختيار البورد، اختر:Tools → Board → LOLIN (Wemos) D1 R1

المرحلة 5: ما يجب اضافته في الكود

  • اسم شبكة الواي فاي (SSID): اسم الشبكة التي سيتصل بها الـ Wemos: مثلا:

  • const char* ssid = “Redmi A1”;
  • كلمة مرور الواي فاي (PASS): مثلا:
  • const char* pass = “19041904”;
  • توكن البوت (Bot Token): هو المفتاح الذي يسمح للأردوينو بالتواصل مع البوت بدونه لا يمكن إرسال رسائل
  • ⚠️ مهم: يجب أن يبقى سري، مثلا:
  • const char* BOT_TOKEN = “8767103482:AAH6Zn4FRJ-NQ9RwCrnt3OTDLqPZK-L7Fbg”;
  • معرّف المحادثة (Chat ID): يحدد إلى أين تُرسل الرسائل، مثلا:

  • const char* CHAT_ID = “-1003617183721”;
  • قبل رفع الكود الى اللوحة، يجب عدم تركيب الاسلاك مع لوحة الويموس حتى اكتمال عملية الرفع.
  • كما يجب تنزيل المكتبات التالية:
  • مكتبة ESP8266WiFi.h.
  • مكتبة WiFiClientSecure.h.
  • مكتبة UniversalTelegramBot.h.
  • مكتبة DHT.h
  • للإطلاع على كيفية تحميل وتنصيب المكتبات قم بزيارة الرابط التالي.
  • في حال لم يعمل هذا الكود البرمجي، قم بتحميل ملف الكود بالضغط على زر التحميل الموجود في الأسفل.

#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
#include <UniversalTelegramBot.h>
#include <DHT.h>

// — إعدادات الحساس —
#define DHTPIN D4 // الدبوس المتصل بحساس DHT11
#define DHTTYPE DHT11 // نوع الحساس
DHT dht(DHTPIN, DHTTYPE);

// — بيانات الشبكة وتلجرام —
const char* ssid = “Redmi A1”;
const char* pass = “19041904”;
const char* BOT_TOKEN = “8604308627:AAEJnHjAbfa1r5z-g2zrNaVRiXmMn1wlNw0”;
const char* CHAT_ID = “-1004337592927”;

const int BUZZER = D2;
bool alertActive = false;
const float HUMIDITY_THRESHOLD = 70.0; // عتبة الرطوبة التي يبدأ عندها التحذير

WiFiClientSecure client;
UniversalTelegramBot bot(BOT_TOKEN, client);

void setup() {
Serial.begin(115200);
dht.begin();
pinMode(BUZZER, OUTPUT);
digitalWrite(BUZZER, LOW);

WiFi.begin(ssid, pass);
client.setInsecure();

Serial.print(“Connecting to WiFi…”);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(“.”);
}
bot.sendMessage(CHAT_ID, “نظام حماية المواد الغذائية من التعفن يعمل الآن.”, “”);
}

void loop() {
delay(2000); // DHT11 يحتاج تأخير بين القراءات

float h = dht.readHumidity(); // قراءة الرطوبة

if (isnan(h)) {
Serial.println(“فشل قراءة حساس DHT!”);
return;
}

Serial.print(“Humidity: “);
Serial.println(h);

if (h > HUMIDITY_THRESHOLD) {
if (!alertActive) {
String alertMsg = “⚠️ تحذير: رطوبة عالية (” + String(h) + “%)! خطر تعفن المواد الغذائية.”;
bot.sendMessage(CHAT_ID, alertMsg, “”);
alertActive = true;
}
// تفعيل الجرس
digitalWrite(BUZZER, HIGH);
delay(200);
digitalWrite(BUZZER, LOW);
} else {
if (alertActive) {
bot.sendMessage(CHAT_ID, “✅ الرطوبة عادت للمستوى الآمن.”, “”);
alertActive = false;
}
digitalWrite(BUZZER, LOW);
}
}

اترك تعليقاً

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