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

skillsiot

ทำไมกดแล้วได้ LOW

ขาที่ไม่มีอะไรต่ออยู่ไม่ได้เป็นศูนย์ มันลอย และตัวต้านทานดึงขึ้นคือสิ่งที่ทำให้ค่าแน่นอน

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

  • อธิบายว่าขาลอยต่างจากขาที่เป็นศูนย์อย่างไร
  • บอกหน้าที่ของตัวต้านทานดึงขึ้นภายใน
  • อ่านตรรกะแบบ active-low ได้โดยไม่สับสน

1. ขาลอยไม่ได้แปลว่าศูนย์

ขาที่ไม่ได้ต่ออะไรเลยจะรับสัญญาณรบกวนจากรอบตัว อ่านค่าได้เดี๋ยวสูงเดี๋ยวต่ำแบบสุ่ม ในตัวจำลองนี้จะรายงานว่าเป็นค่าไม่แน่นอน ไม่ใช่แกล้งบอกว่าเป็นศูนย์

2. ตัวต้านทานดึงขึ้นทำให้มีคำตอบเสมอ

INPUT_PULLUP เปิดตัวต้านทานในตัวชิปที่ดึงขาขึ้นไปหา 5 V เบา ๆ เมื่อไม่มีใครกด ขาจึงเป็นสูงอย่างแน่นอน พอกดปุ่มต่อลงกราวด์ กราวด์ชนะเพราะแรงกว่ามาก ค่าจึงเป็นต่ำ

3. active-low คือคำที่ใช้เรียก

ระบบที่ "เหตุการณ์เกิด" หมายถึงสัญญาณเป็นต่ำ เรียกว่า active-low พบได้ทั่วไปมากในงานจริง เขียน bool pressed = digitalRead(2) == LOW; ไว้บรรทัดเดียว แล้วส่วนที่เหลือของโปรแกรมจะอ่านเป็นภาษาปกติ

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

ถ้าใช้ INPUT ธรรมดาแทน INPUT_PULLUP และไม่ต่อตัวต้านทานเอง จะเกิดอะไรขึ้น

ลงมือทำ

ลงมือทำ

ใช้ INPUT_PULLUP แล้วอธิบายว่าทำไมขาถึงอ่านได้สูงตอนที่ยังไม่กด

เริ่มแล็บใน StudioStudio จะเปิดวงจรเริ่มต้นของบทนี้ พร้อมคำใบ้ เฉลย และการตรวจคำตอบจากค่าที่วัดได้