اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

البداية لربط الاكسس بالعالم الحقيقي والتحكم فى البوبات والاناره " اهداء اليكم "


king5star

الردود الموصى بها

السلام عليكم اخواني واحبائى فى الله :fff: .

اليوم اتيت لكم بمشروع جديد وحصري وهو التحكم فى العالم الحقيقي باستخدام الاكسس ، كالتحكم فى ( فتح البوبات - تشغيل الاناره - تسجيل قرائات حساسات - العد من العالم الحقيقى وتسجيل البيانات - الخ.....)

وهذا فيديو للتحفيز :

 

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

1- برنامج اكسس اصدار 2010 او اعلى .

2- كارت اردوينو وهى كارت مفتوحة المصدر و سهلة البرمجة والاستخدام وسوف اقوم بشرحها بالتفصيل على حلقات والتأكد من تنصيب برنامج البرمجة الخاص بها ممكن تحميله من هنا .

    ويفضل قراءه هذا المقال الذي يعطي نبذة جيده لهذا الكارت للبدء فى استخدامها يمكنك قراءته من هنا .

arduino-uno-r3-1.jpg.2af1a47df9059d5a9fe6e92495cfbdee.jpg

3- موديل ريلاى واحد خط او اكثر على حسب الرغبة فى عدد الخطوط المرغوب فى التحكم بها او البوابات .

  وبرجاء قراءه هذا المقال الذي سوف يوضح ما هذا المفتاح وطريقة استخدامه من هنا .

images222.jpg.982799def31fa3a6c21cb3a03574307f.jpg

4- اسلاك توصيل بين الموديل و الاردوينو وهى اسلاك جاهزة كما هو موضح .

uge_20Jumper_20F-M-320x240-500x375.jpg.bcf0cfb2864643b3bfd61130e32861b5.jpg

 

<----------------------------------------------------------------------------------------------------------------------------------------->

 

كيف سيتم الاتصال :

من اسهل طرق التوصيل واكثرها فاعلية وسرعة واتصال فى الجهاتين اى ( ارسال بيانات - واستقبال بيانات ) هو المنفذ التسلسلي Serial Port او RS232 ولمعلومات عنه بالتفصيل بامكانك قراءه هذا المقال من هنا .

 

برجاء قراءه المقالات الموضحه بعاليه قبل البدء فى اى شئ وللحديث بقيه .

 

 

تم تعديل بواسطه king5star
  • Like 4
  • Thanks 2
رابط هذا التعليق
شارك

فى البداية نقوم بفتح برنامج الاردوينو ومسح المحتوي الذى بداخلة كله ولصق هذا الكود :

1.jpg.7587c80b946eb366d9b14b70547bbc4e.jpg

// Example_1_Computer MSACCESS_Interfacing
// Design By : Karim Adel El-Hosseny
// Mobile : 01277877151

int Door=7;                   // تهيئه متغير يقوم يتعويض رقم المنفذ 7 الى اسم لسهولة البرمجة
int value;                    // تهيئة متغير لتخزين قيمة القراءه من المنفذ التسلسلي

void setup ()                 // دالة عامه لتهيئة المنفذ التسلسلي
{
  Serial.begin(9600);         // ضبط معدل النقل ويجب ان تتوافق هذه القيمة مع القيمة المضبوطبه بالبرنامج بالاكسس
  pinMode(Door,OUTPUT);       // تهيئة الطرف الخاص بالخرج
  digitalWrite(Door,LOW);     // جعل قيمة الجهد المسلط على الطرف الخاص بالخرج مساوى لصفر فولت
}

void loop () {                 // دالة تكرار لا نهائية

value = Serial.read();        
// تخزين قيمة البيانات المستلمة من المنفذ التسلسلي والمرسلة من الاكسس بالمتغير المحجوز مسبقاً                               
if (value == '1')              // يقوم هذا الامر من مراجعة قيمة البيانات المرسلة اذا كانت مساوية للواحد ويتحقق الشرط يقوم بتنفيذ الاوامر التالية
{
  digitalWrite(Door,HIGH);     // جعل الالجهد المسلط على الطرف مساوية لاعلى فولت ممكن
  delay(3000);                 // الانتظار لمده ثلاث ثواني
  digitalWrite(Door,LOW);      // جعل الجهد المسلط على الطرف مساوية لاقل فولت ممكن
  }   
else if (value == '0') {digitalWrite(Door,LOW);} // وفى حالة عدم تحقق الشرط يجعل الجهد المسلط على الطرف لاقل فولت ممكن 
}

ولفهم الكود بشكل اكبر سنقو بشرحة خطوه خطوه فى البداية تعريف للكود والمصمم له :

// Example_1_Computer MSACCESS_Interfacing
// Design By : Karim Adel El-Hosseny
// Mobile : 01277877151

--------------------------------------------------------------------------------------------------------------------------------

int Door=7;            
int value;

وفى هذا الجزء قمنا بحجز سجل ( متغير رقمي ) فى الذاكره المؤقته بالميكروكونترول باسم Door  و جعلنا قيمتها 7

و 7 هى رقم الطرف الذى سيوصل عليه البوابة او لمبة الاناره ويكون الرقم مكتوب بجوار الطرف كما بالصورة :

6.jpg.db91fd8549113021d3509f0ecb6a945a.jpg

وحجز خانة اخري بالمسمي Value لتسجيل بها البيانات المستقبله من طريق السيريال بورد .

void setup (){     }

وهى دالة محجوزة بالميكروكونترول ويكتب بها اوامر النهيئة الخاصة بالاطراف او الموديلات الداخلية المدمجة معه .

  Serial.begin(9600);        

 ويقوم هذا الامر بتفعيل وتهئية موديل السيريال بورد المدمج مع الميكروكونترول ويخبره بان معدل نقل البيانات المستخدم هو 9600 كيلو بايت ويجب ان يكون جهاز الكمبيوتر متوافق مع هذا الرقم وايضا البيانات المرسلة من الاكسس كما سنوضحها لاحقاً .

  pinMode(Door,OUTPUT);       

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

اذا فالوظيفة الاولى كخرج والثانية كدخل .

ونحن هنا نستخدمة كخرج فنامره عند ارسال قيمة معينه من الاكسس يقوم بالتوصيل واذا انقطعت يتوقف .

  digitalWrite(Door,LOW);

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

void loop () {         }

وهى دالة البرنامج الرئيسى التى اول ما يعمل الميكرو ويقوم بالتهيئة يدخل اليها لتنفيذ التعليمات المرغوبة .

ملحوظة هامه : ان الميكروكونترول ليس مرن كالاكسس بمعنى انه يقوم بتنفيذ التعليمات بالترتيب ولا يستطيع ان يقفز الى امر اخر دون المرور على البقية .

value = Serial.read();  

وهنا نامر الميكرو بتسجيل البيانات المستقبلة فى المتغير المحجوز سلفاً فى الكود .

if (value == '1')
{

وكالمعتاد والمتوقع عن ايجاد دالة الشرط IF كما تعودنا استخدامها فى الاكسس وتختلف فقط بطريقة كتابها كما موضح .

وتقوم بفحص حالة المتغير فاذا كانت قميته تساوى واحد صحيح يقوم بتنفيذ الاوامر واذا لم تكن يقوم بتنفيذ التالى وكذلك يمكن استخدام Elseif ونرسل قيمة مثلا 2 فيقوم بفتح بوابة اخري وهكذا .

 digitalWrite(Door,HIGH);

فاذا تحقق الشرط يقوم بجعل قيمة الخرج المسلط على الطرف المحدد سلفاً باعلى قيمة فولت لتشغيل الريلاى لفتح البوابة .

delay(3000);

وهذه داله تمنيت وجودها فى الاكسس وهى دالة تأخير زمني والرقم 3000 بمعني 3 ثواني فالميكروكونترول لديه قدره لتقسيم الثانية الواحده الى 1000 جزء ويتعامل معها كجزء من الـ1000

digitalWrite(Door,LOW);

بعد الانتظار لمدة ثلالث ثواني يقوم بتخفيض الفولت الى صفر لغلق البوابة واذا احببتم زياده الوقت نقوم بزياده ال 3000

else if (value == '0') {digitalWrite(Door,LOW);}

وفى حالة عدم تحقق الشرط او عدم وجود قيمة يقوم بابقاء الفولت منخفض للحفاظ على غلق البوابة .

 

 

 

 

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

 

2.jpg.1d3aee186c216c17a1f13d775bed994e.jpg

 

ويجب ان تظهر هذه العبارات التى توضح المساحة المستخدمة من الذاكره الخاصة بالميكرو والرام

5.jpg.3f0e4c41aaba5710b15ce5a6b86b1a8f.jpg

 

فاذا ظهرت هذه الرسالة يكون الكود خالى من الاخطا وبامكانك شحن الاردوينو بالبرنامج من هذه العلامة :

3.jpg.3ce6b62b75e0fd07db7247b02cfb3042.jpg

 

وهكذا نكون اتممنا برمجه الاردوينو بنجاح .

 

والله الموفق .

 

ونلتقي قريباً .

4.jpg

  • Like 6
  • Thanks 5
رابط هذا التعليق
شارك

في ١٠‏/٨‏/٢٠١٨ at 13:38, صالح حمادي said:

شكرا جزيلا أخي @king5star موضوع مهم جدا

شكراً اخى صالح على هذا الدعم .

في ١٠‏/٨‏/٢٠١٨ at 14:11, محمد سلامة said:

موضوع هام وجديد شكرا لك 

عفوا اخى اتمني الافادة لك .

في ١٢‏/٨‏/٢٠١٨ at 08:04, at_aziz said:

موضوع هام وجديد

بارك الله فيك وجزاك الله خير

وبارك لك اخى .

في ١٢‏/٨‏/٢٠١٨ at 09:00, AlwaZeeR said:

جميل اخي الكريم

في ميزان حسناتك ان شاء الله

استمر

 

مرورك اخى اجمل وسنستمر باذن الله .

في ١٢‏/٨‏/٢٠١٨ at 10:58, حربي العنزي said:

موضوع اكثر من رائع جزاك الله خيرا 

وجزاك اخى ايضاً

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

رابط هذا التعليق
شارك

13 ساعات مضت, حربي العنزي said:

استاذي الفاضل ربي يخليك يارب جزاك الله خيرا 

ممكن البرنامج بصيغة 2003 لاني استخدم اوفيس 2003 واكون شاكرا لك وممنون لك  

تفضل اخى

officena.rar

  • Like 1
رابط هذا التعليق
شارك

  • 5 months later...

 

في ٢٧‏/١‏/٢٠١٩ at 09:30, toradora said:

 Thanks for having such a kind person like you

 However I would'nt seem to make it work

 Can you please teach me how I can make it workimage.png.ba3473ed0e6050974a8433bb1c0d636e.png

Because your computer does not support Arabic, I will design the program for you but give me a little time

في ٢٩‏/١‏/٢٠١٩ at 10:49, سلمان الشهراني said:

ياليت تزودنا او احد يفيدنا 

بمعلومات عن شراء العتاد 

1- كارت اردوينو

2- ريلاي

وشاكر لك 

بامكانك شرائها من شركه رام وستقوم بشحنها لك 

https://ram-e-shop.com/

تم تعديل بواسطه king5star
  • Thanks 1
رابط هذا التعليق
شارك

7 دقائق مضت, بشير الكيلاني said:

جزاك الله خيرا و جعله في ميزان حسناتك

شكرا لك على هذا الموضوع

الموضوع جدير بالاهتمام

تشرفت بمرورك

18 ساعات مضت, toradora said:

Thank you very much

You're the best

 

You Welcome

في ٣٠‏/١‏/٢٠١٩ at 23:15, سلمان الشهراني said:

الله يعطيك العافيه

وتسلم والف شكر لك

عفوا ً اخي

  • Like 1
رابط هذا التعليق
شارك

في ١‏/٢‏/٢٠١٩ at 20:23, سلمان الشهراني said:

اذا ممكن تزودنا بروابط القطع مباشر من موقع شركة رام

والشكر موصول لك

تعبناك معانا

https://ram-e-shop.com/product/kit-arduino-uno/

https://ram-e-shop.com/product/kit-m2-1relay/

  • Like 1
رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • اضف...

Important Information