You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/th/2-farm/lessons/1-predict-plant-growth/pi-temp.md

11 KiB

วัดอุณหภูมิ - Raspberry Pi

ในส่วนนี้ของบทเรียน คุณจะเพิ่มเซ็นเซอร์วัดอุณหภูมิให้กับ Raspberry Pi ของคุณ

ฮาร์ดแวร์

เซ็นเซอร์ที่คุณจะใช้คือ DHT11 humidity and temperature sensor ซึ่งรวมเซ็นเซอร์ 2 ตัวไว้ในแพ็กเกจเดียวกัน เซ็นเซอร์นี้ค่อนข้างเป็นที่นิยม โดยมีเซ็นเซอร์ที่วางจำหน่ายในเชิงพาณิชย์หลายตัวที่รวมการวัดอุณหภูมิ ความชื้น และบางครั้งความดันบรรยากาศ เซ็นเซอร์วัดอุณหภูมิในตัวนี้เป็นเทอร์มิสเตอร์ชนิด NTC (Negative Temperature Coefficient) ซึ่งเป็นเทอร์มิสเตอร์ที่ค่าความต้านทานลดลงเมื่ออุณหภูมิเพิ่มขึ้น

เซ็นเซอร์นี้เป็นเซ็นเซอร์แบบดิจิทัล โดยมี ADC ในตัวเพื่อสร้างสัญญาณดิจิทัลที่มีข้อมูลอุณหภูมิและความชื้นที่ไมโครคอนโทรลเลอร์สามารถอ่านได้

เชื่อมต่อเซ็นเซอร์วัดอุณหภูมิ

เซ็นเซอร์วัดอุณหภูมิ Grove สามารถเชื่อมต่อกับ Raspberry Pi ได้

งานที่ต้องทำ

เชื่อมต่อเซ็นเซอร์วัดอุณหภูมิ

เซ็นเซอร์วัดอุณหภูมิ Grove

  1. เสียบปลายด้านหนึ่งของสาย Grove เข้ากับช่องเสียบของเซ็นเซอร์วัดความชื้นและอุณหภูมิ สายจะเสียบได้เพียงด้านเดียวเท่านั้น

  2. เมื่อ Raspberry Pi ปิดอยู่ ให้เชื่อมต่อปลายอีกด้านของสาย Grove เข้ากับช่องเสียบดิจิทัลที่มีเครื่องหมาย D5 บน Grove Base hat ที่ติดตั้งอยู่บน Pi ช่องเสียบนี้เป็นช่องที่สองจากด้านซ้ายในแถวของช่องเสียบที่อยู่ติดกับ GPIO pins

เซ็นเซอร์วัดอุณหภูมิ Grove เชื่อมต่อกับช่อง A0

เขียนโปรแกรมเซ็นเซอร์วัดอุณหภูมิ

ตอนนี้คุณสามารถเขียนโปรแกรมเพื่อใช้งานเซ็นเซอร์วัดอุณหภูมิที่เชื่อมต่ออยู่ได้แล้ว

งานที่ต้องทำ

เขียนโปรแกรมให้กับอุปกรณ์

  1. เปิด Raspberry Pi และรอให้บูตเสร็จ

  2. เปิด VS Code ไม่ว่าจะเปิดโดยตรงบน Pi หรือเชื่อมต่อผ่าน Remote SSH extension

    ⚠️ คุณสามารถดู คำแนะนำในการตั้งค่าและเปิด VS Code ในบทเรียนที่ 1 หากจำเป็น

  3. จาก Terminal สร้างโฟลเดอร์ใหม่ในไดเรกทอรีบ้านของผู้ใช้ pi โดยตั้งชื่อว่า temperature-sensor และสร้างไฟล์ในโฟลเดอร์นี้ชื่อว่า app.py:

    mkdir temperature-sensor
    cd temperature-sensor
    touch app.py
    
  4. เปิดโฟลเดอร์นี้ใน VS Code

  5. เพื่อใช้งานเซ็นเซอร์วัดอุณหภูมิและความชื้น จำเป็นต้องติดตั้งแพ็กเกจ Pip เพิ่มเติม จาก Terminal ใน VS Code ให้รันคำสั่งต่อไปนี้เพื่อติดตั้งแพ็กเกจ Pip บน Pi:

    pip3 install seeed-python-dht
    
  6. เพิ่มโค้ดต่อไปนี้ในไฟล์ app.py เพื่อ import ไลบรารีที่จำเป็น:

    import time
    from seeed_dht import DHT
    

    คำสั่ง from seeed_dht import DHT จะ import คลาส DHT เพื่อใช้งานเซ็นเซอร์วัดอุณหภูมิ Grove จากโมดูล seeed_dht

  7. เพิ่มโค้ดต่อไปนี้หลังจากโค้ดด้านบนเพื่อสร้าง instance ของคลาสที่จัดการเซ็นเซอร์วัดอุณหภูมิ:

    sensor = DHT("11", 5)
    

    โค้ดนี้ประกาศ instance ของคลาส DHT ที่จัดการเซ็นเซอร์วัดความชื้นและอุณหภูมิแบบดิจิทัล พารามิเตอร์แรกบอกโค้ดว่าเซ็นเซอร์ที่ใช้งานคือเซ็นเซอร์ DHT11 ซึ่งไลบรารีที่คุณใช้งานรองรับเซ็นเซอร์รุ่นอื่น ๆ ด้วย พารามิเตอร์ที่สองบอกโค้ดว่าเซ็นเซอร์เชื่อมต่ออยู่กับช่องดิจิทัล D5 บน Grove base hat

    จำไว้ว่า ช่องเสียบทั้งหมดมีหมายเลขพินเฉพาะ พิน 0, 2, 4, และ 6 เป็นพินอนาล็อก ส่วนพิน 5, 16, 18, 22, 24, และ 26 เป็นพินดิจิทัล

  8. เพิ่มลูปแบบไม่สิ้นสุดหลังจากโค้ดด้านบนเพื่อดึงค่าจากเซ็นเซอร์วัดอุณหภูมิและแสดงผลในคอนโซล:

    while True:
        _, temp = sensor.read()
        print(f'Temperature {temp}°C')
    

    การเรียก sensor.read() จะคืนค่าทูเพิลที่มีข้อมูลความชื้นและอุณหภูมิ คุณต้องการเพียงค่าของอุณหภูมิ ดังนั้นค่าความชื้นจะถูกละไว้ ค่าของอุณหภูมิจะถูกแสดงผลในคอนโซล

  9. เพิ่มคำสั่ง sleep สั้น ๆ เป็นเวลา 10 วินาทีที่ท้าย loop เนื่องจากไม่จำเป็นต้องตรวจสอบระดับอุณหภูมิอย่างต่อเนื่อง การ sleep จะช่วยลดการใช้พลังงานของอุปกรณ์

    time.sleep(10)
    
  10. จาก Terminal ใน VS Code รันคำสั่งต่อไปนี้เพื่อรันแอป Python ของคุณ:

    python3 app.py
    

    คุณควรเห็นค่าของอุณหภูมิแสดงผลในคอนโซล ใช้สิ่งที่สามารถทำให้เซ็นเซอร์ร้อนขึ้น เช่น กดนิ้วโป้งลงบนเซ็นเซอร์ หรือใช้พัดลมเพื่อดูค่าที่เปลี่ยนแปลง:

    pi@raspberrypi:~/temperature-sensor $ python3 app.py 
    Temperature 26°C
    Temperature 26°C
    Temperature 28°C
    Temperature 30°C
    Temperature 32°C
    

💁 คุณสามารถค้นหาโค้ดนี้ได้ในโฟลเดอร์ code-temperature/pi

😀 โปรแกรมเซ็นเซอร์วัดอุณหภูมิของคุณสำเร็จแล้ว!


ข้อจำกัดความรับผิดชอบ:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI Co-op Translator แม้ว่าเราจะพยายามให้การแปลมีความถูกต้องมากที่สุด แต่โปรดทราบว่าการแปลโดยระบบอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้