Menu
CoddyTech

المسافة على شاشة LCD

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

يشكّل المستشعر والشاشة جهازًا يعمل دون حاسوب: هنا يقيس HC-SR04 المسافة، وتعرضها شاشة LCD.

تأتي كل خطوة من الدروس السابقة. قِس زمن الصدى، وحوّله إلى سنتيمترات، واطبعه في الصف السفلي مع الوحدة بعده:

int cm = duration * 0.034 / 2;

lcd.setCursor(0, 1);
lcd.print(cm);
lcd.print(" cm    ");

المسافات بعد cm مهمة. عند الانتقال من 150 cm إلى 20 cm، يكون النص الجديد أقصر، ومن دونها ستعرض الشاشة 20 cmm. هنا تُحفظ المسافة في int: فالسنتيمترات الكاملة أسهل قراءةً على شاشة صغيرة.

challenge icon

التحدي

متوسط

تعرض شاشة LCD النص Distance: في الصف العلوي، ويقيس البرنامج زمن الصدى. اعرض المسافة تحته:

  • حوّل الزمن إلى سنتيمترات كاملة
  • في بداية الصف السفلي، اطبع الرقم ثم cm، مثل 25 cm
  • غطِّ الأحرف المتبقية بمسافات

اضغط على Run، وحرّك الجسم، ثم اضغط على Check.

جرّب بنفسك

#include <LiquidCrystal.h>

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

const int trigPin = 9;
const int echoPin = 10;

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  lcd.begin(16, 2);
  lcd.print("Distance:");
}

void loop() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  long duration = pulseIn(echoPin, HIGH);
  // احسب المسافة بالسنتيمترات واعرضها في السطر السفلي، مثل 25 cm
  delay(200);
}
quiz iconاختبر نفسك

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

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

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