1. บทนำ
นอกจากการทำให้ LED ติด–ดับแบบอัตโนมัติแล้ว เราสามารถเพิ่ม ปุ่มกด (Push Button) เพื่อให้ผู้ใช้มีปฏิสัมพันธ์กับระบบได้ เช่น เมื่อกดปุ่มแล้วไฟติด ปล่อยแล้วไฟดับ การทดลองนี้จึงเป็นพื้นฐานสำคัญของการเขียนโปรแกรมเชิงโต้ตอบ (Interactive Programming)
2. อุปกรณ์ที่ใช้
- บอร์ด Arduino Nano
- หลอดไฟ LED สีแดง และสีเขียว พร้อมตัวต้านทาน (220–330 Ω)
- ปุ่มกด 2 ตัว (Push Button)
- สายไฟต่อวงจร
3. การต่อวงจร

จากภาพที่นักเรียนเห็น:
- LED แดง ต่อกับขา D2 ของ Arduino
- LED เขียว ต่อกับขา D3
- ปุ่มกดสีเขียว ต่อกับขา D12
- ปุ่มกดสีแดง ต่อกับขา D11
- ขาอีกด้านของปุ่มกดต่อลง GND เพื่อเป็นทางกลับกระแส
- ทั้ง LED มีตัวต้านทานจำกัดกระแสเพื่อป้องกันความเสียหาย
4. ตัวอย่างโค้ด
void setup() {
// กำหนดขาออก (OUTPUT) สำหรับ LED
pinMode(2, OUTPUT); // LED แดง
pinMode(3, OUTPUT); // LED เขียว
// กำหนดขาเข้า (INPUT) สำหรับปุ่มกด
pinMode(12, INPUT); // ปุ่มเขียว
pinMode(11, INPUT); // ปุ่มแดง
}
void loop() {
// ตรวจสอบปุ่มเขียว
if (digitalRead(12) == HIGH) {
digitalWrite(2, HIGH); // LED แดงติด
} else {
digitalWrite(2, LOW); // LED แดงดับ
}
// ตรวจสอบปุ่มแดง
if (digitalRead(11) == HIGH) {
digitalWrite(3, HIGH); // LED เขียวติด
} else {
digitalWrite(3, LOW); // LED เขียวดับ
}
}
5. คำอธิบายโค้ด
pinMode(2, OUTPUT);
และpinMode(3, OUTPUT);
→ กำหนดให้ขา D2 และ D3 เป็นขา Output เพื่อควบคุม LEDpinMode(12, INPUT);
และpinMode(11, INPUT);
→ กำหนดให้ D12 และ D11 เป็น Input สำหรับปุ่มกดif (digitalRead(12) == HIGH)
→ ตรวจสอบว่ามีการกดปุ่ม (ค่าเป็น HIGH)- ถ้ากด → LED ติด
- ถ้าไม่กด → LED ดับ
- การทำงานของปุ่มแดงกับ LED เขียวก็ใช้หลักการเดียวกัน
6. สรุป
จากการทดลองนี้ นักเรียนได้เรียนรู้ว่า:
- การใช้ ปุ่มกด ทำให้ Arduino สามารถรับข้อมูลจากผู้ใช้ได้
- คำสั่ง
digitalRead()
ใช้อ่านค่าจากปุ่มกด - คำสั่ง
digitalWrite()
ใช้ควบคุมสถานะของ LED - เราสามารถขยายความรู้ไปทำโครงงาน เช่น ไฟควบคุมทางม้าลาย, เครื่องเล่นเกมกดปุ่ม, หรือระบบควบคุมง่าย ๆ ในชีวิตประจำวัน