JSS2 Smart House Security Lab
Loading...
JSS2 Smart House Security Lab

ภารกิจความปลอดภัยหุ่นยนต์ 002

ห้องแล็บบ้านอัจฉริยะแบบสองโซน

โหมดจำลองสถานการณ์

สรุปภารกิจ · หุ่นยนต์ JSS2

บ้านสามารถแจ้งเตือนที่แตกต่างกันตามระยะห่างของคนที่เข้าใกล้ได้หรือไม่?

วันนี้ เราจะอัปเกรดบ้านอัจฉริยะของเราให้เป็นระบบรักษาความปลอดภัยแบบสองโซน

ตรวจพบคำเตือนป้องกัน
ภาพแนวคิดโดย AI
150cm
002การประกอบภาคสนาม

01 · ประสบการณ์

สัมผัสประสบการณ์ทั้งสามสถานะ

เคลื่อนย้ายผู้เยี่ยมชมจำลอง แดชบอร์ดนี้เป็นเพียงตัวอย่างประกอบ ไม่ใช่การเชื่อมต่อกับ Arduino จริง

150 cm

ค่าที่จำลองขึ้น

แดชบอร์ดความปลอดภัยNORMAL
150cm

Monitoring · system ready

ปกติมากกว่า 100 ซม. · LED ปิด · เงียบ
คำเตือน50–100 ซม. · LED กะพริบ · เงียบ
อันตรายต่ำกว่า 50 ซม. · LED ติด · ส่งเสียงเตือนหนึ่งครั้ง

ระยะที่เกิน 100 ซม. จะเป็นการรีเซ็ตการเข้าใกล้ครั้งถัดไป

02 · การอัปเกรดทางวิศวกรรม

อะไรที่ทำให้เวอร์ชันนี้ล้ำสมัยกว่า?

วิศวกรปรับปรุงโปรเจกต์โดยการเพิ่มการตัดสินใจที่ชาญฉลาดขึ้น

JSS1

เกณฑ์การตัดสินใจแบบง่ายระดับเดียว

  • ระยะการตรวจจับระดับเดียว
  • LED เปิดหรือปิด
  • การแจ้งเตือนผู้เยี่ยมชมรูปแบบเดียว
ตรวจพบ
JSS2

การตัดสินใจแบบสองโซน

  • เกณฑ์ระยะห่างสองระดับ
  • สถานะการทำงานสามรูปแบบ
  • คำเตือนแบบกะพริบ + อันตรายแบบไฟค้าง
  • ตัวแปรหน่วยความจำช่วยหยุดเสียงบี๊บที่ดังซ้ำ
  • รีเซ็ตอัตโนมัติเมื่อผู้เยี่ยมชมเคลื่อนที่ออกห่าง
50 cm100 cm

03 · ชุดอุปกรณ์

ทำความรู้จักกับส่วนประกอบ

ทุกชิ้นส่วนมีหน้าที่ชัดเจนหนึ่งอย่างในระบบรักษาความปลอดภัย

UNO

Arduino Uno

คอนโทรลเลอร์ที่ใช้ในการตัดสินใจ

)))

เซนเซอร์ HC-SR04

วัดระยะทางโดยใช้คลื่นสะท้อน

LED

แสดงคำเตือนและอันตรายด้วยแสง

◖

บัซเซอร์ (Buzzer)

ส่งเสียงเตือนอันตรายแบบสั้น

โพรโทบอร์ด (Breadboard)

ช่วยให้เราสร้างวงจรได้โดยไม่ต้องบัดกรี

╱╲

สายจัมเปอร์

นำไฟฟ้าและสัญญาณ

—▥—

ตัวต้านทาน 220–330 Ω

ป้องกัน LED จากกระแสไฟฟ้าที่มากเกินไป

⌂

บ้านกระดาษแข็ง

โครงสร้างภายนอกของโปรเจกต์

04 · วางแผนก่อน

พิมพ์เขียวระบบรักษาความปลอดภัย

เซนเซอร์ต้องหันออกด้านนอกและไม่มีสิ่งกีดขวาง

ทางเข้าจุดยึดเซนเซอร์LEDบัซเซอร์ช่องใส่อุปกรณ์อิเล็กทรอนิกส์
เซนเซอร์หันหน้าไปทางผู้มาเยือน
มองเห็น LED ได้ใกล้กับประตู
บัซเซอร์อยู่ในตำแหน่งที่เข้าถึงได้
เว้นช่องสำหรับเข้าถึงแผงวงจร

05 · การสร้าง

สร้างตัวบ้านจำลอง

ทำให้โครงสร้างมั่นคงก่อนติดตั้งอุปกรณ์อิเล็กทรอนิกส์

010203
  1. 01วัดและทำเครื่องหมายบนกระดาษแข็ง
  2. 02ตัดผนังและช่องเปิดประตู
  3. 03ประกอบผนังและติดตั้งหลังคา
  4. 04ยึดตัวบ้านเข้ากับฐานที่มั่นคง
  5. 05เว้นช่องสำหรับติดตั้งอุปกรณ์อิเล็กทรอนิกส์
ความปลอดภัยต้องมาก่อนใช้กรรไกรหรือมีดคัตเตอร์อย่างระมัดระวังภายใต้การดูแลของผู้ใหญ่

06 · การต่อสายเซนเซอร์

เชื่อมต่อเซนเซอร์อัลตราโซนิก

HC-SR04 ประเมินระยะทางโดยการจับเวลาการสะท้อนของคลื่นอัลตราโซนิก

HC-SR04
พินเซนเซอร์ARDUINO UNO
VCC5V
GNDGND
TRIGD9
ECHOD10

แนวคิดเรื่องระยะทางtime × 0.0343 ÷ 2

07 · สัญญาณภาพ

เชื่อมต่อ LED

ไฟหนึ่งดวง สามพฤติกรรมที่มีความหมาย

ปิด> 100 cmกะพริบ50–100 cmเปิดค้าง< 50 cm
D13→220–330 Ω→ขา LED ยาว
ขา LED สั้น→GND

ตัวต้านทานช่วยจำกัดกระแสเพื่อให้ LED ปลอดภัย

08 · สัญญาณเสียง

เชื่อมต่อบัซเซอร์

เสียงสั้นๆ จะระบุช่วงเวลาที่เริ่มเกิดอันตราย

Buzzer +→D8
Buzzer −→GND
ความถี่1000 Hzระยะเวลา300 ms

มันจะส่งเสียงบี๊บหนึ่งครั้งเมื่อวัตถุเข้ามาในระยะต่ำกว่า 50 ซม. เป็นครั้งแรก ไม่ได้ดังต่อเนื่อง

09 · การตรวจสอบการรวมระบบ

ตรวจสอบวงจรให้ครบถ้วน

ตรวจสอบการเชื่อมต่อสายไฟ สัญญาณ และกราวด์ร่วมทั้งหมด

ARDUINO
UNO
HC-SR04
+
แหล่งจ่ายไฟเซนเซอร์TRIG D9 · ECHO D10LED D13 + RESISTORBUZZER D8SHARED GND

รายการตรวจสอบการเชื่อมต่อ

ถอดสายไฟ USB ออกก่อนเปลี่ยนสายไฟ

10 · ห้องปฏิบัติการ PictoBlox

เข้าสู่ห้องปฏิบัติการ PictoBlox

บล็อกคำสั่งแบบภาพของ PictoBlox คือวิธีการเขียนโปรแกรมหลักของเรา

PICTOBLOX · STAGE MODE
⚑ภาพประกอบอินเทอร์เฟซ
  1. 01เปิด PictoBlox และเลือก Block Coding
  2. 02เลือก Arduino Uno
  3. 03เชื่อมต่อพอร์ต COM ที่ถูกต้อง
  4. 04เลือก Stage Mode
  5. 05อัปโหลดเฟิร์มแวร์หากมีการแจ้งเตือน และเชื่อมต่อ USB ไว้ตลอดเวลา
บันทึกวิศวกรรมตามความเป็นจริงป้ายกำกับอินเทอร์เฟซอาจแตกต่างกันไปตามเวอร์ชัน ให้ใช้ฟังก์ชันที่ต้องการ และเปลี่ยนไปใช้โปรแกรมสำรองหากไม่มีบล็อกที่จำเป็น

11 · กล่องเครื่องมือบล็อก

ค้นพบบล็อกการเขียนโปรแกรม

ค้นหาฟังก์ชันก่อน ป้ายกำกับที่แน่นอนอาจแตกต่างกันไปตามเวอร์ชันของ PictoBlox ของคุณ

เหตุการณ์
when green flag clicked
การควบคุม
forever
if · then · else
wait 0.2 seconds
ตัวดำเนินการ
distance > 100
distance ≥ 50
visitorAlerted = 0
ตัวแปร
set visitorAlerted to 0
set visitorAlerted to 1
ส่วนขยาย ARDUINO UNO
ultrasonic distance · TRIG 9 · ECHO 10
digital pin · HIGH / LOW
play tone on pin 8 · if available

12 · ตัวแปรหน่วยความจำ

สร้างตัวแปร visitorAlerted

หน่วยความจำเล็กๆ นี้ช่วยป้องกันเสียงบี๊บที่ดังซ้ำๆ อย่างน่ารำคาญ

visitor
Alerted
0
0

การเข้าใกล้ครั้งนี้ยังไม่ได้ทำให้เกิดเสียงบี๊บเตือนอันตราย

1

เสียงบี๊บเตือนอันตรายได้ดังขึ้นแล้วในรอบการเข้าใกล้ครั้งนี้

↻

เมื่อผู้เยี่ยมชมเคลื่อนที่ออกห่างเกิน 100 ซม. ให้รีเซ็ตเป็น 0 สำหรับการเข้าใกล้ครั้งต่อไป

13 · สร้างตรรกะ

สร้างตรรกะ PictoBlox แบบสองโซน

ประกอบตรรกะที่ต้องการด้วยบล็อกที่มีอยู่ในส่วนขยายที่คุณติดตั้งไว้

when green flag clicked
set [visitorAlerted] to [0]
set digital pin [13] to [LOW]
forever
read ultrasonic distance · TRIG 9 · ECHO 10
if distance > 100 then
LED LOW · visitorAlerted = 0
else if distance ≥ 50 then
LED HIGH → wait 0.2 → LOW → wait 0.2
else
LED HIGH
if visitorAlerted = 0
set visitorAlerted to 1 · play 1000 Hz for 0.3 s
wait 0.05 seconds

14 · แผนผังการตัดสินใจ

สร้างแผนผังการทำงานของระบบรักษาความปลอดภัย

ลูปจะทำการอ่าน ตัดสินใจ ส่งสัญญาณ และทำซ้ำ

เริ่มต้น
↓
อ่านระยะทาง
↓
ระยะทาง > 100 ซม. ใช่หรือไม่?
YESLED ปิด · รีเซ็ต
NOตรวจสอบ 50 ซม.
≥ 50 CMLED กะพริบ · ไม่มีเสียงบี๊บ
< 50 CMLED เปิด · บี๊บถ้าเป็น 0
↻
ทำซ้ำ

15 · การทดสอบภาคสนาม

ทดสอบทั้งสามโซน

ใช้ไม้บรรทัดหรือสายวัดกับบ้านของจริง ค่าที่อ่านได้ในที่นี้เป็นการจำลอง

150100500
150 cm
TEST A · 150 cmLED ปิด · บัซเซอร์เงียบ · ปกติ
TEST B · 75 cmLED กะพริบ · บัซเซอร์เงียบ · คำเตือน
TEST C · 30 cmLED ติดค้าง · เสียงปี๊บสั้นหนึ่งครั้ง · อันตราย

ถอยกลับไปให้เกิน 100 ซม. แล้วลองเข้าใกล้ใหม่อีกครั้ง เพื่อให้การแจ้งเตือนครั้งใหม่ทำงาน

16 · แผน B

บล็อกหายไปเหรอ? วิศวกรต้องมีแผน B เสมอ!

นี่คือโค้ดสำรอง Arduino C++ ไม่ใช่โค้ดสำหรับวางในพื้นที่บล็อกคำสั่งแบบภาพ

smart_house_security.ino
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);
}
pulseIn ใช้สำหรับอ่านพัลส์สะท้อนกลับสูตรนี้ใช้สำหรับประมาณค่าเป็นเซนติเมตรvisitorAlerted ใช้เพื่อป้องกันไม่ให้เกิดเสียงปี๊บซ้ำใช้ Arduino IDE หรือเวิร์กโฟลว์ Arduino อื่นที่เข้ากันได้เพื่ออัปโหลดโค้ด

17 · แผงดีบั๊ก

แก้ไขปัญหาของระบบรักษาความปลอดภัย

วิศวกรที่ดีจะเปลี่ยนสิ่งหนึ่ง ทดสอบ และสังเกตผลลัพธ์

?

ไม่พบบล็อกเซ็นเซอร์

ยืนยันการใช้ Arduino Uno, ส่วนขยายที่จำเป็น และการรองรับ Stage Mode

♪

บัซเซอร์ไม่ส่งเสียง

ตรวจสอบ D8, GND, ขั้วไฟฟ้า, บล็อก tone หรือใช้โค้ดสำรอง

●

LED ไม่กะพริบ

ตรวจสอบ D13, ตัวต้านทาน, ขั้ว LED และเงื่อนไขการแจ้งเตือน

↻

ระบบส่งเสียงเตือนซ้ำๆ

ตั้งค่า visitorAlerted เป็น 1 หลังจากมีเสียงปี๊บ และรีเซ็ตเมื่อระยะห่างเกิน 100 ซม. เท่านั้น

⟳

ระบบไม่รีเซ็ต

ตรวจสอบค่าที่อ่านได้และเงื่อนไขที่มากกว่า 100 ซม.

≈

ค่าที่อ่านได้ไม่สม่ำเสมอ

ตรวจสอบสายไฟที่หลวม, ทิศทางของเซนเซอร์, แหล่งจ่ายไฟ และสิ่งกีดขวาง

18 · สรุปภารกิจ

ภารกิจเสร็จสมบูรณ์!

คุณได้สร้างบ้านที่ชาญฉลาดขึ้นแล้ว

ภาพแนวคิดโดย AI
ปกติการตรวจสอบสีน้ำเงิน
คำเตือนการกะพริบสีเหลืองอำพัน
อันตรายการแจ้งเตือนสีแดง
  • สร้างบ้านจำลองเสร็จแล้ว
  • เชื่อมต่อเซ็นเซอร์ LED และบัซเซอร์แล้ว
  • ประกอบตรรกะใน PictoBlox แล้ว
  • ทดสอบทั้งสามสถานะแล้ว
  • เตรียมโค้ด Arduino สำรองพร้อมแล้ว
ตรวจพบ→คำเตือน→การแจ้งเตือน→รีเซ็ต

อธิบายว่าการใช้เกณฑ์ระยะทางสองระดับทำให้ระบบนี้ล้ำสมัยกว่าเวอร์ชัน JSS1 อย่างไร

01 / 19ใช้ปุ่ม ← → เพื่อนำทาง