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

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

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

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

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

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

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

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

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

مخطط المشروع

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

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

#include <Wire.h>

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

// مسافة اكتشاف عودة المواشي إلى الحظيرة (بالسنتيمتر)
#define LIVESTOCK_DISTANCE 20

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 <= LIVESTOCK_DISTANCE) {
digitalWrite(LED_PIN, HIGH); // تشغيل الليد
tone(BUZZER_PIN, 1800); // تشغيل الطنان
} 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); // مهلة زمنية
int distance = duration * 0.034 / 2;
return distance;
}

اترك تعليقاً

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

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

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

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