بسم الله الرحمن الرحيم.
السلام عليكم ورحمة الله وبركاته.
أعلن انتهاء المسابقة.
وأعلن أن الفائز الأول والوحيد هو المتسابق حسن هادي محمود.
والآن إليكم الرسالة الخاصة الرابعة التي تحتوي على الخطأ الخفي:
|
السلام عليكم ورحمة الله وبركاته.
الملاحظة الأخيرة والأجمل "الخطأ الخفي جدا":
كلنا نعلم أن porta.f4 عندما يكون خرج أنه يمكنه أن يجذب الخرج نحو الصفر لكنه لا يمكنه أن يجذب الخرج نحو الخمسة فولت.
لكن ماذا لو جعلناه خرج ثم أمرناه أن يكون بواحد؟
سيترك نفسه للعالم الخارجي يتحكم فيه... فإن كانت هناك مقاومة رفع سيصبح 5 فولت.. وإن كانت هناك مقاومة خفض سيصبح صفر فولت.
وإن لم تكن هناك مقاومة ستصبح الشوشرة هي المتحكمة فيه.
بالنسبة للكود الذي وضعته إذا جربته على البروتس ستجده يعمل.. أما إذا وضعت على البروتس مقاومة 10 كيلو بين porta.f4 وبين الموجب ستكتشف أن الإزاحة شمال لا تتوقف بعد ثلاث دورات كما كنا نخطط.
ستقول لن نضع في الواقع هذه المقاومة....
سأقول إن الواقع يحتوي على الشوشرة.. وهو الشيء الذي يمكنه أن يحل محل المقاومة لإفساد الخطة.
لقد أجريت تجربة عملية على مسألة الشوشرة.. فجعلت البك يقرأ قراءة أنالوج لطرف حر بدون مقاومات.. فكانت النتيجة أن هذا الطرف وكأن عليه موجة ترددها 50 هرتز.. حيث يعطي صفر فولت لمدة 0.01 ثانية ثم يعطي في ال0.01 ثانية الأخرى شكل يبدأ بالموجة الجيبية حتى يصل بعد زمن قليل جدا إلى 5 فولت لتصبح الموجة مربعة ثم عند اقتراب نهاية هذه النصف موجة تأخذ مرة أخرى الشكل الجيبي حتى تصل للصفر.
معذرة على الوصف بالكتابة من دون صور.
وعلى هذا يتبين أن كودك لكي يعمل بشكل سليم على الهارد وير لا بد من وضع مقاومة 10 كيلو بين porta.f4 وبين الأرضي.. وهذا مخالف للشروط.
هناك تعديل بسيط يمكنه إنقاذ الكود من هذه المشكلة ويحميه من الشوشرة ولا يفشل على البروتس بمقاومة الرفع التي ذكرتها منذ قليل... بل ليس ذلك فقط.. بل هذا التعديل سيخلصك من تعليمة لتصبح عدد التعليمات 35 تعليمة.
مع تمنياتي أخي أن تصل لأفضل كود.
والسلام عليكم ورحمة الله وبركاته.
|
والآن سأترككم تستريحون قليلا وأستريح أنا أيضا قبل المسابقة الثالثة.
سنستخدم في المسابقة الثالثة كيباد بشرط عدم استخدام مكتبة الكيباد... كما أن الكيباد سنضعها على بورت لا يحتوي على مقاطعات.
والسلام عليكم ورحمة الله وبركاته.