מד טווח קולי HC-SR04 שופר באמצעות חיישן הטמפרטורה LM35.
מבית הספר ניתן לזכור כי מהירות הצליל תלויה בצפיפות האוויר, וצפיפות האוויר תלויה בטמפרטורה.
נחשב את הטמפרטורה באמצעות נוסחה זו
temp2 = (temp / 1023.0) * 5.0 * 1000/10;
כאשר temp2 הוא ערך הטמפרטורה המוגמר לאחר הנוסחה,
והיכן טמפ הוא הערך הגולמי מהחיישן.
מה שאנחנו צריכים:
- מד טווח קולי HC-SR04
- ארדואינו
- טיפוס לחם
- מגשרים
- תרמיסטור LM35 (חיישן טמפרטורה)
זכור כי HC-SR04 מגיע בשתי צורות -
כאן יש לי טוב וזה מודד ביציבות מרחק.
שניהם מודדים בין 4 ס"מ ל -400 ס"מ.
מופעל על ידי 3.3 עד 5 v
ראשית, אנו לועגים לכל זה על קרש לחם.
חיישן קולי:
- GND - gnd
- הד - 3 סיכות
- טריג - 2 סיכות
- Vcc - 5v
תרמיסטור LM35:
- 1 - 5v
- 2 - A0
- 3 - GND
זה צריך להיות כך:
בשלב הבא אנו ממלאים את הסקיצה.
הורד ספרייה עבור חיישן HC-SR04 -
הורד סקיצה -
# כלול // חבר את הספריה לעבודה עם חיישן הקולי HC-SR04
iarduino_HC_SR04 hcsr (2,3); // מציין אנשי קשר Trig ו- Echo
זמני temp = 0; // טמפרטורה גולמית
float temp2 = 0; // ערך טמפרטורה מוכן
הגדרת ביטול () {// הפעל פעם אחת
Serial.begin (9600); // הפעל את צג היציאה
pinMode (A0, INPUT); // מציין איש קשר A0 כקלט
}
void loop () {// חוזר על מספר אינסופי של פעמים
temp = analogRead (A0); // קרא את הערך של איש קשר A0 והקצה לו את הזמני המשתנה
temp2 = (temp / 1023.0) * 5.0 * 1000/10; // חישוב ערך הגלם לפי הנוסחה כדי לקבל את ערך הטמפרטורה המוגמר
Serial.println (hcsr.distance (temp2)); // כתוב את הטווח המוכן בצג היציאה
עיכוב (1000); // עיכוב שנייה אחת
}
והנה סקיצה לתצוגת LCD-
הורד סקיצה -
# כלול // חבר את הספריה לעבודה עם חיישן הקולי HC-SR04
#include // חבר את הספריה לעבודה עם התצוגה באוטובוס I2C
LiquidCrystal_I2C lcd (0x27, 16, 2); // מציין (כתובת, עמודות, שורות)
iarduino_HC_SR04 hcsr (2,3); // מציין אנשי קשר Trig ו- Echo
זמני temp = 0; // טמפרטורה גולמית
float temp2 = 0; // ערך טמפרטורה מוכן
הגדרת ביטול () {// הפעל פעם אחת
lcd.init (); // לאתחל את התצוגה
lcd.backlight (); // הפעל את תאורה אחורית לתצוגה
pinMode (A0, INPUT); // מציין איש קשר A0 כקלט
}
void loop () {// חוזר על מספר אינסופי של פעמים
temp = analogRead (A0); // קרא את הערך של איש קשר A0 והקצה לו את הזמני המשתנה
temp2 = (temp / 1023.0) * 5.0 * 1000/10; // חישוב ערך הגלם לפי הנוסחה כדי לקבל את ערך הטמפרטורה המוגמר
lcd.set סמן (2, 0); // הניח את הסמן על 2 עמודות ושורה 0
lcd.print (temp2); // כתוב את המרחק
lcd.set סמן (5,0); // מקם את הסמן בעמודה החמישית ובשורה ה -0
lcd.print ("ס"מ"); // כתוב ס"מ
עיכוב (1000); // עיכוב שנייה אחת
}
כתוב הערות ושאלות, אני אענה על הכל!