if/else และปุ่มกดตัวแรก
โปรแกรมที่ตัดสินใจได้ต้องมีเงื่อนไข และปุ่มกดคืออินพุตแรกที่ทำให้โปรแกรมตอบสนองต่อโลกภายนอก
ในบทนี้คุณจะ
- เขียน if/else ตามค่าที่อ่านจากขา
- ต่อปุ่มสี่ขาให้ถูกคู่
- อธิบายว่าทำไมปุ่มที่ไม่ได้กดยังให้ค่าที่แน่นอนได้
1. เงื่อนไขคือทางแยก
if (pressed) { ... } else { ... } คือการบอกโปรแกรมว่าให้ทำอย่างหนึ่งเมื่อจริง และอีกอย่างเมื่อเท็จ ทุกอย่างที่ซับซ้อนกว่านี้สร้างจากทางแยกเล็ก ๆ แบบนี้ต่อกัน
2. ปุ่มสี่ขาไม่ได้มีสี่ขั้ว
ปุ่มกดแบบนี้มีขาเป็นคู่ที่ต่อถึงกันอยู่แล้วภายใน A1 กับ A2 เป็นคู่เดียวกัน B1 กับ B2 อีกคู่ การกดคือการเชื่อมสองคู่เข้าด้วยกัน ถ้าเสียบผิดคู่ วงจรจะต่อถึงกันตลอดเวลา
3. อ่านค่าตอนยังไม่กด
ใช้ pinMode(2, INPUT_PULLUP) แล้วขาจะถูกดึงขึ้นสูงเมื่อไม่มีใครกด เมื่อกดแล้วต่อลงกราวด์ ค่าจะกลายเป็นต่ำ สังเกตว่ามันกลับด้านกับที่คิดตอนแรก บทถัดไปจะอธิบายว่าทำไม
ตรวจความเข้าใจ
กดปุ่มแล้ว digitalRead ให้ค่าอะไร เมื่อใช้ INPUT_PULLUP
ลงมือทำ
ใช้ if/else ตัดสินใจจากค่าที่อ่านได้ แล้วให้ไฟสะท้อนสถานะปุ่มทันที
เริ่มแล็บใน StudioStudio จะเปิดวงจรเริ่มต้นของบทนี้ พร้อมคำใบ้ เฉลย และการตรวจคำตอบจากค่าที่วัดได้