מרחק על גבי ה-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 ס״מ ל־20 ס״מ, הטקסט החדש קצר יותר, ובלעדיהם המסך יציג 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);
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה צגים וחיישנים
תרגלו בעצמכם: Arduino אונליין