في هذا المشروع سنتعلم كيفية إستخدام وحدة البلوتوث مع الأردوينو لعمل جهاز تنبيه لوصول رسائل جديدة على البريد الإلكتروني الخاص بنا.
المكونات المطلوبة
توصيل الدارة
قم بتوصيل الدارة كما هو موضح بالصورة التالية :
قمنا بتوصيل وحدة البلوتوث كما هو موضح بالجدول أدناه :
موديول البلوتوث | الاردوينو |
VCC | 5 v |
GND | GND |
TXD | RX (Pin 0) |
RXD | TX (Pin 1) |
سنقوم بضبط البرمجيات اللازمة، بحيث يصدر تنبيه بإستخدام الـ LED عند وصول رسالة إلكترونية جديدة على البريد الإلكتروني. سيتم إضاءة الـ LED الموصوله بالاردوينو عند اصدار التنبيه.
البرامج المطلوبة
نحتاج لتجهيز بعض البرمجيات كي يعمل منبة الرسائل الإلكترونية بشكل صحيح :
- Microsoft Outlook
- Script File “.vbs”
- Bluetooth
- Putty
Script File
هو عبارة عن ملف يحتوي أوامر لنظام التشغيل يقوم النظام بتنفيذها بشكل تلقائي دون الحاجة للتدخل من المستخدم. بمعنى آخر أنه يمكننا من محاكاه إستخدام لوحة المفاتيح بدون وجود المستخدم.
مثلا بدلا من أن نضغط بأنفسنا مفتاح Enter يمكننا
x.sendkeys "{ENTER}"
عند تنفيذه سيحاكي مفتاح Enter كما لو ان أحد ما ضغط عليه.
لانشاء هذا الملف
- نفتح ملف جديد باستخدام برنامج Notepad
- اضف السطور التالية للملف، لاحظ الحروف يجب ان تكون بنفس الشكل
set ghost = wscript.CreateObject("WScript.Shell") ghost.sendkeys "a"
- قم بحفظ الملف عن طريق :
save as –> Email.vbs
و تأكد من إختيار Save as Type : All Files
Microsoft Outlook
هنا سنقوم بضبط بعض الإعدادات بحيث عندما يصلنا رسالة إلكترونية جديدة يقوم برنامج Outlook بتنفيذ ملف الScript الذي قمنا بتجهيزه.
-
قم بفتح برنامج Outlook بعدها قم بالضغط على ‘Rules’ ثم إختار ‘Manage Rules & Alerts’
-
بعد ذلك إضغط على ‘New Rule’ تحت التوبيب في أعلى يسار النافذة
-
اضغط ‘Apply on messages I receive’، بعد ذلك اضغط ‘Next’
-
اختار ‘Where my name is in the To Box’، ثم اضغط ‘Next’
-
اختار ‘Start application’،بعد ذلك في اسفل النافذة اضغط على كلمة ‘application’
-
في النافذة الجديدة، قم بتغيير نوع الملفات من ‘(Executable Files (EXE’، الى ‘All files’.بعد ذلك اذهب الى المكان الموجود به الملف الذي قمنا بإنشاءة سابقا وقم باختياره، ‘Email.vbs’، ثم اضغط ‘Open’
-
قم بإعطاء اسم ما لهذا الـRule ثم قم بالضغط على ‘Finish’
-
اضغط على ‘Apply’ ثم ‘Ok’
Bluetooth
سنحتاج لعمل إقتران لوحدة البلوتوث على الحاسوب من أجل إمكانية الإرسال و الإستقبال بين الأردوينو والحاسوب :
- قم بالتوجه الى Control Panel
- اضغط على ‘Hardware and Sound’
- تأكد من توصيل موديول البلوتوث بالاردوينو ثم قم بتوصيل الاردوينو الى جهاز الحاسوب ستلاحظ ان ضوء الليد على موديول البلوتوث يضىء و يطفىء بسرعه
- ثم بعد ذلك اختار ‘Add a Device’
- انتظر حتى يظهر موديول البلوتوث على الحاسوب بإسم ‘HC-06’ ثم اضغط عليه
- ستظهر نافذة أخرى تطلب ادخال كود مرور، قم بكتابة ‘1234’
- انتظر حتى تظهر رساله انه تم الاتصال
الأن نحن بحاجة لمعرفة رقم المنفذ (Port) الخاص بوحدة البلوتوث. ولذلك لكي نستطيع التواصل معه. توجه إلى أيقونة البلوتوث على شريط المهام أسفل اليمين وقم بالضغط عليه بالزر الأيمن للفأرة وإختيار Open Setting.
في أعلى النافذة ستجد ‘COM Ports’ قم بالضغط عليها و ستجد رقم فيOutgoing port تذكره جيدا
ملاحظة
لمزيد من المعلومات عن وحدة البلوتوث وكيفية ضبطة، يرجى الإطلاع على مشروع نظام التحكم في الإضاءة عبر البلوتوث.
Putty
- أولا، قم بتنزيله من الرابط هنـا Putty
- نقوم بفتحه من Putty.exe
- نختار Serial
- نقوم بتغير COM1 الى رقم الـPort الذي حصلنا عليه من خطوة البلوتوث
- نضغط Open
- سنرى شاشة سوداء مما يعنى اننا نجحنا في عمل إتصال مع البلوتوث
البرمجة :
#define LED 13 int state; void setup() { Serial.begin(9600); pinMode(LED, OUTPUT); } void loop() { if (Serial.available() > 0) { state = Serial.read(); } if (state == 'a') { digitalWrite(LED, HIGH); } }
شرح الكود :
في البداية نقوم بتسمية منافذ الأردوينو التي تم استخدامها في المشروع. اي منفذ 13 الذي تم توصيل الـ LED عليه. ثم نقوم بالإعلان عن المتغيرات التي سنحتاج إليها.
متغير state لتسجيل القيمة المستقبلية عن طريق البلوتوث في حالة وصول رسالة جديدة.
#define LED 13 int state;
في الدالة ()setup، نقوم بضبط الإعدادات اللازمة. وهي تشغيل بروتوكول Serial المستخدم بواسطة البلوتوث، وتعيين الـ LED كمخرج.
void setup() { Serial.begin(9600); pinMode(LED, OUTPUT); }
في الدالة ()loop، نقوم بقراءة الـ Serial وفي حال وصول قيمة جديدة، نقوم بمقارنتها بقيمة ‘a’ التي تم ضبطها سابقا في ملف الـ Script. إذا كانت القيمة التي تم إستقبالها هي ‘a’ أي انه تم وصول رسالة جديدة.
void loop() { if (Serial.available() > 0) { state = Serial.read(); } if (state == 'a') { digitalWrite(LED, HIGH); } }
ملخص للدارة كاملة
قمنا بضبط برنامج Outlook بحيث عندما تصل رسالة جديدة يقوم بفتح ملف الscript الذي قمنا بتسميته Email.vbs و الذي يحتوى على بعض الأوامر التي يقوم الحاسوب بتنفيذها .
يقوم بكتابة حرف ‘a’ على شاشة برنامج Putty الذي يقوم بإرسالها إلى البلوتوث فيستقبلها الأردوينو ويقوم الحاسوب بتشغيل الـ LED
ملاحظة هامة
لكي يعمل كل شيء بشكل صحيح يحب أن يكون برنامج Outlook مفتوح و ايضا برنامج Putty مفتوح و يكون التركيز على الشاشة السوداء لبرنامج Putty
اي أن يكون كما في الصورة