โคมไฟเปิดอัตโนมัติเมื่อมีคน (Arduino)
ฟรีINO

โคมไฟเปิดอัตโนมัติเมื่อมีคน (Arduino)

ทำโคมไฟ LED 5V ด้วยตัวเอง เปิดอัตโนมัติเมื่อมีคนเดินผ่านในที่มืด: Arduino Nano เซนเซอร์ PIR ตัวต้านทานไวแสง มีซอร์สโค้ดฟรี

ไฟล์ดาวน์โหลด

สัญญาอนุญาต CC BY 4.0 — ใช้ได้ฟรี ระบุแหล่งที่มา “OctaX.vn” Demo ในระบบจริงต้องมีบัญชีฟรีจึงจะดาวน์โหลดได้

ต้องการแก้ไขตามต้องการ?

ผู้ช่วย OctaX แก้ไขขนาด เนื้อหา และแบรนด์ตามต้องการ — ประมาณ ≈ 3 เครดิต

✦ ปรับแต่งด้วย AI

ใช้ไฟ 5V เท่านั้น ห้ามต่อเข้ากับไฟบ้าน 220V เองหากไม่มีความเชี่ยวชาญ

วัสดุ

  • Arduino Nano
  • เซนเซอร์ตรวจจับการเคลื่อนไหว PIR HC-SR501
  • ตัวต้านทานไวแสง + ตัวต้านทาน 10 kΩ
  • MOSFET IRLZ44N + ตัวต้านทาน 220 Ω, 100 kΩ
  • แถบไฟ LED 5V (≤ 1 m)
  • แหล่งจ่ายไฟ 5V 2A

ขั้นตอน

  1. ต่อเซนเซอร์ PIR HC-SR501: VCC → 5V, GND → GND, OUT → ขา D2
  2. ต่อตัวต้านทานไวแสงกับตัวต้านทาน 10 kΩ เป็นวงจรแบ่งแรงดันเข้าขา A0
  3. ต่อแถบไฟ LED 5V ผ่าน MOSFET แบบ N-channel ระดับลอจิก (เช่น IRLZ44N): ขา G → D9 ผ่านตัวต้านทาน 220 Ω และเพิ่มตัวต้านทาน 100 kΩ จาก G ลง GND
  4. อัปโหลดซอร์สโค้ด วัดค่า A0 ขณะปิดไฟในห้อง แล้วปรับ NGUONG_TOI ให้เหมาะสม
  5. ใส่ลงในกล่อง หันเซนเซอร์ไปทางทางเดิน สูงจากพื้นประมาณ 30–50 cm

ซอร์สโค้ด

// Đèn ngủ tự bật khi có người trong bóng tối — OctaX.vn (CC BY 4.0)
// Bo: Arduino Nano. PIR → D2, quang trở (cầu chia áp với 10 kΩ) → A0, MOSFET điều khiển dải LED → D9 (PWM).
const int PIN_PIR = 2;
const int PIN_LDR = A0;
const int PIN_LED = 9;
const int NGUONG_TOI = 600;              // A0 lớn hơn ngưỡng này coi là tối (đo thực tế rồi chỉnh)
const unsigned long GIU_SANG = 60000UL;  // giữ đèn sáng 60 giây sau lần cuối thấy người
const int DO_SANG = 140;                 // 0–255: đèn ngủ không cần sáng tối đa

unsigned long lanCuoiCoNguoi = 0;
int doSangHienTai = 0;

void setup() {
  pinMode(PIN_PIR, INPUT);
  pinMode(PIN_LED, OUTPUT);
}

void loop() {
  bool coNguoi = digitalRead(PIN_PIR) == HIGH;
  bool troiToi = analogRead(PIN_LDR) > NGUONG_TOI;

  // Chỉ "ghi nhận có người" khi trời tối, để ban ngày đèn không bật
  if (coNguoi && troiToi) lanCuoiCoNguoi = millis();

  int mucTieu = (lanCuoiCoNguoi && millis() - lanCuoiCoNguoi < GIU_SANG) ? DO_SANG : 0;

  // Sáng/tắt dần cho dịu mắt: mỗi vòng thay đổi 1 nấc
  if (doSangHienTai < mucTieu) doSangHienTai++;
  else if (doSangHienTai > mucTieu) doSangHienTai--;
  analogWrite(PIN_LED, doSangHienTai);
  delay(8);
}

เทมเพลตในกลุ่มเดียวกัน

สถานีวัดอุณหภูมิ – ความชื้น WiFi (ESP32)
ฟรีINO

สถานีวัดอุณหภูมิ – ความชื้น WiFi (ESP32)

ทำสถานีวัดอุณหภูมิและความชื้นด้วยตัวเองโดยใช้ ESP32 และ DHT22 ดูค่าที่วัดได้บนโทรศัพท์ผ่าน WiFi คู่มือทีละขั้นตอน ซอร์สโค้ดฟรี

🛠️ DIY – ทำเอง
ชั้นวางหนังสือไม้แขวนผนัง 3 ชั้น
ฟรีCSV

ชั้นวางหนังสือไม้แขวนผนัง 3 ชั้น

ทำชั้นวางหนังสือไม้แขวนผนัง 3 ชั้น 800×600 mm ด้วยตัวเอง: รายการตัดแผ่นไม้ เครื่องมือ ขั้นตอนประกอบและแขวนให้มั่นคง ดาวน์โหลด CSV ฟรี

🛠️ DIY – ทำเอง