أشعر كأننى أقول فى وادى و انت تفكر فى وادى آخر
ها انت تعيد الدائرة للوضع حيث يكون الدخول بدون توصيل و قراءته غير محددة
أعيد الدائرة كما كانت و الكود يمكن أن يكون هكذا
كود:
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 تكافئ عدد عشري
هل لهذا تعطي رساله الخطا !!!