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

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

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

  • في هذا المشروع سنقوم بتصميم نظام إلكتروني ذكي للتنبيه عن ارتفاع درجة الحرارة في مخازن الأدوية باستخدام لوحة Arduino.
  • يعتمد النظام على حساس DHT11 لقياس درجة الحرارة والرطوبة داخل المخزن بشكل مستمر، حيث يتم تثبيت الحساس في مكان مناسب.
  • عند ارتفاع درجة الحرارة عن الحد الآمن المحدد مسبقًا، يقوم النظام بتفعيل تنبيه صوتي عبر الصفّارة (Buzzer) وتنبيه مرئي، على شاشة LCD 2×16، مما يسمح للمسؤول بالتدخل السريع لحماية الأدوية من التلف.
  • يساعد هذا النظام على الحفاظ على جودة وسلامة الأدوية، وتقليل الخسائر الناتجة عن التخزين غير السليم، كما يساهم في تسهيل عملية المراقبة المستمرة دون الحاجة للتفقد اليدوي.
  • وفي الختام، نسأل الله عز وجل أن يكون هذا العمل مفيدًا ونافعًا، وأن يساهم في توظيف التقنيات الحديثة لخدمة القطاع الصحي وتسهيل مهام العاملين فيه.

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

مخطط المشروع

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

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

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

#define DHTPIN 13 // DHT11 على المنفذ 13
#define DHTTYPE DHT11
#define BUZZER 3 // الصفّارة على المنفذ 3

#define TEMP_LIMIT 22 // الحد الأقصى الآمن لدرجة الحرارة (°C)

DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2); // غيّر إلى 0x3F إذا لزم

void setup() {
pinMode(BUZZER, OUTPUT);
digitalWrite(BUZZER, LOW);

dht.begin();
lcd.init();
lcd.backlight();

lcd.setCursor(0, 0);
lcd.print(“Temp Monitor”);
delay(2000);
lcd.clear();
}

void loop() {
float temperature = dht.readTemperature();

if (isnan(temperature)) {
lcd.setCursor(0, 0);
lcd.print(“Sensor Error”);
return;
}

lcd.setCursor(0, 0);
lcd.print(“Temp: “);
lcd.print(temperature);
lcd.print(” C “);

if (temperature > TEMP_LIMIT) {
digitalWrite(BUZZER, HIGH);
lcd.setCursor(0, 1);
lcd.print(“ALERT: HIGH !”);
} else {
digitalWrite(BUZZER, LOW);
lcd.setCursor(0, 1);
lcd.print(“Status: OK “);
}

delay(2000);
}

اترك تعليقاً

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

تحديثات مهمة للعملاء في السعودية بدءًا من 1 يناير 2026م

يرجى الاطلاع على تفاصيل التحديثات عبر الرابط التالي:

اضغط هنا
إغلاق هذا الإشعار يُعد تأكيدًا على أنك قرأت التحديثات وفهمتها.