ໂຄມໄຟນອນເປີດອັດຕະໂນມັດເມື່ອມີຄົນ (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 ລະດັບລອຈິກ (ເຊັ່ນ 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);
}

ແມ່ແບບໃນກຸ່ມດຽວກັນ

ຊັ້ນວາງປຶ້ມໄມ້ຕິດຝາ 3 ຊັ້ນ
ຟຣີCSV

ຊັ້ນວາງປຶ້ມໄມ້ຕິດຝາ 3 ຊັ້ນ

ເຮັດຊັ້ນວາງປຶ້ມໄມ້ຕິດຝາ 3 ຊັ້ນ 800×600 mm ດ້ວຍຕົນເອງ: ລາຍການຕັດແຜ່ນໄມ້, ເຄື່ອງມື, ຂັ້ນຕອນປະກອບ ແລະ ແຂວນໃຫ້ແໜ້ນໜາ. ດາວໂຫຼດ CSV ຟຣີ.

🛠️ DIY – ເຮັດເອງ