مسح الأرقام المتبقية
جزء من قسم الشاشات والمستشعرات في رحلة Arduino على Coddy. الدرس 9 من 24.
إن الكتابة فوق رقم لا تستبدل إلا عددًا من المحارف يساوي عدد المحارف في الرقم الجديد. اطبع 10، ثم عُد إلى الخلف واطبع 9، فستظهر على الشاشة 90: غطّى الرقم 9 الرقم 1، ولم يُمسّ الرقم 0 مطلقًا.
هناك حلّان. الأسرع هو طباعة بضعة مسافات بعد الرقم، كي تغطي ما تبقّى من رقم أطول:
lcd.setCursor(0, 1);
lcd.print(reading);
lcd.print(" "); // يغطي ما يصل إلى أربعة أرقام قديمةأما الحل الآخر فهو lcd.clear()، الذي يمسح الشاشة بأكملها ويضع المؤشر في أعلى اليسار. كما أنه يمسح كل ما طبعته سواه، لذا عليك طباعة كل شيء من جديد، والشاشة التي تُمسح مرات كثيرة في الثانية تومض. عند تغيير رقم واحد، تكون المسافات أفضل.
التحدي
سهليعرض الصف السفلي قراءة المقبض، لكن عند خفض المقبض من 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);
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الشاشات والمستشعرات
1شاشات العرض ذات الأجزاء السبعة
شاشة العرض ذات الأجزاء السبعةأنماط الأرقام في البايتاتالعدّ على الشاشةالعدّ التنازلي حتى الصفرمحاكي رمي النرد2شاشة LCD حرفية
مرحبًا على شاشة LCDتحديد موضع النص باستخدام setCursorعرض الأرقام مباشرةً على شاشة LCDمسح الأرقام المتبقيةرسم محارف مخصصةتمرير النصتدرّب بنفسك: Playground لـ Arduino