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

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

hamadalla31
:: مهندس متميز ::
تاريخ التسجيل: Mar 2009
المشاركات: 587
نشاط [ hamadalla31 ]
قوة السمعة:0
قديم 15-06-2014, 10:47 AM المشاركة 9   
افتراضي



على بركة الله ....
استخدام الانكودر لزيادة عدد مداخل البك ...

لاحظ انه عندما ضغطنا المفتاح الثالث و الذي يمثل الرقم 2 ظهر في جهة الخرج الرقم 2 بالباينري , لذلك لا يحتاج الى برمجة خاصة لانه يحول رقم المدخل الى قيمته الحقيقية و يتسلمها البك مباشرة دون الحاجة الى البرمجة و معالجة البيانات ...
كل متكاملة انكودر تتيح تحويل 4 مداخل من البك الى 8 مداخل و بذلك سوف يتضاعف عدد اطراف الدخل ...
اذا استحسنت هذه الطريقة نسترسل في التكملة ...
الفكرة جيدة ولكن المطلوب حجز 40 رقم + 40 اسم وأظن بهذه الطريقة سيكون عندنا عدد اسلاك اكبر
ففكرت في فكرة مسجل الإزاحة 74hc165 في النهاية سيكون عندي ثلاث أطراف مهما زاد العدد للمداخل وقد شرحت فكرتي في المشاركة رقم 5 والملف بالكامل موجود يمكنك تحميله الا ان المشكلة عندي ان الرامات لاتحتمل هذا العدد من الأسماء وهنا مربط المشكلة

اعلانات

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:394
قديم 15-06-2014, 11:20 AM المشاركة 10   
افتراضي


عدد الاسلاك نفسه لانه يعتمد على عدد الاسرّه ...
و كل سرير له مفتاح خاص به و عليه فان عدد الاسلاك يساوي عدد المفاتيح + السلك المشترك ...
تخزين البيانات يكون في مصفوفة و يتم استدعائها حسب رقم السرير و القسم ...
لم اتمكن من تحميل الملف بسبب ضعف النت ..


التعديل الأخير تم بواسطة : حيدر علاج حسن بتاريخ 15-06-2014 الساعة 11:24 AM
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

hamadalla31
:: مهندس متميز ::
تاريخ التسجيل: Mar 2009
المشاركات: 587
نشاط [ hamadalla31 ]
قوة السمعة:0
قديم 15-06-2014, 11:46 AM المشاركة 11   
x6 بارك الله لك اخي الحبيب


عدد الاسلاك نفسه لانه يعتمد على عدد الاسرّه ...
و كل سرير له مفتاح خاص به و عليه فان عدد الاسلاك يساوي عدد المفاتيح + السلك المشترك ...
تخزين البيانات يكون في مصفوفة و يتم استدعائها حسب رقم السرير و القسم ...
لم اتمكن من تحميل الملف بسبب ضعف النت ..
أظن ان المصفوف ستكون بهذا الشكل

كود:
char disp [32];
   disp[1]="hamad a1";
   disp[2]="hamad a2";
   disp[3]="hamad a3";

السؤال الأول هل سيتم الحجز لهم في الرامات ام في الروم
السؤال الثاني اذا استخدمت فكرة switch كما بهذا الشكل
كود:
switch(a)
           {
            case 1 :// lcd_cmd(_lcd_clear);   // Clear display
                    Lcd_Out(1, 1, Nam_1);
                    Lcd_Out(2, 1, "no: 1 ");
                    portc.f1=1;
                    break;
            case 2 : lcd_cmd(_lcd_clear);    // Clear display
                     Lcd_out(1, 1,Nam_2);
                     Lcd_Out(2, 1, "no: 2 ");
                     portc.f1=1;
                     break;
            case 3 :lcd_cmd(_lcd_clear);    // Clear display
                    Lcd_Out(1, 1, Nam_3);
                    Lcd_Out(2, 1, "no: 3 ");
                    portc.f1=1;
                    break;
            case 4 :lcd_cmd(_lcd_clear);    // Clear display
                    Lcd_Out(1, 1, Nam_4);
                    Lcd_Out(2, 1, "no: 4 ");
                    portc.f1=1;
                    break;
            case 5 :lcd_cmd(_lcd_clear);    // Clear display
                    Lcd_Out(1, 1, "Samir abdaziz");
                    Lcd_Out(2, 1, "no: 5 ");
                    portc.f1=1;
                    break;
علي فكرة المثالين لبرامج مختلفة لكن احببت ان استوضح الفكرة
حين فكرت ان انفذ البرنامج بهذا الإسلوب لم تتم توليد ملف الهيكس لنفاذ الرامات
استرسل واكمل ام وضحت فكرتي


abu-thabit
:: مهندس متميز ::
تاريخ التسجيل: Oct 2010
المشاركات: 339
نشاط [ abu-thabit ]
قوة السمعة:0
قديم 15-06-2014, 12:24 PM المشاركة 12   
افتراضي


السلام عليكم ورحمة الله

اقتراح

الحالة

switch for (call) : 1
switch for (cancel) : 2
switch for (emergency) : 3


عنوان القسم ( الجناح )

عنوان الجناح ( القسم ) 4 بت ( 16 عنوان )

dip switch 4 pin







عنوان السرير


عنوان السرير 8 بت (256 عنوان )

dip switch 8 pin




بحيث يتم وضع عنوان ثابت لكل قسم وعنوان ثابت لكل سرير

مثال

جناح الجراحة = 0 (0000)
جناح الباطنية = 1 (0001)
.
.
جناح ......... = 15 (1111)



السرير 1 = 00000000
السرير 2 = 00000001
.
.
السرير 256 = 11111111


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

بايت بدء الرساله + بايت عنوان الجناح + بايت عنوان السرير +بايت الحالة

وعند استقبال البيانات يقوم المتحكم بالتأكد من ان البايت الاول هو بايت بداية الرساله ثم بعد ذلك يقوم يتحليل البيانات المستلمه ومعرفة الجناح والسرير والحالة



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

كما لايمكن ان يخلو هذا القسم في المستشفى من كمبيوتر



هذا اقتراح ممكن تطويره والفكرة الرئيسية هي استخدام العنونه لتحديد الاجنحة والاسره باستخدام dip switch
وبهذه الطريقة يمكن تحويل هذا الجهاز لاي جناج ولاي سرير بسهولة عبر تعديل العناوين فقط ودون الحاجه لاي برمجه


اعتذر عن الاطالة


شكرا لكم


الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:135
قديم 15-06-2014, 12:32 PM المشاركة 13   
افتراضي


أظن ان المصفوف ستكون بهذا الشكل

كود:
char disp [32];
   disp[1]="hamad a1";
   disp[2]="hamad a2";
   disp[3]="hamad a3";

السؤال الأول هل سيتم الحجز لهم في الرامات ام في الروم
السؤال الثاني اذا استخدمت فكرة switch كما بهذا الشكل
كود:
switch(a)
           {
            case 1 :// lcd_cmd(_lcd_clear);   // Clear display
                    Lcd_Out(1, 1, Nam_1);
                    Lcd_Out(2, 1, "no: 1 ");
                    portc.f1=1;
                    break;
            case 2 : lcd_cmd(_lcd_clear);    // Clear display
                     Lcd_out(1, 1,Nam_2);
                     Lcd_Out(2, 1, "no: 2 ");
                     portc.f1=1;
                     break;
            case 3 :lcd_cmd(_lcd_clear);    // Clear display
                    Lcd_Out(1, 1, Nam_3);
                    Lcd_Out(2, 1, "no: 3 ");
                    portc.f1=1;
                    break;
            case 4 :lcd_cmd(_lcd_clear);    // Clear display
                    Lcd_Out(1, 1, Nam_4);
                    Lcd_Out(2, 1, "no: 4 ");
                    portc.f1=1;
                    break;
            case 5 :lcd_cmd(_lcd_clear);    // Clear display
                    Lcd_Out(1, 1, "Samir abdaziz");
                    Lcd_Out(2, 1, "no: 5 ");
                    portc.f1=1;
                    break;
علي فكرة المثالين لبرامج مختلفة لكن احببت ان استوضح الفكرة
حين فكرت ان انفذ البرنامج بهذا الإسلوب لم تتم توليد ملف الهيكس لنفاذ الرامات
استرسل واكمل ام وضحت فكرتي
السلام عليكم
يمكنك أستفاده من هذا مشروع وهو مشروع مصعد كهربائي (( طبعا لم يتم أكتماله )) ولكن أستفد من فكره زياده مداخل
http://up.top4top.net/downloadf-top4...f6571-rar.html
وهذا كود لزياده مداخل
كود:
 void floor_check()
 {
  clk_165 =0;
  sh_165=0; sh_165=1;// puls from 0 to 1
  for(i=0;i<16;i++)
       {
        floor_switch[i]=so_165;

        clk_165 =0;    clk_165 =1;// puls for clock from 0 to 1
       }

for(i=0;i<16;i++)
       {

        //input_switch[i]=eeprom_read(i);
         if( floor_switch[i] is 1)input_switch[i]=1;// store value for ani switch is pressed
       }
}


hamadalla31
:: مهندس متميز ::
تاريخ التسجيل: Mar 2009
المشاركات: 587
نشاط [ hamadalla31 ]
قوة السمعة:0
قديم 15-06-2014, 12:55 PM المشاركة 14   
x6 بارك الله لك اخي الحبيب


السلام عليكم ورحمة الله

اقتراح

الحالة

switch for (call) : 1
switch for (cancel) : 2
switch for (emergency) : 3


عنوان القسم ( الجناح )

عنوان الجناح ( القسم ) 4 بت ( 16 عنوان )

dip switch 4 pin







عنوان السرير


عنوان السرير 8 بت (256 عنوان )

dip switch 8 pin




بحيث يتم وضع عنوان ثابت لكل قسم وعنوان ثابت لكل سرير

مثال

جناح الجراحة = 0 (0000)
جناح الباطنية = 1 (0001)
.
.
جناح ......... = 15 (1111)



السرير 1 = 00000000
السرير 2 = 00000001
.
.
السرير 256 = 11111111


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

بايت بدء الرساله + بايت عنوان الجناح + بايت عنوان السرير +بايت الحالة

وعند استقبال البيانات يقوم المتحكم بالتأكد من ان البايت الاول هو بايت بداية الرساله ثم بعد ذلك يقوم يتحليل البيانات المستلمه ومعرفة الجناح والسرير والحالة



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

كما لايمكن ان يخلو هذا القسم في المستشفى من كمبيوتر



هذا اقتراح ممكن تطويره والفكرة الرئيسية هي استخدام العنونه لتحديد الاجنحة والاسره باستخدام dip switch
وبهذه الطريقة يمكن تحويل هذا الجهاز لاي جناج ولاي سرير بسهولة عبر تعديل العناوين فقط ودون الحاجه لاي برمجه


اعتذر عن الاطالة


شكرا لكم
بسم الله ماشاء الله فكرتك جميله وقيمة بارك الله لك اخي الحبيب هم يطلبون فكرة بسيطة نظرا للتكلفة بوركت اخي الحبيب


hamadalla31
:: مهندس متميز ::
تاريخ التسجيل: Mar 2009
المشاركات: 587
نشاط [ hamadalla31 ]
قوة السمعة:0
قديم 15-06-2014, 12:56 PM المشاركة 15   
افتراضي


السلام عليكم
يمكنك أستفاده من هذا مشروع وهو مشروع مصعد كهربائي (( طبعا لم يتم أكتماله )) ولكن أستفد من فكره زياده مداخل
http://up.top4top.net/downloadf-top4...f6571-rar.html
وهذا كود لزياده مداخل
كود:
 void floor_check()
 {
  clk_165 =0;
  sh_165=0; sh_165=1;// puls from 0 to 1
  for(i=0;i<16;i++)
       {
        floor_switch[i]=so_165;

        clk_165 =0;    clk_165 =1;// puls for clock from 0 to 1
       }

for(i=0;i<16;i++)
       {

        //input_switch[i]=eeprom_read(i);
         if( floor_switch[i] is 1)input_switch[i]=1;// store value for ani switch is pressed
       }
}
اخي الحبيب حسن هادي الرابط لايعمل جزاكم الله بكل خير


abu-thabit
:: مهندس متميز ::
تاريخ التسجيل: Oct 2010
المشاركات: 339
نشاط [ abu-thabit ]
قوة السمعة:0
قديم 15-06-2014, 01:00 PM المشاركة 16   
افتراضي


اين التكلفة ؟

إضافة رد

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

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

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


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

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