مستشعر ركن السيارة: التنبيهات الصوتية
جزء من قسم المشاريع في رحلة Arduino على Coddy. الدرس 11 من 24.
يصدر مستشعر ركن السيارة صوتًا ويعرض المسافة أيضًا: كلما اقترب الجدار، زادت سرعة إصدار الصافرات، إلى أن يصدر نغمة ثابتة تعني التوقف. الصفارة موصولة بالدبوس 8.
الفاصل بين الصافرات يعتمد على المسافة: المسافة مضروبة في 10، بالمللي ثانية. عند 70 cm تصدر صفارة كل 700 ms، وعند 20 cm كل 200 ms. يحدد مؤقّت millis() موعد الصافرة التالية:
if (millis() - lastBeep >= cm * 10) {
lastBeep = millis();
tone(buzzerPin, 1000, 50); // صفير مدته 50 ms
}هناك حالتان إضافيتان. عند أقل من 10 cm، شغّل tone(buzzerPin, 1000) من دون تحديد مدة: سيستمر الصوت حتى يوقفه شيء ما. عند 100 cm أو أكثر، التزم الصمت واستدعِ noTone(buzzerPin) لإيقاف أي نغمة ثابتة متبقية من قبل أيضًا.
التحدي
متوسطأضف أصوات التنبيه:
- 100 سم أو أكثر: لا صوت (استدعِ
noTone()) - من 10 إلى 99 سم: صوت تنبيه مدته 50 ms بتردد 1000 Hz كل
cm * 10ms، مع التوقيت باستخدامmillis() - أقل من 10 سم: نغمة ثابتة بتردد 1000 Hz
أبقِ الأضواء والطباعة كما هما. اضغط على Run، وقرّب الجسم، ثم اضغط على Check.
جرّب بنفسك
// مستشعر المسافة
const int trigPin = 9;
const int echoPin = 10;
// مصابيح التحذير
const int greenPin = 6;
const int yellowPin = 7;
const int redPin = 13;
// أرسل نبضة وأعِد المسافة بوحدة cm.
long readDistance() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duration = pulseIn(echoPin, HIGH);
return duration / 58;
}
// أخضر عندما تكون المسافة آمنة، وأصفر عند الاقتراب، وأحمر عند الاقتراب الشديد.
void showLights(long cm) {
digitalWrite(greenPin, LOW);
digitalWrite(yellowPin, LOW);
digitalWrite(redPin, LOW);
if (cm >= 100) {
digitalWrite(greenPin, HIGH);
} else if (cm >= 30) {
digitalWrite(yellowPin, HIGH);
} else {
digitalWrite(redPin, HIGH);
}
}
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(greenPin, OUTPUT);
pinMode(yellowPin, OUTPUT);
pinMode(redPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
long cm = readDistance();
Serial.println(cm);
showLights(cm);
delay(100);
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس المشاريع
3مستشعر ركن السيارة
مستشعر ركن السيارة: المسافةمستشعر ركن السيارة: الأضواءمستشعر ركن السيارة: التنبيهات الصوتيةمستشعر ركن السيارة: الشاشةتدرّب بنفسك: Playground لـ Arduino