เกณฑ์การตัดสินใจแบบง่ายระดับเดียว
- ระยะการตรวจจับระดับเดียว
- 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 · แผน B
นี่คือโค้ดสำรอง 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 หรือใช้โค้ดสำรอง
ตรวจสอบ D13, ตัวต้านทาน, ขั้ว LED และเงื่อนไขการแจ้งเตือน
ตั้งค่า visitorAlerted เป็น 1 หลังจากมีเสียงปี๊บ และรีเซ็ตเมื่อระยะห่างเกิน 100 ซม. เท่านั้น
ตรวจสอบค่าที่อ่านได้และเงื่อนไขที่มากกว่า 100 ซม.
ตรวจสอบสายไฟที่หลวม, ทิศทางของเซนเซอร์, แหล่งจ่ายไฟ และสิ่งกีดขวาง
18 · สรุปภารกิจ
คุณได้สร้างบ้านที่ชาญฉลาดขึ้นแล้ว
อธิบายว่าการใช้เกณฑ์ระยะทางสองระดับทำให้ระบบนี้ล้ำสมัยกว่าเวอร์ชัน JSS1 อย่างไร