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

skillsiot

if/else และปุ่มกดตัวแรก

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

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

  • เขียน if/else ตามค่าที่อ่านจากขา
  • ต่อปุ่มสี่ขาให้ถูกคู่
  • อธิบายว่าทำไมปุ่มที่ไม่ได้กดยังให้ค่าที่แน่นอนได้

1. เงื่อนไขคือทางแยก

if (pressed) { ... } else { ... } คือการบอกโปรแกรมว่าให้ทำอย่างหนึ่งเมื่อจริง และอีกอย่างเมื่อเท็จ ทุกอย่างที่ซับซ้อนกว่านี้สร้างจากทางแยกเล็ก ๆ แบบนี้ต่อกัน

2. ปุ่มสี่ขาไม่ได้มีสี่ขั้ว

ปุ่มกดแบบนี้มีขาเป็นคู่ที่ต่อถึงกันอยู่แล้วภายใน A1 กับ A2 เป็นคู่เดียวกัน B1 กับ B2 อีกคู่ การกดคือการเชื่อมสองคู่เข้าด้วยกัน ถ้าเสียบผิดคู่ วงจรจะต่อถึงกันตลอดเวลา

3. อ่านค่าตอนยังไม่กด

ใช้ pinMode(2, INPUT_PULLUP) แล้วขาจะถูกดึงขึ้นสูงเมื่อไม่มีใครกด เมื่อกดแล้วต่อลงกราวด์ ค่าจะกลายเป็นต่ำ สังเกตว่ามันกลับด้านกับที่คิดตอนแรก บทถัดไปจะอธิบายว่าทำไม

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

กดปุ่มแล้ว digitalRead ให้ค่าอะไร เมื่อใช้ INPUT_PULLUP

ลงมือทำ

ลงมือทำ

ใช้ if/else ตัดสินใจจากค่าที่อ่านได้ แล้วให้ไฟสะท้อนสถานะปุ่มทันที

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