Menu
CoddyTech
flag Ar iconالعربيةdown icon

مسح الأرقام المتبقية

جزء من قسم الشاشات والمستشعرات في رحلة Arduino على Coddy. الدرس 9 من 24.

إن الكتابة فوق رقم لا تستبدل إلا عددًا من المحارف يساوي عدد المحارف في الرقم الجديد. اطبع 10، ثم عُد إلى الخلف واطبع 9، فستظهر على الشاشة 90: غطّى الرقم 9 الرقم 1، ولم يُمسّ الرقم 0 مطلقًا.

هناك حلّان. الأسرع هو طباعة بضعة مسافات بعد الرقم، كي تغطي ما تبقّى من رقم أطول:

lcd.setCursor(0, 1);
lcd.print(reading);
lcd.print("    ");   // يغطي ما يصل إلى أربعة أرقام قديمة

أما الحل الآخر فهو lcd.clear()، الذي يمسح الشاشة بأكملها ويضع المؤشر في أعلى اليسار. كما أنه يمسح كل ما طبعته سواه، لذا عليك طباعة كل شيء من جديد، والشاشة التي تُمسح مرات كثيرة في الثانية تومض. عند تغيير رقم واحد، تكون المسافات أفضل.

challenge icon

التحدي

سهل

يعرض الصف السفلي قراءة المقبض، لكن عند خفض المقبض من 1023 تبقى الأرقام القديمة ظاهرة. أصلح ذلك:

  • بعد طباعة القراءة، اطبع مسافات لتغطية الأرقام المتبقية
  • أبقِ Knob: في الصف العلوي

اضغط على Run، وحرّك المقبض إلى الأعلى والأسفل، ثم اضغط على Check.

جرّب بنفسك

#include <LiquidCrystal.h>

// RS, E, D4, D5, D6, D7
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  lcd.begin(16, 2);
  lcd.print("Knob:");
}

void loop() {
  int reading = analogRead(A0);
  lcd.setCursor(0, 1);
  lcd.print(reading);
  // العدد الأقصر يترك أرقامًا قديمة خلفه: أصلح ذلك هنا
  delay(100);
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الشاشات والمستشعرات

تدرّب بنفسك: Playground لـ Arduino