eBook: บทที่ 9 เรียนรู้และใช้งานเซนเซอร์ตรวจวัดอุณหภูมิและความชื้นในอากาศ

UTEN BOONLIAM Avatar
บทที่ 9

🌡️

เรียนรู้และใช้งานเซนเซอร์ตรวจวัดอุณหภูมิและความชื้นในอากาศ

A black square object with a hole in it AI-generated content may be incorrect.

รูปที่ 9.1 เซนเซอร์ SHT3x สำหรับวัดอุณหภูมิและความชื้นในอากาศ

🌡️9.1 บทนำ

ในโลกของอาคารอัจฉริยะและระบบ IoT
การตรวจวัดอุณหภูมิและความชื้นในอากาศถือเป็นองค์ประกอบสำคัญของการบริหารจัดการสภาพแวดล้อมภายในอาคารอย่างมีประสิทธิภาพ
เซนเซอร์ SHT30 จากบริษัท Sensirion ประเทศสวิตเซอร์แลนด์
เป็นเซนเซอร์แบบดิจิทัลที่สามารถวัดได้ทั้ง อุณหภูมิ (°C) และ ความชื้นสัมพัทธ์ (%RH)
ด้วยความแม่นยำสูง และส่งข้อมูลผ่านบัส I²C ได้อย่างรวดเร็วและเสถียร

SHT30 เหมาะสำหรับการใช้งานในระบบอัจฉริยะ เช่น:

  • ระบบปรับอากาศอัตโนมัติในบ้าน อาคารสำนักงาน และโรงเรียน

  • ระบบควบคุมอุณหภูมิในห้องเซิร์ฟเวอร์หรือคลังสินค้า

  • การติดตามสภาพอากาศในโรงเรือนเพาะปลูก พิพิธภัณฑ์ หรือพื้นที่ควบคุมพิเศษ

  • การแจ้งเตือนเมื่ออุณหภูมิหรือความชื้นเกินค่าที่กำหนด
    เพื่อป้องกันความเสียหายต่ออุปกรณ์หรือสิ่งแวดล้อม

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

นอกจากนี้ ชุดฝึก Smart Building IoT ยังออกแบบให้สามารถใช้งาน SHT30 ร่วมกับ
OLED Display, Buzzer, รีเลย์ และปุ่มปรับตั้งค่า
เพื่อสร้างระบบตรวจวัดและแจ้งเตือนที่สมบูรณ์ในรูปแบบที่เข้าใจง่ายและนำไปใช้ได้จริง

ในบทนี้ ผู้เรียนจะได้เรียนรู้วิธีเชื่อมต่อ SHT30 กับบอร์ด Smart Building IoT ผ่าน I2C
วิธีเขียนโค้ดเพื่ออ่านค่าอุณหภูมิ/ความชื้น
และการประยุกต์ใช้ข้อมูลดังกล่าวเพื่อควบคุมอุปกรณ์หรือแสดงผลผ่านหน้าจอ รวมถึงแนวทางการใช้
EEPROM เพื่อเก็บค่าการตั้งค่าอย่างถาวร

รูปที่ 9.2 โมดูล SHT30 พร้อมเคสติดตั้ง สำหรับตรวจวัดอุณหภูมิและความชื้นในอากาศ

🌡️9.2 ส่วนประกอบเซนเซอร์

เซนเซอร์ SHT30 ประกอบด้วยวงจรหลักดังนี้:

  • RH Sensor และ T Sensor:

ใช้ตรวจวัดค่าความชื้นสัมพัทธ์ (Relative Humidity) และอุณหภูมิ (Temperature)

  • ADC (Analog to Digital Converter):

แปลงค่าที่วัดได้เป็นสัญญาณดิจิทัลเพื่อให้ไมโครคอนโทรลเลอร์อ่านค่าได้

  • Calibration Memory:

เก็บค่าความแม่นยำจากโรงงาน เพื่อลดความคลาดเคลื่อนในการวัด

  • Data Processing & Linearization:

ประมวลผลและปรับค่าให้อยู่ในรูปเชิงเส้นเพื่อความถูกต้อง

  • Digital Interface (I²C):

ใช้สื่อสารกับไมโครคอนโทรลเลอร์ผ่านขา SDA และ SCL

  • Power on Reset และ nRESET:

เป็นวงจรสำหรับรีเซ็ตอุปกรณ์เมื่อเริ่มใช้งานหรือมีการรีสตาร์ทระบบ

  • Alert Logic:

ส่งสัญญาณแจ้งเตือนเมื่อค่าที่วัดได้เกินหรือต่ำกว่าขอบเขตที่กำหนด

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

รูปที่ 9.3 แผนผังภายในเซนเซอร์ SHT30 แสดงโครงสร้างการวัดค่าและส่งข้อมูลผ่าน
I2C

🌡️9.3 หลักการทำงานของเซนเซอร์

เซนเซอร์ SHT30 คือ Digital Humidity and Temperature Sensor จะทำงานแบบ
Self-Contained คือ มีทั้งส่วนตรวจจับ แปลงสัญญาณ และประมวลผลอยู่ภายในตัวเดียวจบ

1. การวัดความชื้น (Humidity Sensing)

  • ใช้เซนเซอร์ชนิด capacitive humidity sensor
    ซึ่งมีโครงสร้างเป็นแผ่นนำไฟฟ้าสองแผ่นประกบกับวัสดุไดอิเล็กทริกที่ไวต่อความชื้น

  • เมื่อความชื้นในอากาศเปลี่ยนไป ความสามารถในการเก็บประจุ (Capacitance)
    ของไดอิเล็กทริกจะเปลี่ยนตาม → ถูกแปลงเป็นสัญญาณไฟฟ้า

2. การวัดอุณหภูมิ (Temperature Sensing)

  • ใช้เซนเซอร์ชนิด Band-Gap Temperature Sensor
    ซึ่งสร้างแรงดันไฟฟ้าขึ้นอยู่กับอุณหภูมิ

  • การเปลี่ยนแปลงของแรงดันสะท้อนถึงอุณหภูมิ ณ เวลานั้น

3. การประมวลผลภายใน (Internal Processing)

  • สัญญาณอนาล็อกจากทั้งสองเซนเซอร์จะถูกส่งไปยัง ADC (Analog to Digital
    Converter) เพื่อแปลงเป็นดิจิทัล

  • ข้อมูลดิจิทัลถูกส่งผ่าน Calibration Memory เพื่อปรับความแม่นยำ
    (ค่าตั้งจากโรงงาน)

  • มี Data Processing Unit ที่ทำหน้าที่ linearize
    และปรับเทียบค่าให้อ่านค่าได้ง่าย

4. การสื่อสารข้อมูล (Digital Output)

  • ผลลัพธ์ถูกส่งออกผ่าน I²C Interface (หรือบางรุ่นรองรับ PWM/SDI)

  • ผู้ใช้สามารถอ่านค่าจากเซนเซอร์ได้ผ่านคำสั่ง I²C Read
    จากไมโครคอนโทรลเลอร์

🌡️9.4 อุปกรณ์ที่ใช้ในการทดลอง

ลำดับที่ รายละเอียดอุปกรณ์
1 เซนเซอร์ SHT30
2 บอร์ด Smart Building IoT (Sensor Board)

ตารางที่ 9.1 รายการอุปกรณ์ที่ใช้ในการทดลอง

🌡️9.5 การเชื่อมต่อกับบอร์ด

เชื่อมต่อเซนเซอร์ SHT30 ที่คอนเนคเตอร์ I2C บนบอร์ด Smart Building IoT (Sensor
Board) เพื่อให้ ESP32 ประมวลผล โดยขาที่ใช้ในการเชื่อมต่อจะเป็นดังนี้

  • VCC → 5V

  • GND → GND

  • SDA → GPIO21

  • SCL → GPIO22

A close-up of a circuit board AI-generated content may be incorrect.

รูปที่ 9.4 การเชื่อมต่อโมดูลเซนเซอร์ตรวจวัดค่าอุณหภูมิและความชื้น SHT30

🌡️9.6 ตัวอย่างโค้ดและการแสดงผล

Example Code 9.1: อ่านค่าและแสดงผลบน Serial + OLED

โค้ดนี้ทำหน้าที่อ่านค่าอุณหภูมิและความชื้นจากเซนเซอร์ SHT30 ผ่านบอร์ด tenergy32hub
และแสดงผลทั้งทาง Serial Monitor และจอ OLED

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

รูปที่ 9.5 อ่านค่าจากเซนเซอร์ SHT30 และแสดงผลผ่าน Serial Monitor และ
OLED

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

Example Code 9.2: เพิ่มการแจ้งเตือนผ่าน Buzzer เมื่ออุณหภูมิสูงเกินค่า
TEMP_ALERT

ปรับปรุงโค้ด โดยให้มีการแจ้งเตือนด้วยเสียง buzzer
เมื่ออุณหภูมิสูงกว่าค่าตัวแปรที่กำหนดไว้ในโค้ด โดยแสดงค่าทาง Serial และ OLED

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

รูปที่ 9.6 แจ้งเตือนด้วย Buzzer เมื่ออุณหภูมิเกินค่าที่กำหนด พร้อมแสดงผลผ่าน Serial
และ OLED

Example Code 9.3: เพิ่มปุ่มปรับค่า TEMP_ALERT (SW1, SW2)

ปรับปรุงโค้ดเดิม โดยโปรแกรมสามารถตั้งค่า TEMP_ALERT ได้ด้วย SW1 และ SW2
โดยทำการเพิ่มหรือลดที่ความละเอียด 0.5C ซึ่งเวลากดปุ่ม SW1 และ SW2 ให้มีเสียงดังที่
buzzer และแสดงค่าที่ Serial และ OLED

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

รูปที่ 9.7 โมดูลแสดงตัวอย่างการตั้งค่า TEMP_ALERT ด้วยปุ่ม SW1 และ SW2

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

Example Code 9.4: เพิ่มปุ่มปรับค่า TEMP_ALERT (SW1, SW2), บันทึกค่าไว้ใน
EEPROM และควบคุมรีเลย์

เห็นได้ว่า เมื่อมีการรีเซต ESP32 ค่าที่ได้ตั้งค่าไว้จะไม่ถูกจำ และต้องมาตั้งค่าใหม่ทุกครั้ง
ดังนั้นให้ปรับปรุงโค้ดเดิม โดยทำการบันทึกค่าไว้ใน EEPROM และเพิ่มเติมการทำงานคือ
ถ้าอุณหภูมิสูงว่าค่า TEMP_ALERT ให้ Relay ON แต่ถ้าต่ำกว่า ให้ Relay OFF

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

รูปที่ 9.8 ตัวอย่างการเขียนโปรแกรมเพื่อบันทึกค่าการตั้งอุณหภูมิไว้ใน EEPROM
และควบคุมรีเลย์ตามเงื่อนไข

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

ความรู้เพิ่มเติม:

EEPROM คือหน่วยความจำถาวรบน ESP32 ใช้สำหรับเก็บค่าต่าง ๆ เช่น ค่าอุณหภูมิที่ตั้งไว้
แม้ปิดเครื่องค่าจะยังอยู่เหมือนเดิม ใช้งานผ่านไลบรารี EEPROM.h พร้อมคำสั่ง read(),
write(), และ commit() เพื่อบันทึกค่าอย่างถาวร.

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

  • ระบบควบคุมอุณหภูมิ–ความชื้นในสมาร์ตโฮม

  • ควบคุมพัดลมหรือเครื่องทำความชื้น

  • ติดตั้งในห้องเซิร์ฟเวอร์เพื่อตรวจสภาพแวดล้อม

  • ใช้ในโรงเรือนเพาะปลูกหรือคลังเก็บยา

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

  • ผู้เรียนสามารถอ่านค่าอุณหภูมิและความชื้นจาก SHT30 ได้

  • เข้าใจวิธีเชื่อมต่อและใช้งานผ่านบัส I2C

  • สามารถประยุกต์ใช้งานเซนเซอร์กับอุปกรณ์ควบคุมอื่นได้ เช่น รีเลย์, OLED,
    Buzzer

  • สามารถบันทึกค่าการตั้งค่าลง EEPROM ได้

✅ กิจกรรมการทดลอง (Lab Exercise)

1. แสดงค่าอุณหภูมิและความชื้นผ่าน Serial Plotter

  • เขียนโปรแกรมอ่านค่าจากเซนเซอร์ SHT30

  • แสดงค่าอุณหภูมิ (°C) และความชื้นสัมพัทธ์ (%RH) บนกราฟด้วย Serial Plotter
    ของ

VsCode

  • สังเกตแนวโน้มการเปลี่ยนแปลงของข้อมูลตามเวลา

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

2.ทดสอบการตอบสนองของเซนเซอร์ต่อสภาพแวดล้อม

  • เปลี่ยนแปลงสภาพแวดล้อม เช่น

▸ เป่าลมอุ่นจากไดร์เป่าผม

▸ ใช้พัดลมเป่าลมเย็น

▸ วางไว้ใกล้ถ้วยน้ำร้อน หรือในกล่องปิด

  • จดบันทึกค่าที่เปลี่ยนแปลง และวิเคราะห์ผลลัพธ์

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

3.สร้างระบบแจ้งเตือนอัตโนมัติ

  • เขียนโค้ดให้ระบบส่งสัญญาณแจ้งเตือน (เช่น เปิด Buzzer หรือ LED) เมื่อ

▸ อุณหภูมิเกิน 30°C

▸ ความชื้นน้อยกว่า 40%

  • ทดสอบระบบและบันทึกว่าแจ้งเตือนทำงานเมื่อใด

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

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

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

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

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

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

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

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

“เทคโนโลยีที่ดี ต้องรู้สึกถึงสิ่งที่มองไม่เห็น”

“A good system senses what can’t be seen.”

Leave a Reply

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