قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

صهيب البلال
:: مهندس متواجد ::
تاريخ التسجيل: Dec 2009
المشاركات: 85
نشاط [ صهيب البلال ]
قوة السمعة:0
قديم 21-07-2010, 04:12 PM المشاركة 1   
افتراضي ربط الجوال بالـ pic واستعمال AT commands Twitter FaceBook Google+



بسم الله الرحمن الرحيم
توصيل الجوال بالـ pic
هذا شرح مختصر لكيفية ربط الجوال بالبك وكيفية تناقل البيانات بينهما .. جاء تنفيذا لرغبة بعض الإخوة وأسأل الله تعالى أن ينفع به .
هناك عدة طرق لربط الجوال بالبك من حيث التوصيلات المادية والتوصيلات البرمجية ( أعني بها طريقة تناقل البيانات ) وسنعتمد في شرحنا على الطريقة السهلة والمشهورة
وهي كالتالي :
التوصيلات المادية RS232
التوصيلات البرمجية UART

طبعا هذه الطريقة تعتمد بشكل أساسي على طرفين هما RX , TX حيث يستخدمان لاستقبل وإرسال البيانات بين الأجهزة المربوطة .. وتكون عمليتي الارسال والاستقبال للبيانات بشكل متسلسل (serial) وبالتالي فإن هذا سيؤثر على سرعة نقل البيانات فنحتاج الى تأخير زمني بعد كل إرسال حتى لا يحصل تدخل في البيانات .

لذا سنحتاج للمتطلبات التالية :
1- جوال يدعم أوامر AT commands (استخدمت نوكيا 7610)
2- كيبل توصيل الجوال بالكمبيوتر ... وأفضل استخدام الجوالات التي تعتمد كيبل CA-53 كما في الصورة




3- برنامج تعريف الجوال ( Pc Suite 7 Nolia ) أو (Nokia_Connectivity_Cable_Driver_) أو أي برنامج آخر حسب نوع الجوال لديك
مع العلم أن النقطتان (2و3) سنحتاجهما في المحاكاة فقط أما في التطبيق العملي فلا حاجة اليهما
4- PIC يدعم UART أي أنه يحتوي على طرفي RX ,TX ( استخدمت 16f877a

5- MAX 232

بعد تحضير هذه المتطلبات قم بتنصيب برنامج تعريف الجوال ثم أوصل الجوال بالكمبيوتر ... وهنا يجب أن نتاكد أن الجوال قد تعرف بشكل صحيح وأن الكمبيوتر قد خصص منفذ COM للتخاطب مع الجوال
كما في الصورة
URL=http://up.**********/][IMG]http://up.**********/files/kuxzodvyfjmoqp71m3h6.jpg[/IMG][/URL

كيف تعرف أن جوالك يدعم AT commands ؟؟
بعد القيام بالتوصيلات والتعريفات الموضحة أعلاه ينبغي فحص دعم الجوال لـ AT commands ويكون ذلك باستخدام برنامج Hyber Terminal (يأتي مع الوندوز وله ) أو باستخدام برنامج ( Modem tester )
سأعتمد برنامج Modem tester في الشرح
قم بتحميله من هنــــــــــأ علما أن حجمه صغير جدا

شغل البرنامج واتبع الخطوات كما في الصورة :
[IMG]http://up.**********/files/j3byx1p0q8dwomnpdbc8.jpg[/IMG]

توضيح لبعض أوامر AT
- AT : يستخدم لفحص دعم الجوال لايعازات AT وكذلك لتنبيه الجوال لتنفبذ الايعازات ولهذا نجد أن جميع أوامر At تكون مسبوقة بهذا الايعاز
AT+(command)

-لإجراء اتصال نستخدم ATD الأمر وصيغته كالتالي
كود:
ATD phone no ; CR    (Enter)
ملاحظة : بما أن الـPic ليس فيه زر Enter لذا سنستخدم Ascci code المقابل له وهو الرقم (13)ATD phone no ; chr(13)
ولا ننسى التأكيد على الفارزة المنقوطة

-لأرسال SMS نستخدم الأوامر التالية :
1- نجعل النمط المستخدم في الارسال هو النصي لأنه هو النمط الأسهل :
كود:
AT+CMGF=1  CR  Ctrl+H
2- نكتب الأمر التالي :
كود:
AT+CMGS="رقم الهاتف المرسل اليه"  CR (enter) Ctrl+H
3- نكتب نص الرسالة
4- نضغط Ctrl+z
ملاحظة : بما أن الـPic ليس فيه زر Ctrl+z لذا سنستخدم Asci code المقابل له وهو الرقم (26) وليس فيه Ctrl+H فنستخدم الرقم (10)
فتكون الأوامر التي يرسلها الـ pic للجوال كالتالي
كود:
AT+CMGF=1 
Chr(13)
Chr(10)
AT+CMGS="رقم الهاتف المرسل اليه"
Chr(13)
Chr(10)
Msg (نص الرسالة)
Chr(26)
Chr(13)
Chr(10)
هناك مئات الأوامر من AT لكن هذا ما سنحتاجه في تجربتنا


شرح بروتوكول UART باستخدام لغة مايكروبيسك
هذا البروتوكول كما عرفنا يستخدم لارسال واستقبال البيانات بين البك والأجهزة الخارجية التي تدعم هذه الخاصية
يحتوي هذا البروتوكول على مجموعة من التعليمات أهمها

-UART1_Init : يستخدم للبدء ببرتوكول UART ويحدد سرعة تناقل البيانات ويجب وضعه قبل جميع تعليمات الـ UART وصيغته :
كود:
-	UART1_Init(9600)
مع العلم أن 9600 هي سرعة النقل ونستطيغ تغييرها مثلا 157800

-UART1_Write : يستخدم لأرسال بيانات بصيغة Ascci code
مثلا : رقم (2) الآسكي كود له (50) , لارسال رقم 2 بهذه الطريقة نكتب
كود:
UART1_Write(50)
عند الاستلام تظهر : 2
-UART1_Write_Text : يستخدم لارسال سلسة نصية ويفضل ان لا تكون طويلة حتى لا يحدث خطا عند الاستلام
كود:
UART1_Write_Text("Allah is My God")
بهذه التعليمات الثلاثة نستطيع ان نتعامل مع الجوال حيث نرسل له أوامر AT

-لكي نجعل الجوال يجري اتصال برقم معين نكتب له الدالة التالية
كود:
Sub procedure calling()
UART1_Init(9600)                     ' Initialize UART module 9600 bps
 Delay_ms(100)
UART1_Write_Text("AT")
 UART1_Write(13)  
 UART1_Write(10) 
 Delay_ms(1000)
UART1_Write_Text("ATD1122334;")
 UART1_Write(13)  
 UART1_Write(10) 
 Delay_ms(1000)
End sub
وبنفس الطريقة نجعل الجوال يقوم بإرسال SMS
كود:
sub procedure sendsms()
UART1_Init(9600)                     ' Initialize UART module at 9600 bps
  Delay_ms(100)
UART1_Write_Text("AT")
 UART1_Write(13) 'CR    mean (Enter)
 UART1_Write(10)'LF    mean (ctrl+H)
 Delay_ms(1000)
UART1_Write_Text("AT+CMGF=1")
UART1_Write(13) 'CR
UART1_Write(10)  ' LF
Delay_ms(1000)
UART1_Write_Text("AT+CMGS=")
UART1_Write(34)   ' "
UART1_Write_Text("121211212")   ' phone no.
UART1_Write(34)  ' "                                            
UART1_Write(13)  'CR
UART1_Write(10)   'LF
Delay_ms(1000)
UART1_Write_Text("test msg")
UART1_Write(26)  ' mean (ctrl+Z)
UART1_Write(13)
UART1_Write(10)
Delay_ms(1000)
   end sub
أما في برنامج بروتس فنحتاج الى التعديل التالي
[IMG]http://up.**********/files/cpmo82hfz8est9s9anpe.jpg[/IMG]

أكيد تتذكر لماذا اخترنا COM3 ؟؟


رابط ملف بروتس مع البرنامج بالمايكروبيسك
http://www.4shared.com/file/0gXGZl_3/ATcommands.html

الى هنا انتهت المحاكاة على الكمبيوتر وقريبا بعون الله تعالى سأضع الدائرة العملية البسيطة لمن أراد تنفيذها
وسأحاول وضع البرنامج بلغة مايكروسي وكذلك بـ فلوكود حتى يستفيد أكبر عدد من المتابعين .. وشكرا


التعديل الأخير تم بواسطة : صهيب البلال بتاريخ 21-07-2010 الساعة 04:23 PM
اعلانات

الصورة الرمزية sheimy
sheimy
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: Egypt
المشاركات: 789
نشاط [ sheimy ]
قوة السمعة:94
قديم 21-07-2010, 04:30 PM المشاركة 2   
افتراضي


ربنا يوفقك

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

الصورة الرمزية Eng_Bandar
Eng_Bandar
:: عضو فضي ::
تاريخ التسجيل: Jul 2009
الدولة: المملكة العربية السعودية
المشاركات: 196
نشاط [ Eng_Bandar ]
قوة السمعة:67
قديم 21-07-2010, 04:32 PM المشاركة 3   
افتراضي


الله يفتح عليك في الدنيا و الآخرة
بارك الله فيك أخي الكريم و أخيرا حصلنا شرح مفصل

تكاملت الأيادي و المنتدى أصبح الكثير يثري معلوماته فيه و أصبحنا نرى الأخوة الإسلامية أكثر فأكثر و الكل يعطي و يرجو الأجر من الله بدون تمييز و لا عنصرية
ارجو المتابعة و بانتظارك يا مبدع

تحياتي لكل مسلم غيور يعطي و لا يرجو إلا الأجر من الله

و ارجو أن يكون هنا شرح مفصل بالميكروسي


التعديل الأخير تم بواسطة : Eng_Bandar بتاريخ 21-07-2010 الساعة 04:37 PM

الصورة الرمزية Eng_Bandar
Eng_Bandar
:: عضو فضي ::
تاريخ التسجيل: Jul 2009
الدولة: المملكة العربية السعودية
المشاركات: 196
نشاط [ Eng_Bandar ]
قوة السمعة:67
قديم 21-07-2010, 05:00 PM المشاركة 4   
افتراضي


تكميل للموضوع و جعل موضوع أخينا صهيب مرجع كامل لربط الجوال

هذا ملف لأخينا المهندس أحمد فايد يشرح فيه طریق الإتصال التسلسلي و RS232 بلغة الميكروسي

هذا الرابط
http://www.2shared.com/document/TCrL...unication.html

و هذا رابط في شرح كل أوامر AT في أحد المنتديات ( و هذا المنتدى أحضره أخونا yac100 في مشاركة أخرى فالشكر له )

http://vb4arab.com/vb/showthread.php?t=57590



robota
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: الخرطوم_السودان
المشاركات: 926
نشاط [ robota ]
قوة السمعة:98
قديم 21-07-2010, 05:14 PM المشاركة 5   
افتراضي


ما شاء الله مبدع اخى صهيب
بالتوفيق


eabueida
:: مهندس متواجد ::
تاريخ التسجيل: Apr 2007
المشاركات: 171
نشاط [ eabueida ]
قوة السمعة:0
قديم 21-07-2010, 06:25 PM المشاركة 6   
افتراضي


السلام عليكم

اخي بالنسبة الى الجوال هل هو يدعم الإتصال التسلسلي مباشرة أو هو بداخلة محول من يو اس بي الى سيريال

ممكن التوضيح

والسلام عليكم


almoflehy
:: مهندس جيد ::
تاريخ التسجيل: Apr 2007
الدولة: YEMEN
المشاركات: 252
نشاط [ almoflehy ]
قوة السمعة:0
قديم 21-07-2010, 08:37 PM المشاركة 7   
افتراضي


ماشاء الله ما شاء الله
كنت بانتظار مثل هذا الموضوع من زمان
مشكور اخي صهيب وبانتظار الدائرة وبرنامج الميكروسي
وفقك الله


abnidal
:: مهندس متميز ::
تاريخ التسجيل: Nov 2006
الدولة: مصر
المشاركات: 384
نشاط [ abnidal ]
قوة السمعة:0
قديم 22-07-2010, 07:07 AM المشاركة 8   
افتراضي السلام عليكم


مشكور اخ صهيب وجزاك الله خيرا شرح جميل وموفق انشاء الله
موضوع اكثر من مهم برأي ولو سمحت تابع على نفس المنوال واكرمنا
بالدارة وكود مشروح بالمايكروسي ومرة اخرى جزاك الله خيراً ..

والسلام عليكم ورحمه الله وبركاته

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 08:08 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2024