Night light na kusang bumubukas kapag may tao (Arduino)
LibreINO

Night light na kusang bumubukas kapag may tao (Arduino)

Gumawa ng sariling 5V LED night light na kusang bumubukas kapag may dumaan sa dilim: Arduino Nano, PIR sensor, photoresistor. May libreng source code.

Mga file na ida-download

Lisensyang CC BY 4.0 — libreng gamitin, banggitin ang pinagmulang “OctaX.vn”. Demo sa totoong bersyon, kailangan ng libreng account para mag-download.

Gusto ninyong baguhin ayon sa inyong gusto?

Binabago ng OctaX assistant ang sukat, nilalaman, at branding ayon sa request — tantiya ≈ 3 credit.

✦ Pag-customize gamit ang AI

5V power supply lamang ang gamitin. Huwag ikonekta mismo sa 220V na kuryente kung walang sapat na kaalaman.

Mga materyales

  • Arduino Nano
  • PIR motion sensor HC-SR501
  • Photoresistor + 10 kΩ na resistor
  • MOSFET IRLZ44N + resistor 220 Ω, 100 kΩ
  • 5V LED strip (≤ 1 m)
  • 5V 2A power supply

Mga hakbang

  1. Ikonekta ang PIR sensor HC-SR501: VCC → 5V, GND → GND, OUT → pin D2.
  2. Ikonekta ang photoresistor sa 10 kΩ na resistor bilang voltage divider papunta sa pin A0.
  3. Ikonekta ang 5V LED strip sa pamamagitan ng logic-level na N-channel MOSFET (hal. IRLZ44N): gate G → D9 sa pamamagitan ng 220 Ω na resistor, at magdagdag ng 100 kΩ na resistor mula G papuntang GND.
  4. I-upload ang source code, sukatin ang value ng A0 habang nakapatay ang ilaw ng kuwarto, at ayusin ang NGUONG_TOI nang naaayon.
  5. Ilagay sa kahon, itapat ang sensor sa daanan, mga 30–50 cm mula sa sahig.

Source code

// Đè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);
}

Mga template sa parehong grupo

WiFi temperature – humidity station (ESP32)
LibreINO

WiFi temperature – humidity station (ESP32)

Gumawa ng temperature at humidity station gamit ang ESP32 at DHT22, tingnan ang sukat sa telepono gamit ang WiFi. Step-by-step na gabay, libreng source code.

🛠️ DIY – Gawin mo mismo
3-palapag na kahoy na wall shelf
LibreCSV

3-palapag na kahoy na wall shelf

Gumawa ng 3-palapag na kahoy na wall shelf 800×600 mm: cutting list ng tabla, mga gamit, hakbang sa pag-assemble at matibay na pagkabit. Libreng CSV.

🛠️ DIY – Gawin mo mismo