สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: วงจร
- ขั้นตอนที่ 2: วิธี
- ขั้นตอนที่ 3: TMP36 - การทดลองใช้งานเบื้องต้น
- ขั้นตอนที่ 4: ผลการทดแทนโพเทนชิออมิเตอร์
- ขั้นตอนที่ 5: ค่าเฉลี่ยการอ่านและผลลัพธ์
- ขั้นตอนที่ 6: DS18B20 - การทดสอบเบื้องต้น
- ขั้นตอนที่ 7: DS18B20 ทำงานได้ดี
- ขั้นตอนที่ 8: DHT22 และ DHT11
- ขั้นตอนที่ 9: ผลลัพธ์ DHT22
- ขั้นตอนที่ 10: การทดสอบ DTH11
- ขั้นตอนที่ 11: BME680
- ขั้นตอนที่ 12: ฉันควรใช้อันไหน
- ขั้นตอนที่ 13: ความคิดและการทดลองเพิ่มเติม
- ขั้นตอนที่ 14: กราฟเต็ม
- ขั้นตอนที่ 15: บทสรุป
วีดีโอ: การทดสอบเซ็นเซอร์อุณหภูมิ - อันไหนสำหรับฉัน: 15 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
เซ็นเซอร์ตัวแรกที่ผู้ใช้ใหม่ด้านการคำนวณทางกายภาพต้องการทดลองใช้คือสิ่งที่วัดอุณหภูมิ เซ็นเซอร์ยอดนิยมสี่ตัวคือ TMP36 ซึ่งมีเอาต์พุตแบบอะนาล็อกและต้องการตัวแปลงอนาล็อกเป็นดิจิตอล DS18B20 ซึ่งใช้การเชื่อมต่อแบบสายเดียว DHT22 หรือ DHT11 ที่ถูกกว่าเล็กน้อยซึ่งต้องการเพียงแค่พินดิจิตอล แต่ยัง ให้การอ่านค่าความชื้น และสุดท้าย BME680 ซึ่งใช้ I2C (พร้อม SPI และบอร์ดฝ่าวงล้อมบางรุ่น) และให้อุณหภูมิ ความชื้น ก๊าซ (VOC) และความดันบรรยากาศ แต่มีราคาสูงกว่าเล็กน้อย
ฉันต้องการดูว่ามีความแม่นยำเพียงใดและค้นพบข้อดีหรือข้อเสีย ฉันเป็นเจ้าของเทอร์โมมิเตอร์แบบปรอทที่แม่นยำอยู่แล้ว ซึ่งเหลือจากการพิมพ์ภาพถ่ายสีในสมัยของกระบวนการทางเคมีเพื่อเปรียบเทียบ (อย่าทิ้งสิ่งใด - คุณจะต้องใช้ในภายหลัง!)
ฉันจะใช้ CircuitPython และบอร์ดพัฒนา Adafruit Itsybitsy M4 สำหรับการทดสอบเหล่านี้ มีไดรเวอร์ที่เหมาะสมสำหรับอุปกรณ์ทั้งหมด
เสบียง
รายการเริ่มต้นของฉัน:
- ไมโครคอนโทรลเลอร์ Itsybitsy M4 Express
- สาย micro USB - สำหรับตั้งโปรแกรม
- TMP36
- DS18B20
- ตัวต้านทาน 4.7K โอห์ม
- DHT22
- BME680
- มัลติมิเตอร์
- เขียงหั่นขนมหรือกระดานแถบ
- สายต่อ
ขั้นตอนที่ 1: วงจร
สายไฟสีส้ม 3.3 V
สายไฟสีดำคือ GND
ที่ด้านล่างของกระดานเป็นจุดทดสอบสำหรับวัดแรงดันไฟฟ้า (เอาต์พุตอะนาล็อก 3.3v, GND และ TMP36)
เต้ารับกลางคือ ซ้ายไปขวา:
- TMP36: 3.3v, สัญญาณอนาล็อกออก, GND
- DS18B20: GND, สัญญาณดิจิตอลออก, 3.3v
- DHT22: 3.3v, สัญญาณออก, ว่างเปล่า, GND
- BME680: 3.3v, SDA, SCL, ว่างเปล่า, GND
ขั้วต่อด้านหลังสำหรับเชื่อมต่อกับบอร์ด IB M4E จากซ้ายไปขวา
- 3.3v
- TMP36 - อนาล็อกเพื่อพิน A2
- GND
- DS18B20 ดิจิตอลเอาท์พุต D3 - สีเขียว
- DHT22 ดิจิตอลเอาท์พุต D2 - สีเหลือง
- SDA - สีขาว
- SCL - สีชมพู
ตัวต้านทาน 4.7K Ohm เป็น pullup จากสัญญาณเป็น 3.3v สำหรับการเชื่อมต่อแบบ 0ne-wire บน DS18B20
มี 2 แทร็กตัดที่ด้านหลังของกระดาน:
ด้านล่างซ้ายสุดของสายทั้งสีชมพูและสีขาว (ใต้สายเหลือง)
ขั้นตอนที่ 2: วิธี
สำหรับเซ็นเซอร์แต่ละตัว ฉันจะเขียนสคริปต์สั้นๆ เพื่ออ่านอุณหภูมิ (และรายการอื่นๆ หากมี) หลายๆ ครั้ง และตรวจสอบอุณหภูมิกับเทอร์โมมิเตอร์แบบปรอท (Hg) ของฉัน ฉันจะดูว่าอุณหภูมิใกล้เคียงกับการอ่านปรอทมากแค่ไหนและการอ่านค่าคงที่หรือสม่ำเสมอหรือไม่
ฉันจะดูเอกสารประกอบเพื่อดูว่าค่าที่อ่านได้นั้นตรงกับความแม่นยำที่คาดหวังหรือไม่ และหากมีสิ่งใดที่สามารถทำได้เพื่อปรับปรุง
ขั้นตอนที่ 3: TMP36 - การทดลองใช้งานเบื้องต้น
ขาซ้ายคือ 3.3v ขาขวาคือ GND และขากลางคือแรงดันอนาล็อกแสดงอุณหภูมิโดยใช้สูตรต่อไปนี้ TempC = (มิลลิโวลต์ - 500) / 10
ดังนั้น 750 มิลลิโวลต์ให้อุณหภูมิ 25 C
ดูเหมือนจะมีปัญหาสองสามข้อที่นี่ อุณหภูมิจากเทอร์โมมิเตอร์ปรอท 'ปกติ' นั้นต่ำกว่าจาก TMP36 มากและการอ่านไม่สอดคล้องกันมาก - มี 'กระวนกระวายใจ' หรือเสียงรบกวนอยู่บ้าง
เซ็นเซอร์ TMP36 จะส่งแรงดันไฟฟ้าออกมาเป็นสัดส่วนกับอุณหภูมิ สิ่งนี้จะต้องอ่านโดยตัวแปลง A/D ก่อนที่จะคำนวณอุณหภูมิ ลองอ่านค่าแรงดันโดยตรงจากขากลางของเซนเซอร์ด้วยมัลติมิเตอร์ แล้วเปรียบเทียบกับผลลัพธ์จาก A/D ค่าที่อ่านได้จากขากลางด้วยมัลติมิเตอร์ของฉันคือ 722 มิลลิโวลต์ ซึ่งต่ำกว่ามากและค่าที่อ่านได้คงที่มาก
มีสองสิ่งที่เราสามารถลองได้ แทนที่โพเทนชิออมิเตอร์สำหรับ TMP36 และปรับแรงดันไฟฟ้าในการคำนวณให้เป็นแรงดันไฟฟ้าจริงของไมโครคอนโทรลเลอร์ จากนั้นเราจะดูว่าแรงดันที่คำนวณได้อยู่ใกล้กว่าหรือไม่ และสัญญาณรบกวน/กระวนกระวายใจลดลงหรือไม่
มาวัดแรงดันไฟฟ้าที่ใช้ไมโครคอนโทรลเลอร์และ A/D ของฉันกันเถอะ นี่ถือว่า 3.3v แต่จริงๆ แล้วเป็นเพียง 3.275v
ขั้นตอนที่ 4: ผลการทดแทนโพเทนชิออมิเตอร์
นี้จะดีกว่ามาก ค่าที่อ่านได้อยู่ภายในสองสามมิลลิโวลต์โดยมีสัญญาณรบกวนน้อยกว่ามาก นี่แสดงให้เห็นว่าเสียงรบกวนมาจาก TMP36 มากกว่า A/D การอ่านบนมิเตอร์จะคงที่เสมอ - ไม่มีกระวนกระวายใจ (มิเตอร์อาจ 'เรียบ' เอาต์พุตที่กระวนกระวายใจ)
วิธีหนึ่งในการปรับปรุงสถานการณ์คือการอ่านค่าเฉลี่ย อ่านสิบครั้งอย่างรวดเร็วและใช้ค่าเฉลี่ย ฉันยังจะคำนวณค่าเบี่ยงเบนมาตรฐานในขณะที่ฉันกำลังเปลี่ยนโปรแกรมเพื่อบ่งชี้การแพร่กระจายของผลลัพธ์ ฉันจะนับจำนวนการอ่านภายใน 1 ส่วนเบี่ยงเบนมาตรฐานของค่าเฉลี่ย - ยิ่งสูงยิ่งดี
ขั้นตอนที่ 5: ค่าเฉลี่ยการอ่านและผลลัพธ์
ยังมีเสียงรบกวนมากและการอ่านจาก TMP36 ก็ยังสูงกว่าจากเทอร์โมมิเตอร์แบบปรอท เพื่อลดสัญญาณรบกวน ฉันได้รวมตัวเก็บประจุ 100NF ระหว่างสัญญาณและ GND
จากนั้นฉันก็ค้นหาวิธีแก้ปัญหาอื่นๆ บนอินเทอร์เน็ตและพบสิ่งเหล่านี้: https://www.doctormonk.com/2015/02/accurate-and-re… Dr Monk แนะนำให้รวมตัวต้านทาน 47 k Ohm ระหว่างสัญญาณกับ GND
www.desert-home.com/2015/03/battery-operate… ในขณะที่ผู้ชายคนนี้แนะนำให้เรียงลำดับการอ่าน 15 รายการตามลำดับและเฉลี่ยศูนย์ 5
ฉันแก้ไขสคริปต์และวงจรเพื่อรวมคำแนะนำเหล่านี้และรวมการอ่านจากเทอร์โมมิเตอร์แบบปรอท
ในที่สุด! ตอนนี้เรามีการอ่านค่าคงที่ในช่วงความแม่นยำของคำอธิบายอุปกรณ์
นี่เป็นความพยายามอย่างมากในการทำให้เซ็นเซอร์ทำงานซึ่งมีความแม่นยำจากผู้ผลิตเท่านั้น:
ความแม่นยำ - สูงสุด (ต่ำสุด): ±3°C (±4°C) ราคาเพียง 1.50 เหรียญ (2 ปอนด์)
ขั้นตอนที่ 6: DS18B20 - การทดสอบเบื้องต้น
ระวังให้มาก แพ็คเกจนี้ดูคล้ายกับ TMP36 มาก แต่ขากลับตรงกันข้ามกับ 3.3v ทางด้านขวาและ GND ทางด้านซ้าย สัญญาณออกอยู่ตรงกลาง เพื่อให้อุปกรณ์นี้ทำงานได้ เราจำเป็นต้องมีตัวต้านทาน 4.7 k Ohm ระหว่างสัญญาณและ 3.3v อุปกรณ์นี้ใช้โปรโตคอลแบบสายเดียวและเราจำเป็นต้องดาวน์โหลดไดรเวอร์สองสามตัวลงในโฟลเดอร์ lib ของ Itsybitsy M4 Express
ค่าใช้จ่ายนี้ประมาณ $4 / £4ข้อกำหนดทางเทคนิค:
- ช่วงอุณหภูมิที่ใช้งานได้: -55 ถึง 125°C (-67°F ถึง +257°F)
- ความละเอียดที่เลือกได้ 9 ถึง 12 บิต
- ใช้อินเทอร์เฟซ 1-Wire - ต้องการเพียงหนึ่งพินดิจิทัลสำหรับการสื่อสาร
- ID 64 บิตที่ไม่ซ้ำกันถูกเบิร์นลงในชิป
- เซ็นเซอร์หลายตัวสามารถแชร์พินเดียวได้
- ความแม่นยำ ±0.5°C ตั้งแต่ -10°C ถึง +85°C
- ระบบเตือนขีดจำกัดอุณหภูมิ
- เวลาสืบค้นน้อยกว่า 750ms
- ใช้ได้กับกำลังไฟ 3.0V ถึง 5.5V
ปัญหาหลักของเซ็นเซอร์นี้คือใช้อินเทอร์เฟซ Dallas 1-Wire และไมโครคอนโทรลเลอร์บางตัวไม่มีไดรเวอร์ที่เหมาะสม เราโชคดีที่มีไดรเวอร์สำหรับ Itsybitsy M4 Express
ขั้นตอนที่ 7: DS18B20 ทำงานได้ดี
นี้แสดงให้เห็นผลลัพธ์ที่ดี
ชุดการอ่านที่สม่ำเสมอโดยไม่มีงานพิเศษและค่าโสหุ้ยในการคำนวณ ค่าที่อ่านได้อยู่ในช่วงความแม่นยำที่คาดไว้ ±0.5°C เมื่อเปรียบเทียบกับเทอร์โมมิเตอร์แบบปรอทของฉัน
นอกจากนี้ยังมีรุ่นกันน้ำราคาประมาณ 10 เหรียญซึ่งฉันเคยใช้มาแล้วและประสบความสำเร็จอย่างเท่าเทียมกัน
ขั้นตอนที่ 8: DHT22 และ DHT11
DHT22 ใช้เทอร์มิสเตอร์เพื่อให้ได้อุณหภูมิและมีราคาประมาณ 10 เหรียญ / 10 ปอนด์ และเป็นพี่ชายที่ถูกต้องและมีราคาแพงกว่าของ DHT11 ที่มีขนาดเล็กกว่า นอกจากนี้ยังใช้อินเทอร์เฟซแบบสายเดียวแต่เข้ากันไม่ได้กับโปรโตคอล Dallas ที่ใช้กับ DS18B20 สัมผัสความชื้นและอุณหภูมิได้ อุปกรณ์เหล่านี้บางครั้งต้องการตัวต้านทานแบบดึงขึ้นระหว่าง 3.3 v และขาสัญญาณ แพ็คเกจนี้มีการติดตั้งไว้แล้ว
- ราคาถูก
- กำลังไฟ 3 ถึง 5V และ I/O
- การใช้กระแสไฟสูงสุด 2.5mA ระหว่างการแปลง (ขณะขอข้อมูล)
- เหมาะสำหรับการอ่านค่าความชื้น 0-100% ด้วยความแม่นยำ 2-5%
- เหมาะสำหรับการอ่านค่าอุณหภูมิ -40 ถึง 80°C ความแม่นยำ ±0.5°C
- ไม่เกิน 0.5 Hz อัตราการสุ่มตัวอย่าง (ทุกๆ 2 วินาที)
- ขนาดตัวเครื่อง 27 มม. x 59 มม. x 13.5 มม. (1.05" x 2.32" x 0.53")
- 4 พิน ระยะห่าง 0.1"
- น้ำหนัก (เฉพาะ DHT22): 2.4g
เมื่อเปรียบเทียบกับ DHT11 เซ็นเซอร์นี้มีความแม่นยำมากกว่า แม่นยำกว่า และทำงานในช่วงอุณหภูมิ/ความชื้นที่กว้างกว่า แต่มีขนาดใหญ่กว่าและมีราคาแพงกว่า
ขั้นตอนที่ 9: ผลลัพธ์ DHT22
นี่เป็นผลลัพธ์ที่ยอดเยี่ยมโดยใช้ความพยายามเพียงเล็กน้อย ค่าที่อ่านได้ค่อนข้างคงที่และอยู่ในเกณฑ์ความเผื่อที่คาดไว้ การอ่านค่าความชื้นเป็นโบนัส
คุณสามารถอ่านได้ทุกวินาทีเท่านั้น
ขั้นตอนที่ 10: การทดสอบ DTH11
เทอร์โมมิเตอร์แบบปรอทของฉันแสดงอุณหภูมิ 21.9 องศาเซลเซียส นี่คือ DHT11 ที่ค่อนข้างเก่าซึ่งฉันดึงมาจากโปรเจ็กต์เก่า และค่าความชื้นนั้นแตกต่างอย่างมากจากการอ่านค่า DHT22 เมื่อไม่กี่นาทีที่ผ่านมา มีค่าใช้จ่ายประมาณ $5 / £5
คำอธิบายประกอบด้วย:
- เหมาะสำหรับการอ่านค่าความชื้น 20-80% พร้อมความแม่นยำ 5%
- เหมาะสำหรับการอ่านค่าอุณหภูมิ 0-50 °C ความแม่นยำ ±2°C - น้อยกว่า DTH22
อุณหภูมิดูเหมือนจะยังอยู่ในช่วงความแม่นยำ แต่ฉันไม่เชื่อถือการอ่านค่าความชื้นจากอุปกรณ์เครื่องเก่านี้
ขั้นตอนที่ 11: BME680
เซ็นเซอร์นี้ประกอบด้วยอุณหภูมิ ความชื้น ความกดอากาศ และความสามารถในการตรวจจับก๊าซ VOC ในแพ็คเกจเดียว แต่เป็นเซ็นเซอร์ที่แพงที่สุดในการทดสอบที่นี่ มีค่าใช้จ่ายประมาณ 18.50 ปอนด์ / 22 ดอลลาร์ มีผลิตภัณฑ์ที่คล้ายกันที่ไม่มีเซ็นเซอร์ก๊าซซึ่งมีราคาถูกกว่าเล็กน้อย
นี่คือเซ็นเซอร์มาตรฐานทองคำของทั้งห้า เซ็นเซอร์อุณหภูมิมีความแม่นยำ และมีไดรเวอร์ที่เหมาะสม ใช้งานง่ายมาก เวอร์ชันนี้ใช้ I2C แต่บอร์ดฝ่าวงล้อม Adafruit ก็สามารถใช้ SPI ได้เช่นกัน
เช่นเดียวกับ BME280 และ BMP280 เซ็นเซอร์ความเที่ยงตรงจาก Bosch สามารถวัดความชื้นได้อย่างแม่นยำ ±3% ความดันบรรยากาศด้วยความแม่นยำ ±1 hPa และอุณหภูมิที่มีความแม่นยำ ±1.0°C เนื่องจากความดันเปลี่ยนแปลงไปตามระดับความสูง และการวัดความดันนั้นดีมาก คุณจึงสามารถใช้เป็นเครื่องวัดระยะสูงที่มีความแม่นยำ ±1 เมตรหรือดีกว่าได้!
เอกสารระบุว่าจำเป็นต้องมี 'เวลาเผาไหม้' สำหรับเซ็นเซอร์ก๊าซ
ขั้นตอนที่ 12: ฉันควรใช้อันไหน
- TMP36 มีราคาถูกมาก เล็กและเป็นที่นิยม แต่ค่อนข้างใช้งานยากและอาจคลาดเคลื่อน
- DS18B20 มีขนาดเล็ก แม่นยำ ราคาถูก ใช้งานง่ายมาก และมีรุ่นกันน้ำ
- DTH22 ยังระบุถึงความชื้น ราคาปานกลางและใช้งานง่าย แต่อาจช้าเกินไป
- BME680 ทำได้ดีกว่ารุ่นอื่นๆ แต่มีราคาแพง
ถ้าฉันต้องการแค่อุณหภูมิ ฉันจะใช้ DS18B20 ที่มีความแม่นยำ ±0.5°C แต่ที่ฉันชอบคือ BME680 เพราะมันทำอะไรได้มากกว่า และสามารถนำไปใช้ในโครงการต่างๆ ได้มากมาย
ความคิดสุดท้ายอย่างหนึ่ง ตรวจสอบให้แน่ใจว่าคุณเก็บเซ็นเซอร์อุณหภูมิของคุณให้ห่างจากไมโครโปรเซสเซอร์ Raspberry Pi HAT บางตัวยอมให้ความร้อนจากเมนบอร์ดทำให้เซ็นเซอร์อุ่นขึ้น ทำให้อ่านค่าผิดพลาดได้
ขั้นตอนที่ 13: ความคิดและการทดลองเพิ่มเติม
ขอบคุณ gulliverrr, ChristianC231 และ pgagen สำหรับความคิดเห็นของคุณเกี่ยวกับสิ่งที่ฉันได้ทำไปแล้ว ฉันขอโทษที่ล่าช้า แต่ฉันได้ไปเที่ยวพักผ่อนในไอร์แลนด์ โดยไม่ได้ซื้ออุปกรณ์อิเล็กทรอนิกส์มาสองสามสัปดาห์แล้ว
นี่เป็นความพยายามครั้งแรกในการแสดงเซ็นเซอร์ที่ทำงานร่วมกัน
ฉันเขียนสคริปต์เพื่ออ่านเซ็นเซอร์และพิมพ์ค่าอุณหภูมิทุกๆ 20 วินาทีหรือมากกว่านั้น
ฉันใส่ชุดอุปกรณ์ในตู้เย็นเป็นเวลาหนึ่งชั่วโมงเพื่อทำให้ทุกอย่างเย็นลง ฉันเสียบมันเข้ากับพีซีและให้ Mu พิมพ์ผลลัพธ์ จากนั้นคัดลอกเอาต์พุต เปลี่ยนเป็นไฟล์.csv (ตัวแปรที่คั่นด้วยเครื่องหมายจุลภาค) และดึงกราฟจากผลลัพธ์ใน Excel
ใช้เวลาประมาณสามนาทีในการนำชุดออกจากตู้เย็นก่อนที่จะบันทึกผลลัพธ์ ดังนั้นอุณหภูมิบางส่วนจึงสูงขึ้นในช่วงเวลานี้ ฉันสงสัยว่าเซ็นเซอร์ทั้งสี่ตัวมีความจุความร้อนต่างกัน ดังนั้นจะอุ่นขึ้นในอัตราที่ต่างกัน อัตราการอุ่นจะลดลงเมื่อเซ็นเซอร์เข้าใกล้อุณหภูมิห้อง ฉันบันทึกสิ่งนี้ไว้ที่ 24.4°C ด้วยเทอร์โมมิเตอร์แบบปรอทของฉัน
ความแตกต่างอย่างมากของอุณหภูมิที่จุดเริ่มต้นของเส้นโค้งอาจขึ้นอยู่กับความจุความร้อนที่แตกต่างกันของเซ็นเซอร์ ฉันดีใจที่เห็นว่าเส้นเหล่านี้มาบรรจบกันจนสุดเมื่อเข้าใกล้อุณหภูมิห้อง ฉันกังวลว่า TMP36 จะสูงกว่าเซ็นเซอร์อื่นๆ เสมอ
ฉันค้นหาแผ่นข้อมูลเพื่อตรวจสอบความถูกต้องที่อธิบายไว้ของอุปกรณ์เหล่านี้อีกครั้ง
TMP36
- ±2°C ความแม่นยำเหนืออุณหภูมิ (ทั่วไป)
- ±0.5°C เชิงเส้น (ทั่วไป)
DS18B20
ความแม่นยำ ±0.5°C ตั้งแต่ -10°C ถึง +85°C
DHT22
อุณหภูมิ ±0.5°C
BME680
อุณหภูมิที่มีความแม่นยำ ±1.0°C
ขั้นตอนที่ 14: กราฟเต็ม
ตอนนี้คุณสามารถเห็นได้ว่าในที่สุดเซ็นเซอร์ก็ลดระดับและเห็นด้วยกับอุณหภูมิไม่มากก็น้อยภายในความแม่นยำที่อธิบายไว้ หากนำค่า TMP36 ออก 1.7 องศา (คาดว่า±2°C) แสดงว่าเซ็นเซอร์ทั้งหมดมีความสอดคล้องกันเป็นอย่างดี
ครั้งแรกที่ฉันทำการทดลองนี้ เซ็นเซอร์ DHT22 ทำให้เกิดปัญหา:
เอาต์พุต main.py:
14.9, 13.5, 10.3, 13.7
15.7, 14.6, 10.5, 14.0
16.6, 15.6, 12.0, 14.4
18.2, 16.7, 13.0, 15.0
18.8, 17.6, 14.0, 15.6
19.8, 18.4, 14.8, 16.2
21.1, 18.7, 15.5, 16.9
21.7, 19.6, 16.0, 17.5
22.4, 20.2, 16.5, 18.1
23.0, 20.7, 17.1, 18.7
ข้อผิดพลาดในการอ่าน DHT: ('ไม่พบเซ็นเซอร์ DHT ตรวจสอบการเดินสาย',)
Traceback (การโทรล่าสุดล่าสุด):
ไฟล์ "main.py" บรรทัดที่ 64 ใน
ไฟล์ "main.py" บรรทัดที่ 59 ใน get_dht22
NameError: ตัวแปรโลคัลอ้างอิงก่อนกำหนด
ดังนั้นฉันจึงแก้ไขสคริปต์เพื่อจัดการกับปัญหานี้และเริ่มการบันทึกใหม่:
ข้อผิดพลาดในการอ่าน DHT: ('ไม่พบเซ็นเซอร์ DHT ตรวจสอบการเดินสาย',)
25.9, 22.6, -999.0, 22.6
ข้อผิดพลาดในการอ่าน DHT: ('ไม่พบเซ็นเซอร์ DHT ตรวจสอบการเดินสาย',)
25.9, 22.8, -999.0, 22.7
25.9, 22.9, 22.1, 22.8
25.9, 22.9, 22.2, 22.9
ข้อผิดพลาดในการอ่าน DHT: ('ไม่พบเซ็นเซอร์ DHT ตรวจสอบการเดินสาย',)
27.1, 23.0, -999.0, 23.0
ข้อผิดพลาดในการอ่าน DHT: ('ไม่พบเซ็นเซอร์ DHT ตรวจสอบการเดินสาย',)
27.2, 23.0, -999.0, 23.1
25.9, 23.3, 22.6, 23.2
ข้อผิดพลาดในการอ่าน DHT: ('ไม่พบเซ็นเซอร์ DHT ตรวจสอบการเดินสาย',)
28.4, 23.2, -999.0, 23.3
ข้อผิดพลาดในการอ่าน DHT: ('ไม่พบเซ็นเซอร์ DHT ตรวจสอบการเดินสาย',)
26.8, 23.1, -999.0, 23.3
26.5, 23.2, 23.0, 23.4
26.4, 23.3, 23.0, 23.5
26.4, 23.4, 23.1, 23.5
26.2, 23.3, 23.1, 23.6
ฉันไม่มีปัญหากับการวิ่งครั้งที่สอง เอกสารของ Adafruit เตือนว่าบางครั้งเซ็นเซอร์ DHT จะอ่านพลาด
ขั้นตอนที่ 15: บทสรุป
เส้นโค้งนี้แสดงให้เห็นอย่างชัดเจนว่าความจุความร้อนที่สูงขึ้นของเซ็นเซอร์บางตัวจะเพิ่มเวลาตอบสนองของเซ็นเซอร์
เซ็นเซอร์ทั้งหมดบันทึกอุณหภูมิที่เพิ่มขึ้นและลดลง
พวกเขาไม่สามารถปรับตัวให้เข้ากับอุณหภูมิใหม่ได้อย่างรวดเร็ว
พวกเขาไม่ถูกต้องมาก (ดีพอสำหรับสถานีตรวจอากาศหรือไม่)
คุณอาจต้องสอบเทียบเซ็นเซอร์ของคุณกับเทอร์โมมิเตอร์ที่เชื่อถือได้
แนะนำ:
DIY 37 Leds เกมรูเล็ต Arduino: 3 ขั้นตอน (พร้อมรูปภาพ)
DIY 37 Leds เกมรูเล็ต Arduino: รูเล็ตเป็นเกมคาสิโนที่ตั้งชื่อตามคำภาษาฝรั่งเศสหมายถึงวงล้อเล็ก
หมวกนิรภัย Covid ส่วนที่ 1: บทนำสู่ Tinkercad Circuits!: 20 ขั้นตอน (พร้อมรูปภาพ)
Covid Safety Helmet ตอนที่ 1: บทนำสู่ Tinkercad Circuits!: สวัสดีเพื่อน ๆ ในชุดสองตอนนี้ เราจะเรียนรู้วิธีใช้วงจรของ Tinkercad - เครื่องมือที่สนุก ทรงพลัง และให้ความรู้สำหรับการเรียนรู้เกี่ยวกับวิธีการทำงานของวงจร! หนึ่งในวิธีที่ดีที่สุดในการเรียนรู้คือการทำ ดังนั้น อันดับแรก เราจะออกแบบโครงการของเราเอง: th
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): 6 ขั้นตอน (พร้อมรูปภาพ)
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): การชาร์จแบบเหนี่ยวนำ (เรียกอีกอย่างว่าการชาร์จแบบไร้สายหรือการชาร์จแบบไร้สาย) เป็นการถ่ายโอนพลังงานแบบไร้สาย ใช้การเหนี่ยวนำแม่เหล็กไฟฟ้าเพื่อจ่ายกระแสไฟฟ้าให้กับอุปกรณ์พกพา แอปพลิเคชั่นที่พบบ่อยที่สุดคือ Qi Wireless Charging st
4 ขั้นตอน Digital Sequencer: 19 ขั้นตอน (พร้อมรูปภาพ)
4 ขั้นตอน Digital Sequencer: CPE 133, Cal Poly San Luis Obispo ผู้สร้างโปรเจ็กต์: Jayson Johnston และ Bjorn Nelson ในอุตสาหกรรมเพลงในปัจจุบัน ซึ่งเป็นหนึ่งใน “instruments” เป็นเครื่องสังเคราะห์เสียงดิจิตอล ดนตรีทุกประเภท ตั้งแต่ฮิปฮอป ป๊อป และอีฟ
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: 13 ขั้นตอน (พร้อมรูปภาพ)
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: ทำป้ายโฆษณาแบบพกพาราคาถูกด้วยตัวเอง ด้วยป้ายนี้ คุณสามารถแสดงข้อความหรือโลโก้ของคุณได้ทุกที่ทั่วทั้งเมือง คำแนะนำนี้เป็นการตอบสนองต่อ/ปรับปรุง/เปลี่ยนแปลงของ: https://www.instructables.com/id/Low-Cost-Illuminated-