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

المسافة على شاشة 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