حد بسيط واحد
- مسافة كشف واحدة
- مصباح LED يعمل أو ينطفئ
- تنبيه زائر واحد

مهمة أمن الروبوتات 002
مختبر المنزل الذكي ثنائي المناطق
ملخص المهمة · روبوتات JSS2
اليوم، سنقوم بترقية منزلنا الذكي إلى نظام أمني من منطقتين.
01 · التجربة
حرك الزائر الافتراضي. هذه اللوحة توضيحية وليست اتصالاً مباشراً بجهاز Arduino.
قراءة محاكاة
Monitoring · system ready
تجاوز مسافة 100 سم يعيد ضبط الاقتراب التالي.
02 · ترقية هندسية
يعمل المهندسون على تحسين المشاريع من خلال إضافة قرارات أكثر ذكاءً.
03 · المجموعة
لكل جزء وظيفة واضحة واحدة في نظام الأمان.
المتحكم الذي يتخذ القرارات.
يقيس المسافة باستخدام الصدى.
يعرض التحذير والخطر بصرياً.
يصدر صوت تنبيه قصير عند الخطر.
تسمح لنا بالبناء دون الحاجة إلى اللحام.
تنقل الطاقة والإشارات.
تحمي الـ LED من التيار الزائد.
الغلاف المادي للمشروع.
04 · التخطيط أولاً
يجب أن يكون المستشعر مواجهاً للخارج وغير محجوب.
05 · البناء
اجعل الهيكل مستقراً قبل إضافة الإلكترونيات.
06 · توصيل المستشعر
يقوم مستشعر HC-SR04 بتقدير المسافة عن طريق توقيت صدى الموجات فوق الصوتية.
فكرة المسافةtime × 0.0343 ÷ 2
07 · الإشارة المرئية
ضوء واحد، ثلاثة سلوكيات ذات دلالة.
تحدد المقاومة التيار بحيث يظل الـ LED آمناً.
08 · الإشارة الصوتية
صوت قصير يحدد اللحظة التي يبدأ فيها الخطر.
يصدر صوتاً مرة واحدة عندما يدخل الجسم لأول مرة تحت مسافة 50 سم - وليس بشكل مستمر.
09 · فحص التكامل
تتبع كل توصيلة طاقة وإشارة وأرضي مشترك.
افصل طاقة USB قبل تغيير الأسلاك.
10 · مختبر PictoBlox
تعد اللبنات المرئية في PictoBlox هي طريقتنا الأساسية في البرمجة.
11 · صندوق أدوات اللبنات
ابحث عن الوظيفة أولاً؛ قد تختلف التسميات الدقيقة حسب إصدار PictoBlox لديك.
12 · متغير الذاكرة
تمنع هذه الذاكرة الصغيرة حدوث صوت تنبيه متكرر ومزعج.
لم يتسبب هذا الاقتراب في إطلاق تنبيه الخطر.
لقد حدث تنبيه الخطر بالفعل في دورة الاقتراب هذه.
عندما يبتعد الزائر لأكثر من 100 سم، يتم إعادة الضبط إلى 0 لعملية الاقتراب التالية.
13 · بناء المنطق
قم بتجميع المنطق المطلوب باستخدام اللبنات المتوفرة في الإضافة المثبتة لديك.
14 · خريطة اتخاذ القرار
تقوم الحلقة بالقراءة، واتخاذ القرار، وإرسال الإشارة، ثم التكرار.
15 · اختبار ميداني
استخدم مسطرة أو شريط قياس مع المنزل الحقيقي. هذه القراءات محاكاة هنا.
تحرك للخلف متجاوزاً 100 سم، ثم اقترب مرة أخرى: سيُسمح بتنبيه جديد.
16 · الخطة ب
هذا كود احتياطي بلغة Arduino C++ - وليس كوداً للصقه في لوحة الكتل المرئية.
const int trigPin = 9;
const int echoPin = 10;
const int ledPin = 13;
const int buzzerPin = 8;
bool visitorAlerted = false;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
digitalWrite(ledPin, LOW);
}
void loop() {
long duration;
float distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH, 30000);
if (duration == 0) {
digitalWrite(ledPin, LOW);
noTone(buzzerPin);
visitorAlerted = false;
delay(100);
return;
}
distance = duration * 0.0343 / 2;
if (distance > 100) {
digitalWrite(ledPin, LOW);
noTone(buzzerPin);
visitorAlerted = false;
} else if (distance >= 50) {
digitalWrite(ledPin, HIGH);
delay(200);
digitalWrite(ledPin, LOW);
delay(200);
} else {
digitalWrite(ledPin, HIGH);
if (!visitorAlerted) {
tone(buzzerPin, 1000, 300);
visitorAlerted = true;
}
}
delay(50);
}17 · منصة تصحيح الأخطاء
المهندسون الجيدون يغيرون شيئاً واحداً، ثم يختبرون ويلاحظون النتيجة.
تأكد من Arduino Uno، والإضافة المطلوبة، ودعم وضع المسرح (Stage Mode).
افحص D8، وGND، والقطبية، وكتلة النغمة (tone block)، أو استخدم الكود الاحتياطي.
افحص D13، والمقاومة، وقطبية LED، وحالة التحذير.
اضبط visitorAlerted على 1 بعد الصفارة؛ وأعد ضبطها فقط فوق 100 سم.
افحص القراءات وشرط أن تكون القيمة أكبر من 100 سم.
افحص الأسلاك المرتخية، واتجاه المستشعر، والطاقة، والعوائق.
18 · ملخص المهمة
لقد بنيت منزلاً أكثر ذكاءً.
اشرح كيف يجعل وجود حدين للمسافة هذا النظام أكثر تقدماً من إصدار JSS1.