ปัญหา 1
เลือกประเภท
คำสั่งใดที่ใช้สำหรับอ่านสถานะของปุ่มกดจากขา 4
- digitalRead(4);
- digitalWrite(4, HIGH);
- pinMode(4, OUTPUT);
- analogRead(4);
รีเลย์ทำงานด้วยหลักการแม่เหล็กไฟฟ้า โดยใช้กระแสไฟขนาดเล็กควบคุมการเปิด-ปิดวงจรกำลัง ใช้เพื่อแยกวงจรควบคุมกับวงจรกำลัง ปลอดภัยและควบคุมอุปกรณ์กำลังสูงได้
รีเลย์ทำงานด้วยหลักการแม่เหล็กไฟฟ้า โดยใช้กระแสไฟขนาดเล็กควบคุมการเปิด-ปิดวงจรกำลัง ใช้เพื่อแยกวงจรควบคุมกับวงจรกำลัง ปลอดภัยและควบคุมอุปกรณ์กำลังสูงได้
void setup() { pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000); }
void setup() { pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000); }
INPUT คือการกำหนดให้พอร์ตทำหน้าที่รับข้อมูล เช่น จากปุ่มกด OUTPUT คือการกำหนดให้พอร์ตส่งข้อมูลออก เช่น ควบคุมไฟ LED หรือรีเลย์
INPUT คือการกำหนดให้พอร์ตทำหน้าที่รับข้อมูล เช่น จากปุ่มกด OUTPUT คือการกำหนดให้พอร์ตส่งข้อมูลออก เช่น ควบคุมไฟ LED หรือรีเลย์
ใช้ digitalRead() ตรวจสถานะปุ่มกด หากเป็น HIGH ให้สั่ง digitalWrite(relayPin, HIGH); เพื่อให้รีเลย์ทำงาน พร้อมใส่ debounce เพื่อป้องกันการกดซ้ำ
ใช้ digitalRead() ตรวจสถานะปุ่มกด หากเป็น HIGH ให้สั่ง digitalWrite(relayPin, HIGH); เพื่อให้รีเลย์ทำงาน พร้อมใส่ debounce เพื่อป้องกันการกดซ้ำ
delay() ช่วยหน่วงเวลาเพื่อควบคุมจังหวะการทำงาน เช่น การเปิด-ปิด LED หรือรอให้รีเลย์สลับสถานะอย่างเหมาะสม
delay() ช่วยหน่วงเวลาเพื่อควบคุมจังหวะการทำงาน เช่น การเปิด-ปิด LED หรือรอให้รีเลย์สลับสถานะอย่างเหมาะสม
int button = 2; int led = 13; void setup() { pinMode(button, INPUT); pinMode(led, OUTPUT); } void loop() { int state = digitalRead(button); digitalWrite(led, state); }
int button = 2; int led = 13; void setup() { pinMode(button, INPUT); pinMode(led, OUTPUT); } void loop() { int state = digitalRead(button); digitalWrite(led, state); }
มีข้อผิดพลาดเพราะ pinMode(7, INPUT); จะเปลี่ยนขา 7 จาก OUTPUT เป็น INPUT ทำให้ไม่สามารถควบคุม LED หรือรีเลย์ได้ตามต้องการ
มีข้อผิดพลาดเพราะ pinMode(7, INPUT); จะเปลี่ยนขา 7 จาก OUTPUT เป็น INPUT ทำให้ไม่สามารถควบคุม LED หรือรีเลย์ได้ตามต้องการ
GPIO คือพอร์ตที่สามารถตั้งค่าให้เป็น INPUT หรือ OUTPUT ได้ตามต้องการ เช่น ใช้รับค่าจากปุ่ม หรือควบคุมรีเลย์/LED
GPIO คือพอร์ตที่สามารถตั้งค่าให้เป็น INPUT หรือ OUTPUT ได้ตามต้องการ เช่น ใช้รับค่าจากปุ่ม หรือควบคุมรีเลย์/LED
ปัญหา “debounce” เมื่อปุ่มกดแล้วเกิดสัญญาณกระพริบหลายครั้ง ควรหน่วงเวลาเล็กน้อยหลังการอ่านค่าด้วย delay(50) หรือใช้โค้ด debounce
ปัญหา “debounce” เมื่อปุ่มกดแล้วเกิดสัญญาณกระพริบหลายครั้ง ควรหน่วงเวลาเล็กน้อยหลังการอ่านค่าด้วย delay(50) หรือใช้โค้ด debounce
ใช้เซ็นเซอร์วัดอุณหภูมิ (เช่น DHT11) ต่อเข้ากับพอร์ตอินพุต เมื่ออ่านค่า >30°C ให้สั่ง digitalWrite(relayPin, HIGH); เพื่อเปิดรีเลย์ที่ต่อกับพัดลม หากต่ำกว่า 30°C ให้สั่ง LOW เพื่อปิด
ใช้เซ็นเซอร์วัดอุณหภูมิ (เช่น DHT11) ต่อเข้ากับพอร์ตอินพุต เมื่ออ่านค่า >30°C ให้สั่ง digitalWrite(relayPin, HIGH); เพื่อเปิดรีเลย์ที่ต่อกับพัดลม หากต่ำกว่า 30°C ให้สั่ง LOW เพื่อปิด