بسم الله الرحمن الرحيم
السلام عليكم ورحمه الله وبركاته
هذا جزء الاول من مشروع متكون من كارت الرئيسي يستطيع بالتحكم بعد غرف عن طريق كمبيوتر او GSM او اندرويد او .... يعني نقول عنه معالج الرئيسي
اما كارت الثاني سمه room1 وهذا يتم التحكم بالغرفه الرقم 1 ومتصل بكارت الرئيسي عبر RS485
اما كارت الثالث سمه room2 وهذا يتم التحكم بالغرفه الرقم 2 ومتصل بكارت الرئيسي عبر RS485
http://up.top4top.net/downloadf-top4...5b711-rar.html
سأقوم بشرح الكود ومشاكل الي واجهتني لكي نحلها لنبدأ بعد بتطوير كارت كارت وكلا على حدا
مشكله هي كيفيه ربط RS232 مع RS485 في كارت الرئيسي لكونهما يعملان بنفس البروتوكول وهاردوير
طبعا يوجد حل بأستخدام 74ALS241 وهذه تعمل مثل select switch معتمده على الاطراف 1oE و 2oE ولكن لاسف لايمكن محاكاتها على البروتيس مما اضطرني الى استخدام سويجات
كان يمكن أستخدام العائله 18F ولكن لم أتمن من حل مشكله التي ذكرتها في هذا الرابط
http://www.qariya.info/vb/showthread.php?t=150559
تحياتي
|
السلام عليكم
قمت بتحديث المشروع الجزء الاول
http://up.top4top.net/downloadf-top4...dc3b1-rar.html
في هذا الجزء تمت حل مشكله التحويل بين RS232 و RS485 حيث عندما يستلم اشاره من كمبيوتر يتحول بشكل اتوماتيكي ويلغي الاتصال مع RS485 حيث أستخدمت 74HCT241 هو buffer
في هذا الجزء تمت تغير الاكواد شفرات تشغيليه للاحمال لتكون بهذه الصيغه SabcT
حيث a هو رقم الغرفه و b هو رقم الحمل و c هو حاله الحمل اذا كان=0 يعني اجعل حمل =0 واذا كان =1 يعني أجعل حمل =1
كما تمت برمجه #C
==============================================
أهم مشاكل التي لم تحل
1- في برنامج #C لايستجيب مايكرو الا اذا ارسلت له كود مرتين
مثال اذا ضغطت على سويج 1 لتشغيل حمل 1 في غرفه رقم 1 لازم ارسل له كود
كود:
if (sp.IsOpen) sp.Close();
sp.Open();
if (flag_load[0] == 0)
{
flag_load[0] = 1;
sp.Write("S111T");
sp.Write("S111T");
pictureBox1.BackColor = Color.Green;
label2.Text = "LOAD1 ON";
}
else
if (flag_load[0] == 1)
{
flag_load[0] = 0;
sp.Write("S110T");
sp.Write("S110T");
pictureBox1.BackColor = Color.Blue;
//MessageBox.Show("Load1 IS OFF", "ROOM1");
label2.Text = "LOAD1 OFF";
}
2- اريد البرنامج في #C يعرض وقت بأستمرار اي وقت والتاريخ
3- اذا تمت أتصال بين كمبيوتر ومايكرو اريد أجعل #C يستقبل البيانات ومنها يتعرف على حاله الحمل اي ايهما في حاله ON واي هما في حاله OFF
يعني يتم قراءه بدون الضغط على اي سويج اي يتعرف اتوماتيكا (( يعني يقرأ بيانات بشكل اتوماتيكي))
4- اريد أجعل مستخدم هو الي يكتب نوع الحمل الذي لديه بحيث اذا كتب المستخدم فأن البرنامج سيحفظ النص الجديد ولايتغير عند أعاده تشغيل البرنامج