المسافة على شاشة 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: فالسنتيمترات الكاملة أسهل قراءةً على شاشة صغيرة.
التحدي
متوسطتعرض شاشة 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);
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الشاشات والمستشعرات
1شاشات العرض ذات الأجزاء السبعة
شاشة العرض ذات الأجزاء السبعةأنماط الأرقام في البايتاتالعدّ على الشاشةالعدّ التنازلي حتى الصفرمحاكي رمي النردتدرّب بنفسك: Playground لـ Arduino