เดโมนี้เหมาะกับคอมพิวเตอร์ บนมือถือใช้ได้แต่พื้นที่แคบ · This demo is best on a computer; it works on a phone but the workbench is cramped.

skillsiot

สายเส้นเดียวที่ต้องมีตัวต้านทานช่วย

DHT22 คุยผ่านสายเส้นเดียว และไม่มีตัวต้านทาน pull-up อยู่ในตัว ถ้าลืมใส่ สายจะไม่มีระดับให้อ่านเลย

ในบทนี้คุณจะ

  • อธิบายได้ว่าทำไมบัสแบบ open-drain ต้องมีตัวต้านทาน pull-up
  • ต่อ DHT22 สี่ขาโดยไม่ต่อขา NC
  • ส่งสัญญาณเริ่มแล้วปล่อยสายให้เซนเซอร์ตอบ

1. ทำไมต้องมีตัวต้านทาน

สาย DATA เป็นแบบ open-drain หมายความว่าทั้งบอร์ดและเซนเซอร์ "ดึงลงต่ำ" ได้อย่างเดียว ไม่มีใครดันขึ้นสูง ตัวต้านทานต่อไปที่ไฟบวกจึงทำหน้าที่ดันสายขึ้นเมื่อไม่มีใครดึง ถ้าไม่มีมัน สายจะลอยและไม่มีระดับให้ใครอ่าน ผลที่เห็นคือเซนเซอร์เหมือนเสีย ทั้งที่วงจรต่างหากที่ยังไม่ครบ

2. ขา NC ไม่ใช่ขากราวด์สำรอง

เซนเซอร์เปล่ารุ่นสี่ขามีขาหนึ่งที่ไม่ได้ต่อกับอะไรเลยภายใน ห้ามเอาไปต่อกราวด์เพราะคิดว่าเป็นขาว่าง การต่อผิดจุดนี้เป็นความผิดพลาดที่พบบ่อยที่สุดกับอุปกรณ์ตัวนี้

3. จังหวะการคุย

บอร์ดดึงสายลงต่ำอย่างน้อยหนึ่งมิลลิวินาทีเพื่อขอข้อมูล แล้วปล่อยสาย จากนั้นเซนเซอร์จะตอบกลับมาเป็นชุดสัญญาณ สังเกตว่าโค้ดเปลี่ยนโหมดขาจาก OUTPUT เป็น INPUT_PULLUP เพื่อปล่อยสายคืน

ตรวจความเข้าใจ

ถอดตัวต้านทาน pull-up ออก แล้วรันใหม่ จะเกิดอะไรขึ้น