eBook: บทที่ 4 เรียนรู้และใช้งานเซนเซอร์ตรวจจับการสั่นไหว

UTEN BOONLIAM Avatar
บทที่ 4

📳

เรียนรู้และใช้งานเซนเซอร์ตรวจจับการสั่นไหว

การใช้งานร่วมกับเซนเซอร์ตรวจจับการสั่นไหว

A black rectangular object with a blue rectangular object AI-generated content may be incorrect.

รูปที่ 4.1 เซนเซอร์ตรวจจับการสั่นไหวรุ่น 801S
สำหรับตรวจจับแรงสั่นสะเทือนหรือแรงกระแทกเบื้องต้น.

📳4.1 บทนำ

ในอาคารอัจฉริยะหรือระบบอัตโนมัติ
การตรวจจับแรงสั่นสะเทือนถือเป็นหนึ่งในฟังก์ชันสำคัญที่ช่วยเพิ่มความปลอดภัย
และการแจ้งเตือนเมื่อเกิดเหตุผิดปกติ เช่น การบุกรุก การสั่นจากเครื่องจักร
หรือแรงสั่นสะเทือนที่อาจบ่งชี้ถึงความเสียหายของโครงสร้างอาคาร

เซนเซอร์ตรวจจับแรงสั่นสะเทือน (Vibration Sensor)
เป็นอุปกรณ์ที่สามารถรับรู้แรงสั่นและเปลี่ยนเป็นสัญญาณไฟฟ้า
โดยสามารถประยุกต์ใช้งานร่วมกับระบบควบคุมต่าง ๆ ได้อย่างยืดหยุ่น เช่น ระบบกันขโมย
ระบบวิเคราะห์การทำงานของมอเตอร์ หรือแม้กระทั่งระบบแจ้งเตือนการเคลื่อนไหว

ในบทเรียนนี้ ผู้เรียนจะได้รู้จักกับหลักการทำงานของเซนเซอร์ 801S
ซึ่งเป็นเซนเซอร์ที่มีวงจรขยายในตัว พร้อมขาแสดงผลแบบดิจิทัลและอนาล็อก
รวมถึงการนำไปต่อร่วมกับโมดูลแปลงสัญญาณ ADS1115
เพื่อให้สามารถอ่านค่าแรงสั่นได้อย่างแม่นยำยิ่งขึ้นด้วย ESP32 ผ่านบอร์ด Smart Building 360
นอกจากนี้ยังได้ฝึกเขียนโปรแกรมเพื่อแสดงผลและวิเคราะห์ค่าที่วัดได้แบบ Real-Time ด้วย
Serial Monitor และ Serial Plotter

📳4.2 ทำความรู้จักเซนเซอร์ตรวจจับการสั่นไหว

เซนเซอร์ตรวจจับการสั่นไหวรุ่น 801S ใช้หลักการ Piezoelectric
ที่สามารถแปลงแรงสั่นสะเทือนเป็นสัญญาณไฟฟ้า โดยโมดูลมีวงจรขยาย, ตัวต้านทานปรับความไว
(Potentiometer), และวงจรแจ้งสถานะด้วย LED ซึ่งเหมาะกับงานหลากหลาย เช่น
ระบบกันขโมย, ตรวจสอบสภาพเครื่องจักร หรือเป็นเซนเซอร์หนึ่งในระบบ Smart
Building

ส่วนประกอบหลักของโมดูล:

  • Piezoelectric Sensor 801S: ตรวจจับแรงสั่นสะเทือน

  • Comparator (LM393): เปรียบเทียบสัญญาณกับค่าที่ตั้งไว้

  • Potentiometer: ปรับความไวในการตรวจจับ

  • Digital OUT / Analog OUT: ส่งค่าไปยังไมโครคอนโทรลเลอร์ (เช่น
    ESP32)

A diagram of a device AI-generated content may be incorrect.

รูปที่ 4.2 Block Diagram การทำงานของโมดูลเซนเซอร์ตรวจจับการสั่นไหว

📳4.3 หลักการทำงานของระบบ

1.เมื่อเซนเซอร์ได้รับแรงสั่น เช่น การเคาะ หรือการเขย่า

2.เซนเซอร์จะสร้างสัญญาณไฟฟ้าแบบแอนะล็อก (Analog Voltage)
จากแรงสั่นสะเทือนนั้น

3.วงจรภายในโมดูลจะเปรียบเทียบแรงสั่นกับค่า Threshold ที่ตั้งไว้ผ่าน
Potentiometer

กรณีแรงสั่นมากกว่าค่าที่ตั้งไว้:

  • ขา Digital OUT เปลี่ยนเป็น High

  • ขา Analog OUT ส่งแรงดันต่อเนื่อง

กรณีแรงสั่นต่ำกว่าค่าที่ตั้งไว้:

  • ขา Digital OUT= Low

  • ขา Analog OUT มีแรงดันต่ำ

การใช้งาน Analog OUT กับ ESP32 ผ่าน ADS1115

  • สัญญาณ Analog จากเซนเซอร์จะไม่สามารถต่อเข้า ESP32 ได้โดยตรง เพราะ ESP32
    มีจำนวนขา Analog จำกัด และค่าความละเอียดไม่สูงพอ จึงใช้โมดูล ADS1115 ซึ่งเป็น ADC 16
    บิต เพื่อแปลงแรงดันจากขา Analog OUT เป็นค่าดิจิทัล แล้วส่งต่อให้ ESP32 ผ่าน
    I²C

  • การใช้ Analog OUT ทำให้สามารถอ่าน “ระดับความแรงของแรงสั่น” ได้อย่างแม่นยำ
    (ไม่ใช่แค่มีหรือไม่มีการสั่น)

ประโยชน์ของการใช้ Analog Output

  • เหมาะสำหรับวิเคราะห์แรงสั่นแบบ ต่อเนื่องและมีความละเอียด

  • สามารถนำข้อมูลไปทำกราฟหรือระบบแจ้งเตือนตามระดับแรงสั่นได้

  • ใช้ในการเรียนรู้เรื่องการแปลงสัญญาณ (ADC) และการประมวลผลข้อมูลจริง

📳4.4 อุปกรณ์ที่ใช้ในการทดลอง

ลำดับ รายละเอียด
1 เซนเซอร์ตรวจจับการสั่นไหว Vibration Sensor Module 801S (ใช้งานเฉพาะ
Analog OUT เท่านั้น)
2 บอร์ด Smart Building IoT (Sensor Board)

ตารางที่ 4.1 แสดงรายการอุปกรณ์ที่ใช้ในการทดลองเซนเซอร์ตรวจจับการสั่นไหว

📳4.5 การเชื่อมต่อ

เชื่อมต่อเซนเซอร์ตรวจจับการสั่นไหวเข้าที่คอนเนคเตอร์ AIN0 บนบอร์ดSmart Building
IoT (Sensor Board) โดยไอซี ADS1115 จะทำหน้าที่แปลงค่าสัญญาณจากแอนะล็อกเป็นดิจิทัล
เพื่อให้ ESP32 ประมวลผลได้อย่างแม่นยำ

A circuit board with a antenna AI-generated content may be incorrect.

รูปที่ 4.3 การเชื่อมต่อโมดูลเซนเซอร์ตรวจจับการสั่นไหว

📳4.6 การเขียนโปรแกรมเพื่ออ่านค่าจากเซนเซอร์

Example Code 4.1: ตัวอย่างโค้ดการอ่านค่าและแจ้งเตือน

A screenshot of a computer program AI-generated content may be incorrect.

รูปที่ 4.4 ตัวอย่างโค้ดเริ่มต้นสำหรับอ่านค่าเซนเซอร์สั่นไหวผ่าน ADS1115 พร้อมตั้งค่า
threshold

Note:

ค่า threshold ที่เหมาะสมควรทดลองปรับจนได้ผลลัพธ์ที่ไม่ไวเกินไปหรือล่าช้าเกินไป

A qr code with black squares AI-generated content may be incorrect.

อธิบายการทำงานของโค้ด:

  • ads.readADC_SingleEnded(0) อ่านค่าดิบจาก AIN0

  • threshold ใช้กำหนดขอบเขตการสั่นสะเทือนที่สนใจ

  • ถ้าค่าเกิน threshold ให้พิมพ์ข้อความแจ้งเตือน

Example Code 4.2: เขียนโค้ดโดยใช้ Smartbuilding360hub Library

A screenshot of a computer AI-generated content may be incorrect.

รูปที่ 4.5 โค้ดเริ่มต้นโปรเจกต์ด้วยไลบรารี SmartBuilding360hub
สำหรับอ่านค่าเซนเซอร์

A qr code with black squares AI-generated content may be incorrect.

อธิบายการทำงานของโค้ด:

โค้ดนี้อ่านค่าสัญญาณจากเซนเซอร์สั่นสะเทือนผ่าน ADC ถ้าค่าที่อ่านได้เกิน threshold
จะขึ้นข้อความเตือนบน OLED และส่งเสียง buzzer 2 ครั้ง พร้อมแสดงค่าที่อ่านได้และ
threshold ทั้งทาง Serial และ OLED ถ้าไม่เกิน threshold จะแสดงค่าปกติบน OLED และ
Serial วนซ้ำทุกวินาที

📳4.7 การทดลองด้วย Serial Plotter

การใช้งานร่วมกับเซนเซอร์ตรวจจับการสั่นไหว โดยใช้ Extension “serial-plotter”
ใน VsCode โดย Serial Plotter จะช่วยให้สามารถดูข้อมูลจาก Serial Port
แบบกราฟเส้น (Line Chart) แบบ Real-Time ได้ สะดวกสำหรับวิเคราะห์ข้อมูลเซนเซอร์
เช่น สัญญาณแรงสั่นสะเทือนและค่า Threshold

ขั้นตอนที่ 1: ติดตั้ง Extension

  • เปิด VsCode แล้วไปที่ Extensions

  • ค้นหา serial-plotter โดย Mario Zechner

A screenshot of a computer AI-generated content may be incorrect.

รูปที่ 4.6 ติดตั้งส่วนขยาย Serial Plotter บน VsCode เพื่อแสดงกราฟข้อมูลจาก
Serial Port

  • กด “Install”

A screenshot of a computer AI-generated content may be incorrect.

รูปที่ 4.7 หน้ารายละเอียด Serial Plotter พร้อมปุ่ม “Install” บน VsCode.

ขั้นตอนที่ 2: เขียนโค้ดแสดงค่าบน Serial Plotter

A screenshot of a computer program AI-generated content may be incorrect.

รูปที่ 4.8 โค้ดเริ่มต้นแสดงค่าจากเซนเซอร์ผ่าน Serial Plotter

A qr code with black squares AI-generated content may be incorrect.

ขั้นตอนที่ 3: เปิดใช้งาน Plotter

  • ไปที่ View > Command Palette > Serial Plotter: Open
    Plotter

  • เลือกพอร์ตเชื่อมต่อ และตั้งค่า Baudrate = 115200

A screenshot of a computer AI-generated content may be incorrect.

รูปที่ 4.9 แสดงค่าจากเซนเซอร์ผ่าน Serial Plotter

ขั้นตอนที่ 4: ทดลองจริง

  • เคาะหรือเขย่าเซนเซอร์

  • สังเกตค่ากราฟ Vib และ Thr เปลี่ยนแปลงแบบ Real-time

📳การประยุกต์ใช้งาน

  • ประยุกต์ใช้กับระบบกันขโมย: ติดตั้งกับประตู/หน้าต่าง ตรวจจับแรงทุบ

  • ประยุกต์ใช้กับระบบตรวจสอบเครื่องจักร:
    วัดแรงสั่นผิดปกติจากมอเตอร์/ปั๊มน้ำ

  • ประยุกต์ใช้กับระบบSmart Locker: ตรวจจับความเคลื่อนไหวตู้เก็บของ

📳สรุปผลการเรียนรู้

  • ผู้เรียนสามารถอ่านค่าแรงสั่นสะเทือนและตั้ง Threshold ด้วย
    Potentiometer

  • ฝึกใช้ ADC (ADS1115) เพื่อแปลงสัญญาณอนาล็อกเป็นดิจิทัล

  • เรียนรู้การแสดงผลข้อมูลแบบกราฟ Real-Time ด้วย Serial Plotter

  • สามารถนำไปประยุกต์ใช้กับงานแจ้งเตือนใน Smart Building ได้

✅ คำถามท้ายใบงาน 💡

1.เซนเซอร์ตรวจจับการสั่นไหวจะส่งสัญญาณออกมาในรูปแบบใดเมื่อมีแรงสั่นสะเทือน?

…………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………………..…………………………………………………………………………………………………………………

2.ค่าที่อ่านจากขา Analog OUT ของเซนเซอร์สามารถนำไปใช้ประโยชน์อย่างไรในงาน
IoT?

…………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………………..…………………………………………………………………………………………………………………

3.ถ้าต้องการให้โค้ดตรวจจับแรงสั่นไหวที่มีความแรงมากขึ้น ควรปรับเปลี่ยนเงื่อนไขในคำสั่ง
if() อย่างไร?

…………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………………..…………………………………………………………………………………………………………………

📝 พื้นที่สรุปผลการเรียนรู้

🔹 หลังจากทำกิจกรรมและศึกษาข้อมูลจากชุดฝึกนี้ ฉันได้เรียนรู้ว่า…

…………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………………..…………………………………………………………………………………………………………………

🔹 ความเข้าใจเพิ่มเติมที่ได้รับจากใบงานนี้คือ…

…………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………………..…………………………………………………………………………………………………………………

🔹 ข้อเสนอแนะ/ข้อสงสัยเพิ่มเติม

…………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………………………………………………..…………………………………………………………………………………………………………………

“แม้แรงสั่นเพียงเล็กน้อย ก็เปลี่ยนระบบทั้งระบบได้”

“Even the slightest vibration can shift an entire
system.”

Leave a Reply

Your email address will not be published. Required fields are marked *