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

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

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

  • في هذا المشروع سنقوم بتصميم نموذج نظام إلكتروني ذكي للتحذير من دخول الجرذان إلى المنزل باستخدام لوحة Arduino.

  • يعتمد هذا النظام على حساس مسافة يتم تثبيته عند مداخل محتملة لتسلل الجرذ.

  • عند اقتراب جرذ من الحساس، يقوم النظام بتفعيل تنبيه ضوئي بواسطة LED وتنبيه صوتي عبر الطنّان (Buzzer) بشكل فوري، مما ينبه سكان المنزل إلى وجود خطر محتمل.

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

  • في الختام، نسأل الله عز وجل أن يكون هذا العمل مفيدًا ونافعًا، وأن يساهم في حماية البيوت من الآفات الضارة.

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

مخطط المشروع

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

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

#include <Wire.h>

#define TRIG_PIN 12
#define ECHO_PIN 13
#define BUZZER_PIN 3
#define LED_PIN 4

// مسافة التحذير من وجود الجرذ (3 سم)
#define RAT_DISTANCE 3

void setup() {
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(BUZZER_PIN, OUTPUT);
pinMode(LED_PIN, OUTPUT);

}

void loop() {
int distance = getDistance();

if (distance > 0 && distance <= RAT_DISTANCE) {

digitalWrite(LED_PIN, HIGH);
tone(BUZZER_PIN, 2000);
} else {

digitalWrite(LED_PIN, LOW);
noTone(BUZZER_PIN);
}

delay(300);
}

// دالة حساب المسافة
int getDistance() {
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);

long duration = pulseIn(ECHO_PIN, HIGH, 30000); // timeout
int distance = duration * 0.034 / 2;
return distance;
}

اترك تعليقاً

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

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

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

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