منتدى الإلكترونيات قسم الالكترونكس لمناقشة الافكار والمعلومات المتعلقة بالهندسة الالكترونية للمبتدئين والهواة والفنيين - Electronics

   

ماجد عباس محمد
:: نائب المشرف العام
::
تاريخ التسجيل: Jun 2009
الدولة: القاهرة - مصر
المشاركات: 11,652
نشاط [ ماجد عباس محمد ]
قوة السمعة:
قديم 28-07-2017, 03:59 PM المشاركة 33   
افتراضي



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

اعلانات

الصورة الرمزية burai nuraldaem
burai nuraldaem
:: عضو فضى ::
تاريخ التسجيل: Nov 2015
الدولة: السودان
المشاركات: 501
نشاط [ burai nuraldaem ]
قوة السمعة:
قديم 30-07-2017, 02:38 AM المشاركة 34   
افتراضي


أشعر كأننى أقول فى وادى و انت تفكر فى وادى آخر
ها انت تعيد الدائرة للوضع حيث يكون الدخول بدون توصيل و قراءته غير محددة
أعيد الدائرة كما كانت و الكود يمكن أن يكون هكذا
كود:
int a;
float b;
void main() 
{ tris.b4=1;
  tris.b0=0;
   
   adc_init();
   
    while(1)
    {
    a=ADC_Get_Sample (3);
    switch (a) {
        case > 1000:   break;        //    // الحاله بلا ضغط

        case >400 :  gpio.b0=0 ; break;   // حاله المفتاح يوصل للجراوند عبر المقاومتين
        case <5 :  gpio.b0=1;  break;    // حاله المفتاح يوصل الجراوند   
       }
    }           
}
تركت لك المتغير b لو تريد كتابة النتيجة على شاشة
قد يكون النص ناقصا ; هنا أو هناك يمكنك تكملته

بالمناسبة هناك 3 انواع من موتورات المستمر فى بروتس و بعضها يمكنك تعديل خواصه ليعمل 24 فولت و تيار مناسب فلا يدور من 5 مللى كما فى الواقع
انا اطبق كل ما تذكره استاذ لكن لم تنجح معي كل المحاولات
لم اقصد معاكستك فيما تقترح لكن بعد محاولات عديده اجدني احاول بطريقه اخري واذكر انك حين اقترحت علي طريقه توصيل المفاتيح ذكرت ان اقتراحك احد الطرق .. فلعل هنالك طريقه قد تنفع معي , اكرر مره ثانيه انا لا اقصد المعاكسه لكننا انا وانت نبحث عن حل
بالنسبه للعليمه switch
تعطي خطا عند ترجمه الكود فقراة عن التعليمه مره اخري ووجدت من خواصها
Note that constant-expressions must evaluate to integer
ما افكر فيه هل يمكن ان اقارن عدد عشري باخر صحيح ضمن هذه التعليمه لان كما ذكرت سابقا
2.5 تكافئ عدد عشري
هل لهذا تعطي رساله الخطا !!!

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

ماجد عباس محمد
:: نائب المشرف العام
::
تاريخ التسجيل: Jun 2009
الدولة: القاهرة - مصر
المشاركات: 11,652
نشاط [ ماجد عباس محمد ]
قوة السمعة:
قديم 30-07-2017, 10:25 AM المشاركة 35   
افتراضي


معذرة أنا لا ابحث عن حل - فقط رفعته لك
كونه لم يعمل معك فهناك مشكلة فى المحاكاة - ليس هذا ذنبى
الكود معك حق و لهذا أحترم البيزك أكثر من هذه
على أى حال يمكنك استخدام هذا الكود
كود:
int a;
void main()
{ tris.b4=1;
  tris.b0=0;

   adc_init();

    while(1)
    {
    a=ADC_Get_Sample (3);
    if ( a < 5 )    gpio.b0=1;             //
    else if (a < 550)     gpio.b0=0;         //

    }
}


الصورة الرمزية burai nuraldaem
burai nuraldaem
:: عضو فضى ::
تاريخ التسجيل: Nov 2015
الدولة: السودان
المشاركات: 501
نشاط [ burai nuraldaem ]
قوة السمعة:
قديم 30-07-2017, 01:56 PM المشاركة 36   
افتراضي


معذرة أنا لا ابحث عن حل - فقط رفعته لك
كونه لم يعمل معك فهناك مشكلة فى المحاكاة - ليس هذا ذنبى
لا اخي لم اقصد ان اقول انه ذنبك ما كنت اقصده اننا بشر ويمكن ان نخطئ
وجل من لا يسهو ويخطئ
الكود معك حق و لهذا أحترم البيزك أكثر من هذه
على أى حال يمكنك استخدام هذا الكود
كود:
int a;
void main()
{ tris.b4=1;
  tris.b0=0;

   adc_init();

    while(1)
    {
    a=ADC_Get_Sample (3);
    if ( a < 5 )    gpio.b0=1;             //
    else if (a < 550)     gpio.b0=0;         //

    }
}
شكرا استاذ عملت الدائره بتغير المتحكم وتغير بسيط في الكود اعلاه
جزاك الله خير ,, اتعبتك معي فاعذرني



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