กลับไปหน้ารวมไฟล์
automatic-motion-triggered-street-light-86861b.md

นี่เป็นโปรเจกต์ที่พี่ทำไว้เมื่อ 5 ปีก่อน ไอเดียเกิดจากพ่อพี่และแม่ของเพื่อนพี่ ตอนนั้นพี่กับพ่อเจอปัญหาตอนเดินอยู่บนถนนที่รถติดเชียวๆ ตอนกลางวันแดดเปรี้ยงๆ แต่ดันมีไฟถนนเปิดทิ้งไว้ นั่นแหละที่ทำให้พ่อพี่คิดไอเดียนี้ขึ้นมา ผ่านมาอีกปี แม่เพื่อนพี่ก็มาบ่นให้ฟังว่า ตอนกลางคืนดึกๆ ไม่มีใครใช้ถนนหรอก เปิดไฟทิ้งไว้ทำไม มันเลยเป็นแรงบันดาลใจให้พี่ลงมือสร้างสิ่งนี้ขึ้นมาจริงจัง

Smart Urban Illumination: ระบบไฟถนนอัตโนมัติด้วย PIR

การปล่อยให้ไฟถนนของเทศบาลสว่างจ้าทั้งที่ถนนว่างเปล่า เป็นการสิ้นเปลืองพลังงานอย่างมหาศาล โปรเจกต์ Motion Triggered Street Light นี้เลียนแบบโครงสร้างพื้นฐานสมาร์ทซิตี้ระดับสูง ระบบใช้เซนเซอร์ PIR (Passive Infrared) ในการตรวจจับการเคลื่อนไหว เมื่อมีวัตถุที่มีความร้อน เช่น คนหรือรถยนต์ เคลื่อนที่ผ่านเขตตรวจจับ เซนเซอร์จะส่งสัญญาณให้ Arduino เปิดไฟทันที

วงจรนี้เรียบง่ายมาก มีเซนเซอร์แค่ 2 ตัว คือ PIR กับ LDR พี่ไปเจอโปรแกรมที่ใช้เซนเซอร์ PIR กับ LDR ตามเว็บมา แต่มันไม่ได้ถูกออกแบบมาให้ทำแบบที่พี่บอกนี่แหละ ดังนั้น พี่ก็แค่ต้องปรับโค้ดบางส่วนเพื่อสร้างสิ่งนี้ขึ้นมา สิ่งที่โค้ดทำโดยพื้นฐานคือ เรามีเซนเซอร์สองตัวทำงานเป็นอินพุต เพื่อให้ระบบทำงาน พี่โปรแกรม Arduino ให้เปิดไฟก็ต่อเมื่อเซนเซอร์ทั้งสองตัวบอกให้เปิด นั่นคือ LDR ไม่ตรวจจับแสง (มืด) และเซนเซอร์ PIR ตรวจจับการเคลื่อนไหว

ดังนั้น ตอนนี้ไฟถนนจะไม่ถูกเปิดทิ้งไว้ตอนกลางวันอีกแล้ว (เพราะถึงแม้ PIR จะตรวจจับได้ แต่ LDR ดันเห็นแสงอยู่) และแม้แต่ตอนกลางคืน ไฟถนนจะสว่างก็ต่อเมื่อมีอะไรอย่างเช่น คนหรือสัตว์เดินผ่าน (เพราะเซนเซอร์ทั้งสองต้องเห็นพ้องต้องกัน) สิ่งนี้ไม่เพียงแต่จะช่วยประหยัดพลังงานได้มาก แต่ยังช่วยเหลือสัตว์ป่าอีกด้วย

การใช้เซนเซอร์ไพโรอิเล็กทริก (HC-SR501)

เซนเซอร์ PIR นี้ไม่ต้องใช้ไลบรารีโค้ดใดๆ เลย! มันทำงานบนเอาต์พุตฮาร์ดแวร์ดิบๆ โดยสมบูรณ์!

  1. เลนส์เฟรสเนล (Fresnel lens) สีขาวรูปทรงหลายเหลี่ยม จะแบ่งพื้นที่บนถนนออกเป็นส่วนๆ เล็กๆ สำหรับตรวจจับความร้อน
  2. ร่างกายมนุษย์ที่มีความร้อนเดินผ่านส่วนเหล่านี้ จะทำให้เกิดการเปลี่ยนแปลงแรงดันไฟฟ้าภายในแกนเซมิคอนดักเตอร์
  3. โมดูลจะส่งสัญญาณลอจิก HIGH (3.3V) ออกมาที่ขาดาต้าโดยตรง Arduino ของเราก็อ่านค่าเป็น HIGH ได้อย่างสมบูรณ์แบบ!
int pirSensor = 2; // Physical PIR Trigger input
int streetLight = 9; // PWM enabled LED pin!

void setup() {
  pinMode(pirSensor, INPUT);
  pinMode(streetLight, OUTPUT);
  
  // Wait 30 seconds upon boot for the PIR to map the environment thermally!
  delay(30000); 
}

void loop() {
  int motionDetected = digitalRead(pirSensor);
  
  if (motionDetected == HIGH) {
    // Target acquired! Blast illumination to maximum!
    analogWrite(streetLight, 255); 
  } else {
    // Empty street. Drop to eco-friendly 10% brightness!
    analogWrite(streetLight, 25); 
  }
}

ควบคุมไฟมหาศาลด้วย PWM และ MOSFET

ถ้าน้องอยากจะจ่ายไฟให้กับ โคมไฟ LED Floodlight 12V จริงๆ Arduino ตัวเดียวทำไม่ได้แน่นอน ส่วนรีเลย์แบบกลไกก็ไม่เวิร์ก เพราะมันทำได้แค่เปิด/ปิด เอามา "หรี่ไฟ" ไม่ได้!

  • ระบบนี้ต้องใช้ MOSFET แบบ Logic-Level N-Channel รุ่น IRLZ44N เท่านั้น!
  • Arduino จะส่งสัญญาณ PWM จาก analogWrite() ไปที่ขา Gate ของ MOSFET
  • MOSFET ตัวนี้จะทำหน้าที่เป็นสวิตช์หรี่ไฟแบบ solid-state ที่เร็วปรี๊ด เปิด-ปิดให้กระแสไฟจากแบตเตอรี่ 12V ไหลเข้าสู่โคมไฟได้อย่างแม่นยำ ทำให้เราสามารถสั่งให้ไฟทำงานในโหมดประหยัดพลังงาน (หรี่ 10%) ได้อย่างสมบูรณ์แบบ โดยไม่เปลืองไฟเป็นความร้อน!

อุปกรณ์สำหรับโครงงาน Smart City ระดับเทพ

  • Arduino Uno/Nano (คอยรัน logic หลักตลอดเวลา)
  • เซ็นเซอร์ตรวจจับการเคลื่อนไหว HC-SR501 (ห้ามหันหน้าไปทางแดดจัดเด็ดขาด! เดี๋ยวมันจะร้อนจนตรวจจับอะไรไม่ได้)
  • MOSFET แบบ Logic-Level N-Channel (IRLZ44N) พร้อม ตัวต้านทาน (Resistor) 10K ต่อจากขา Gate ลง Ground เพื่อป้องกันไฟกระพริบตอน Arduino ค้าง!
  • ชุดโคมไฟ LED Floodlight 12V กระแสสูง (สำหรับจำลองแสงสว่างตามถนนจริงๆ)
  • LDR (ตัวต้านทานไวแสง) [อัพเกรดเสริม] (ต่อ LDR เข้าไป ระบบจะได้ไม่สั่งเปิดไฟตอนกลางวัน แบบนี้ประหยัดไฟสุดๆ!)

ข้อมูล Frontmatter ดั้งเดิม

apps:
  - "1x Arduino IDE"
author: "ReddSathvik"
category: "Sensors & Environment"
components:
  - "1x PIR Sensor, 7 m"
  - "1x Arduino UNO"
  - "1x Relay (generic)"
  - "1x LDR, 5 Mohm"
description: "Municipal energy conservation! Integrate passive infrared biology detectors natively with high-power solid-state relays, forcing massive streetward illumination to trigger exclusively upon physical thermodynamic human anomalies."
difficulty: "Beginner"
documentationLinks: []
downloadableFiles: []
encryptedPayload: "U2FsdGVkX1+YfKqClx4+AVDdCLfnvZsM5MjdKbx30Mi5DjUycKgzwiyaUWQvO55/UTscxTiYt+svKfXOgjoh4i/Y+7XC6cC3d63iuqArlUE="
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/automatic-motion-triggered-street-light-86861b_cover.jpg"
lang: "en"
likes: 9
passwordHash: "8de7ff92ad3f98cc7b994d2d7a1bf065331f0b381dd908af4c45f428f66c3a03"
price: 1120
seoDescription: "Build an Automatic Motion Triggered Street Light. A highly economic and cost-effective lighting system using Arduino."
tags:
  - "lights"
  - "energy efficiency"
  - "greener planet"
title: "Automatic Motion Triggered Street Light"
tools: []
videoLinks:
  - "https://www.youtube.com/embed/ynxRJyJiUR4"
views: 17909