سؤال 4: لماذا استُخدمت الدالتان pins.analog_read_pin و pins.analog_write_pin في الدائرة السابقة عوضًا عن الدالتين pins.digital_read_pin و pins.digital_write_pin؟
الإجابة: س 4: لأن الدائرة تتعامل مع إشارات تناظرية (Analog) قيمها ليست فقط (0 أو 1)، مثل قراءة قيمة متغيرة. كذلك خرج analog_wr ite_pin يعطي تحكمًا تدريجيًا (PWM) لتغيير شدة الحمل، بينما الرقمية تعطي فقط تشغيل/ إيقاف.
خطوات الحل:
- **الشرح:** لنفهم هذا السؤال، علينا أولاً أن نفرق بين الإشارات الرقمية (Digital) والإشارات التناظرية (Analog). الإشارات الرقمية لها قيمتان فقط: تشغيل (1) أو إيقاف (0). أما الإشارات التناظرية فلها مجموعة مستمرة من القيم بين الحد الأدنى والحد الأقصى، مثل قيم الجهد المتغيرة. الدالتان pins.digital_read_pin و pins.digital_write_pin تتعاملان فقط مع هاتين القيمتين (0 أو 1). في المقابل، الدالتان pins.analog_read_pin و pins.analog_write_pin تتعاملان مع نطاق واسع من القيم. على سبيل المثال، يمكن لـ analog_read_pin قراءة قيمة متغيرة من مستشعر (مثل مستشعر ضوء أو حرارة) بدقة. وبالمثل، يمكن لـ analog_write_pin إخراج إشارة تتحكم في شدة شيء ما تدريجياً، مثل تغيير سطوع مصباح أو سرعة محرك، باستخدام تقنية تسمى تعديل عرض النبضة (PWM). إذن، إذا كانت الدائرة السابقة تتعامل مع إشارات قيمتها ليست مجرد 0 أو 1، بل قيم متغيرة، أو إذا كانت تحتاج إلى تحكم تدريجي في الخرج، فهذا هو السبب في استخدام الدوال التناظرية عوضاً عن الرقمية.