กลับไปหน้ารวมไฟล์
ultrasonic-security-system-with-object-distance-display-929d45.md

แรงบันดาลใจ

วันหนึ่งพี่ก็ตัดสินใจทำระบบรักษาความปลอดภัยด้วยอัลตราโซนิกของ Krepak ตามไปทีละขั้นตอน ใช้โค้ดที่ MaddMatt แก้ไขมา ทดสอบไป งงกับระยะที่วัดได้ไม่ตรง สุดท้ายก็เจอว่าคำนวณผิด แก้ให้แล้วก็...เริ่มเบื่อ เพราะพี่มี [LCD](https://s.shopee.co.th/6AfsSPcAnb) เลยอยากให้มันแสดงระยะทางที่เซ็นเซอร์วัดได้ด้วย ในส่วนถัดไปพี่จะอธิบายให้ฟังว่าอุปกรณ์หลักสองตัวนี้ทำงานยังไง

The Ultrasonic [Sensor](https://s.shopee.co.th/7VBG2rX65j)

ตอนแรกพี่ก็คิดว่าจะทำตาม . รอเดี๋ยว...บทความนี้ทำไมงงจัง เขาเปลี่ยนสายไปมาตลอดเลย พี่ต้องมานั่งถอดรหัสโค้ดเองละ

ผ่านไป สักพัก...

ได้แล้วว! พี่ถอดรหัสโค้ดเสร็จแล้ว ต้องมาตรวจอีกทีว่าโค้ดที่ MaddMatt แก้ไขมามันเปลี่ยนอะไรไปมั้ย ไหนลองอัปโหลดดู...

โอเค เสร็จแล้ว รอเดี๋ยว... อะไรเนี่ย? นี่มันไม่ใช่ 5 เซนติเมตรแน่ๆ คำนวณผิดแล้วเพื่อน! พี่ต้องมาดูใหม่ซะแล้ว

ตอนนี้ได้สูตรที่ถูกต้องแล้ว ถ้าน้องๆ อยากรู้วิธีใช้ HC-SR04 ให้ละเอียดกว่านี้ (และได้สูตรที่แม่นยำกว่าที่พี่ใช้ ซึ่งของพี่ก็ใช้ได้อยู่แล้วนะ) ไปดูได้จาก โดย . ตอนนี้น้องๆ คงอยากเห็นแผนการต่อสาย มันอยู่ด้านล่างสุดตรงส่วน Schematic นะ จำไว้ว่านี่คือแผนของอุปกรณ์ที่เสร็จแล้ว พอสำหรับ Ultrasonic Sensor, ต่อไปคือ:

The LCD

ตอนนี้เซ็นเซอร์เสร็จแล้ว พี่ต้องมาต่อ LCD ต่อ โชคดีที่มีบทความสอนต่อ LCD ไว้ดีแล้ว ดูได้ . แต่พี่มีปัญหานิดนึง บางพินที่บทความนี้ใช้ มันถูกใช้โดยเซ็นเซอร์อัลตราโซนิกไปแล้ว พี่ต้องใช้พินอื่นแทน

ผ่านไป อีกสักพัก...

ถึงเวลาที่น้องจะลงมือสร้างแล้ว ใช้ Schematic ด้านล่างเป็นตัวช่วย ถ้ายังไม่ได้เริ่มนะ

ต่อสายเรียบร้อยแล้วใช่ไหม? มาทำให้มันทำงานกัน! คัดลอกโค้ดด้านล่างไปวางใน [Arduino](https://s.shopee.co.th/7fUgFAWSki) IDE ที่น้องชอบ แล้วอัปโหลดลงบอร์ดได้เลย:

const int trigPin = 2;
const int echoPin = 3;
const int LEDlampRed = 4;
const int LEDlampYellow = 5;
const int LEDlampGreen = 6;
const int [buzzer](https://s.shopee.co.th/6pvZFdZdRf) = 7;
int sound = 500;
void setup() {
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(LEDlampRed, OUTPUT);
pinMode(LEDlampYellow, OUTPUT);
pinMode(LEDlampGreen, OUTPUT);
pinMode(buzzer, OUTPUT);
}
void loop() {
long durationindigit, distanceincm;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
durationindigit = pulseIn(echoPin, HIGH);
distanceincm = (durationindigit*0.034) / 2;
if (distanceincm > 50) {
digitalWrite(LEDlampGreen, LOW);
digitalWrite(LEDlampYellow, LOW);
digitalWrite(LEDlampRed,LOW);
noTone(buzzer);
}
else if (distanceincm <= 50 && distanceincm > 20) {
digitalWrite(LEDlampGreen, HIGH);
digitalWrite(LEDlampYellow, LOW);
digitalWrite(LEDlampRed,LOW);
noTone(buzzer);
}
else if (distanceincm <= 20 && distanceincm > 5) {
digitalWrite(LEDlampYellow, HIGH);
digitalWrite(LEDlampGreen, HIGH);
digitalWrite(LEDlampRed,LOW);
tone(buzzer, 500);
}
else if (distanceincm <= 0) {
digitalWrite(LEDlampGreen, LOW);
digitalWrite(LEDlampYellow, HIGH);
digitalWrite(LEDlampRed, LOW);
noTone(buzzer);
}
else {
digitalWrite(LEDlampGreen, HIGH);
digitalWrite(LEDlampYellow, HIGH);
tone(buzzer, 1000);
digitalWrite(LEDlampRed, HIGH);
delay(300);
digitalWrite(LEDlampRed, LOW);
}
Serial.print(distanceincm);
Serial.println(" cm");
delay(300);
}

สู้ๆ นะ น้อง!

ข้อมูลเทคนิคเพิ่มเติม

Spatial Intrusion Detection

ระบบรักษาความปลอดภัยนี้สร้างขอบเขตที่มองไม่เห็นโดยใช้คลื่นเสียงอัลตราโซนิก

  • HC-SR04 Sensor: Arduino จะส่งพัลส์เสียงความถี่ 40kHz ออกไป แล้ววัดเวลาที่เสียงสะท้อนกลับมา ระยะทางคำนวณเป็นเซนติเมตรโดยคูณเวลาด้วย 0.034
  • Variable Distance Trigger: ต่างจากเซ็นเซอร์ PIR ทั่วไปตรงที่น้องสามารถกำหนด "โซน" ที่เฉพาะเจาะจงได้ เช่น ตั้งให้ระบบเตือนเมื่อมีวัตถุเข้ามาในระยะ 50 ซม. เท่านั้น โดยไม่สนใจสิ่งที่อยู่ไกลกว่านั้น

Interface & Alerts

  • LCD Visualization: 16x2 LCD หรือ OLED จะแสดงระยะห่างแบบเรียลไทม์ของวัตถุใดๆ ที่อยู่ในระยะตรวจจับ
  • Alarm Sequence: เมื่อมีวัตถุล้ำเข้ามาในโซนที่กำหนด Arduino จะสั่งให้ Passive Buzzer ดังสูง และไฟ LED สีแดงกระพริบ ระบบสามารถเปิด/ปิดการทำงานได้โดยใช้คีย์แพดหรือสวิตช์ลับง่ายๆ

ข้อมูล Frontmatter ดั้งเดิม

title: "Ultrasonic Security System with Object Distance Display"
description: "A measuring device that also doubles as a burglar alarm, using an ultrasonic sensor and LCD."
author: "MylesBartlett"
category: ""
tags:
  - "measurement"
  - "security"
  - "monitoring"
views: 5843
likes: 0
price: 299
difficulty: "Easy"
components:
  - "5x Resistor 221 ohm"
  - "1x Jumper wires (generic)"
  - "1x Buzzer"
  - "1x Standard LCD - 16x2 White on Blue"
  - "1x 5 mm LED: Red"
  - "1x 5 mm LED: Yellow"
  - "1x 5 mm LED: Green"
  - "1x Ultrasonic Sensor - HC-SR04 (Generic)"
  - "1x Arduino UNO"
  - "1x Single Turn Potentiometer- 10k ohms"
tools: []
apps:
  - "1x Arduino Web Editor"
  - "1x Arduino IDE"
downloadableFiles: []
documentationLinks: []
passwordHash: "cf3b55e7b53c5b1c3859263a9db61c7f02202401605b4bd130694e44e585372c"
encryptedPayload: "U2FsdGVkX1/aKS8p778MCnWfnO86xbH5dpUa0dyAxCdBiAqscUW/TlS+SDx0LU2Gfk8QqFCl6KHvxKUSwlG3BFeigjhuju5kpX05xWmaaI0KYZkOBGRdSQlas40CIE/d"
seoDescription: "Build an Ultrasonic Security System with an LCD display. Measure distance and set a Burglar Alarm using Arduino and Ultrasonic Sensor."
videoLinks: []
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/ultrasonic-security-system-with-object-distance-display-929d45_cover.jpg"
lang: "th"