بسم الله الرحمن الرحيم
في هذه التجربة سنقوم بعمل جهاز حماية للمنزل , يقوم بإرسال رسالة نصية الى هاتفك الشخصي في حال و جود اي حركة داخل المنزل .
شــاهـــد :
نحتاج الى :
• GSM module ( يمكنك شراءه من هـنـا ).
• PIR Motion Sensor ( يمكنك شراءه من هنـا ).
• متحكم اردوينو .
• شاشة LCD .
• لوحة تجارب مثقبة .
• مصدر جهد ( 5~20 V ) و يتحمل تيار حتى 1A .
• حساس الحركة (PIR ) :
تعد حساسات الحركة (PIR or Passive Infrared) هذه من اكثر الطرق المستخدمة لتحديد الحركة , وهي تعتمد على قياس التغير في الحرارة ( الاشعة تحت الحمراء الصادرة عن الجسم ) عند مرور الجسم من امامه .
تأتي اغلب الحساسات مع مقاومات متغيرة لتغيير حساسيته للحركة , يمكن تعديلها حسب الاستخدام .
هذه الصورة توضح وظيفة هذه المقاومات .
يمكن توصيل هذا الحساس مباشرة مع احد المداخل الرقمية كما بالشكل التالي :
يمكنك معايرة الحساس فبل استخدامه في المشروع للتأكد منه , فقط قم بأخذ القراءات منه و عرضها على الـ serial monitor , و قم بمعايرة المقاومات المتغيرة حتى يرسل الحساس قيمة HIGH عند وجود حركة امامه , و LOW
• GSM module :
غطـاء GSM للأردوينو يوفر لك ببساطة امكانيات الهاتف الجوال (الجيل الثاني) مباشرة من الاردوينو , اذ يمكنك ارسال و استقبال الرسائل القصيرة , و اجراء المكالمات الصوتية و استقبالها, كل ذلك عبر الكود البرمجي .
قد تختلف اشكال و انواع الـ GSM قد تكون على شكل غطاء للآردوينو او مفصول عنها , لكنها تشترك بنفس الوظيفة و طريقة البرمجة .
هذا المودل المستخدم بالتجربة ..
نحتاج لتوصيل المخارج حسب الجدول التالي
الاقطاب TXD و RXD يتم وصلهم مع المداخل 2 و 3 في الاردوينو لأنها الاقطاب التي تم تعريفها للإتصال التسلسلي في المكتبة الخاصة بالموديول .
قم بتحميل المكتبة الخاصة من هنا www.gsmlib.org
ملاحظات مهمة :
اذا كنت تستخدم آردوينو ميجا ( او عند التبديل بين الاونو و الميجا ) تحتاج لتعديل بسيط داخل ملفات المكتبة ..
◘ افتح ملف GSM.cpp .
◘ تجد في بدايته
#define UNO
//#define MEGA
◘ افتح ملف HWSerial.h
ستجد في البداية
//#define MEGA
◘ اذا كان لديك موديول قديم (يستخدم المداخل 4 و 5 ) يجب تعديل ارقام المداخل المستخدمة مع الموديول .
في ملف GSM.cpp ستجد
//#define _GSM_TXPIN_ 4
//#define _GSM_RXPIN_ 5
#define _GSM_TXPIN_ 2
#define _GSM_RXPIN_ 3
ضع اشارة التعليق // على المداخل غير المستخدمة !
ملاحظات مهمة :
◘ يستهلك الموديول 1A خلال بعض العمليات ( اثناء اجراء الاتصال مثلاً ) .
لذلك يجب استخدام مصدر جهد قادر على توفير التيار اللازم للموديول ( 8-12 فولت , 1 امبير ) .
◘ المكتبة تستهلك 80% من ذاكرة الاردوينو , حاول ان تتأكد من انك لا تتجاوز الـ20% المتبقيات من الذاكرة !
• البرمجـة :
الكود البرمجي بسيط جداً و وظيفة الاوامر واضحة ..
#include "SIM900.h"
#include <SoftwareSerial.h>
#include "sms.h"
SMSGSM sms;
char number[]="009627777777";//ضع رقم هاتف لتصله الرسالة
char message[]="Security breach";
int PIR_pin=5;
boolean PIR_state =false
void setup()
{
Serial.begin(9600);
if (gsm.begin(2400))
Serial.println("\nstatus=READY");
else Serial.println("\nstatus=IDLE");
}
void loop()
{
PIR_state = digitalRead(PIR_pin);
if(PIR_state){
sms.SendSMS(number,message);
}
delay(1000);
}
المصادر :
• open electronics
هل ممكن استبدل جهاز الجي اس ام بتلفون نوكيا قديم مثلا لان اعتقد سعره غالي
ردحذفنعم يمكن ذلك اذا كان المشروع بسيط (مثل هذه المقالة ), لكن اذا كان المشروع اعقد و تحتاج لمميزات اكثر لن تستطيع استخدام جميع المميزات بسهولة كما يوفرها الـGSM !
حذفهذه مقالة لإستخدام هاتف قديم مع اردوينو , قراءة ممتعة :)
http://ali-madness.blogspot.com/2013/10/blog-post_6.html
أخي علي هل انت متأكد من كود لان حين شفته على برنامج الاردوينو يظهر لي أخطاء
ردحذفأزال المؤلف هذا التعليق.
حذفهل من الممكن استخدام هذا الكود على ال avr atmega8 بدل الاردوينو
ردحذفاخي ممكن shema لانجاز المشروع في proteus
ردحذفاخي هل يحتاج اشتراك من الشركة الاتصالات لحسم هذا الموضوع ام لا علاقة لهم به.......وشكرا
ردحذفاخي البرمجة به خطأ ممكن تشوف الخطأ وين ؟ وشكرا على جهودك الطيبة
ردحذفduga
ردحذفnice blog
ردحذفهل ينفع استخدام الاندرويد بدك النوكيا ؟؟؟ وكيف الكود يكون ؟
ردحذفالسلام وعليكم انا شتريت جميع الغراض المطلوبة بس عندي مشكلة بالكود البرمجي هل يوجد أحد للمسـآعدة
ردحذفمع خالص التحيات والشكر
هل حصلت على الكود الصحيح
حذفهل ممكن ادخال اكتر من رقم هاتف
ردحذفعندي مشروع نفسه هل ممكن احصل على مساعده في التوصيل منك والكود الصحيح
حذف