U3F1ZWV6ZTExMjQ4NjkwMDA1NzlfRnJlZTcwOTY2NDYzMzY5NA==

مشروع تخرج إنترنت الأشياء: نظام الأمن والأتمتة المنزلية الذكية باستخدام Arduino Uno 2025؟


 

نظام أمان منزلي ذكي باستخدام Arduino

مقدمة

في عالمنا الحديث، أصبح الأمان المنزلي والمراقبة الذكية ضرورة لحماية ممتلكاتنا وعائلاتنا. مشروع نظام الأمان الذكي باستخدام Arduino يجمع بين مجموعة من الحساسات والمكونات الإلكترونية لمراقبة الحركة، مستوى الغاز، مستوى الضوء، ومستوى المياه، مع إمكانية إرسال التنبيهات عبر الإنترنت إلى هاتفك الذكي أو منصة إنترنت الأشياء (IoT).

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


المكونات الأساسية للمشروع

يتكون النظام من المكونات التالية:

  • Arduino Uno: المتحكم الرئيسي الذي يتحكم في جميع مكونات النظام.

  • حساس مسافة بالموجات فوق الصوتية (HC-SR04): لقياس المسافة وكشف الحركة.

  • حساس PIR: لكشف الحركة البشرية.

  • حساس الغاز (MQ-2 أو MQ-135): لاكتشاف تسرب الغاز أو الدخان.

  • LDR (مقاومة ضوئية): لقياس شدة الضوء والتحكم التلقائي في الإضاءة.

  • جهاز إنذار (Buzzer): لإصدار صوت عند اكتشاف حركة أو غاز.

  • LED أو مصباح: للإشارة إلى حالة النظام أو العمل كإضاءة تلقائية.

  • مقاومات وأسلاك توصيل (Jumper Wires): للاتصال الصحيح والتحكم في الفولتية.

  • وحدة Wi-Fi (ESP8266): لربط النظام بالإنترنت وإرسال التنبيهات والتحكم عن بعد.


شرح الكود الأساسي

الكود مكتوب بلغة Arduino ويغطي قراءة الحساسات، التحكم بالمخرجات، وإرسال البيانات إلى منصة ThingSpeak عبر الإنترنت.

الإعدادات العامة (Configuration)

يتم تعريف الشبكة والاتصال بمنصة ThingSpeak بالإضافة إلى العتبات الخاصة بالحساسات:

String ssid = "Simulator Wifi"; String password = ""; String host = "api.thingspeak.com"; const int httpPort = 80; String url = "/update?api_key=OMPQYIH9IVI2HZBS&field"; int sensorState = 0; float thresholda = 0.25; float thresholdb = 0.75;

تهيئة ESP8266

int setupESP8266(void) { Serial.begin(115200); Serial.println("AT"); delay(10); if (!Serial.find("OK")) return 1; Serial.println("AT+CWJAP=\"" + ssid + "\",\"" + password + "\""); delay(10); if (!Serial.find("OK")) return 2; Serial.println("AT+CIPSTART=\"TCP\",\"" + host + "\"," + httpPort); delay(50); if (!Serial.find("OK")) return 3; return 0; }

إعداد الأرجل (Pins) في الدالة Setup

void setup() { pinMode(2, INPUT); pinMode(A0, INPUT); pinMode(A1, INPUT); pinMode(3, OUTPUT); pinMode(4, OUTPUT); pinMode(5, OUTPUT); pinMode(7, OUTPUT); Serial.begin(9600); setupESP8266(); }

الدالة الرئيسية Loop

void loop() { digitalWrite(4, HIGH); PIR(); WATER(); GAS(); DISTANCE(); }

شرح دوال الحساسات

1. حساس الحركة PIR

يقيس الحركة البشرية ويقوم بتشغيل LED وإرسال البيانات:

void PIR(){ sensorState = digitalRead(2); if (sensorState == HIGH) { digitalWrite(3, HIGH); Serial.println("Motion Detected!"); anydata(1, 1); } else { digitalWrite(3, LOW); anydata(0, 1); } delay(10); }

2. حساس مستوى الماء

يقيس مستوى الماء ويطلق تنبيه عند انخفاضه:

void WATER(){ float val = analogRead(A0); float per = val / 1023.0; Serial.print("Water level is "); Serial.println(per * 100); if(per < thresholda){ digitalWrite(4, LOW); anydata(1, 2); while(per < thresholdb){ val = analogRead(A0); per = val / 1023.0; digitalWrite(4, LOW); anydata(1, 2); Serial.print("Water level is "); Serial.println(per * 100); } } digitalWrite(4, HIGH); anydata(0, 2); }

3. حساس الغاز

void GAS(){ int gas = analogRead(A1); Serial.print("value of gas sensor is: "); Serial.println(gas, DEC); anydata(gas, 3); if (gas > 800){ digitalWrite(5, HIGH); Serial.println("UNSAFE GAS DETECTED"); } else { digitalWrite(5, LOW); } }

4. حساس المسافة Ultrasonic

void DISTANCE(){ pinMode(6, OUTPUT); digitalWrite(6, LOW); delayMicroseconds(2); digitalWrite(6, HIGH); delayMicroseconds(5); digitalWrite(6, LOW); pinMode(6, INPUT); long duration, cm; duration = pulseIn(6, HIGH); cm = microsecondsToCentimeters(duration); Serial.print("Distance: "); Serial.print(cm); Serial.println("cm"); anydata(cm, 4); if(cm < 100){ digitalWrite(7, HIGH); Serial.println("Human Presence Detected"); } else { digitalWrite(7, LOW); } }

دالة تحويل الزمن إلى مسافة

long microsecondsToCentimeters(long microseconds) { return microseconds / 29 / 1.955; }

دالة إرسال البيانات إلى ThingSpeak

void anydata(int value, int field ) { String httpPacket = "GET " + url + String(field) + "=" + String(value) + " HTTP/1.1\r\nHost: " + host + "\r\n\r\n"; int length = httpPacket.length(); Serial.print("AT+CIPSEND="); Serial.println(length); delay(10); if (!Serial.find(">")) return; Serial.print(httpPacket); delay(10); if (!Serial.find("SEND OK\r\n")) return; delay(10000); }

فكرة المشروع وتطبيقاته

يهدف المشروع إلى مراقبة وحماية المنزل أو أي مساحة آليًا باستخدام عدة حساسات. يقوم Arduino بقراءة البيانات من الحساسات واتخاذ إجراءات مثل:

  • تشغيل الإنذار عند اكتشاف حركة أو غاز.

  • تشغيل أو إطفاء الإضاءة تلقائيًا بناءً على شدة الضوء (باستخدام LDR).

  • إرسال التنبيهات عبر Wi-Fi إلى الهاتف الذكي أو منصة IoT.

التطبيقات العملية:

  • أنظمة الأمان المنزلية الذكية.

  • مراقبة الحركة في المكاتب وأماكن العمل.

  • كشف تسرب الغاز أو الحرائق مبكرًا في المصانع والمخازن.

  • أنظمة إضاءة تلقائية تعتمد على البيئة المحيطة.


الخلاصة

مشروع نظام الأمان الذكي باستخدام Arduino وESP8266 يقدّم حلولًا متكاملة للأمن المنزلي والمراقبة الذكية. بفضل الدمج بين الحساسات المختلفة والتحكم بالإنترنت، يمكن لأي شخص مراقبة منزله أو مكان عمله بكفاءة عالية، مع تنبيهات فورية وإمكانية التفاعل عن بعد.

كلمات مفتاحية: Arduino, نظام أمان منزلي, ESP8266, PIR, حساس غاز, LDR, ThingSpeak, إنترنت الأشياء, إنذار ذكي, أمان المنزل

تعليقات
ليست هناك تعليقات
إرسال تعليق

إرسال تعليق

الاسمبريد إلكترونيرسالة