วงจรหรี่ไฟถนนอัตโนมัติ

ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา





ในโพสต์นี้เราจะสร้างวงจรหรี่ไฟถนนอัตโนมัติ Arduino ซึ่งสามารถลดความสว่างเมื่อไม่มีรถแล่นผ่านถนนเพื่อประหยัดพลังงาน

โดย



ภาพรวม

เราจะสำรวจวิธีการตรวจจับยานพาหนะหรือมนุษย์โดยไม่มีการตรวจจับที่ผิดพลาดซึ่งอาจเกิดขึ้นเนื่องจากสัตว์และยังมีโปรโตคอลสำหรับการลดแสงโดยไม่ต้องสิ้นเปลืองพลังงาน

ไฟถนนช่วยให้ยานพาหนะนำทางไปตามถนนได้ แต่ในช่วงดึกถนนส่วนใหญ่จะว่างเปล่าและยังคงมีไฟถนนทั้งหมดส่องสว่างจนถึงเช้า



เนื่องจากการส่องไฟถนนตลอดทั้งคืนแม้ว่าถนนจะว่างเปล่าจึงไม่คุ้มที่จะจุดโคมไฟถนนและค่าใช้จ่ายเนื่องจากการใช้พลังงานส่งผลโดยตรงต่อรัฐบาลท้องถิ่น

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

วิธีนี้อาจช่วยให้รัฐบาลลดการใช้จ่ายด้านพลังงานและยังประหยัดพลังงานได้มากซึ่งสามารถนำไปใช้เพื่อวัตถุประสงค์อื่น ๆ ที่ต้องการพลังงานได้

แนวคิดที่เสนอให้ตรวจจับกิจกรรมบนท้องถนนใช้เซ็นเซอร์อัลตราโซนิกซึ่งสามารถวัดระยะห่างระหว่างเซ็นเซอร์และสิ่งกีดขวางในกรณีนี้สิ่งกีดขวางคือยานพาหนะหรือมนุษย์

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

ไฟถนนจะส่องสว่างที่ความสว่างสูงสุดตามระยะเวลาที่กำหนดไว้ล่วงหน้าและลดความสว่างลงหากไม่มีการตรวจพบยานพาหนะหรือมนุษย์อีก

ถึงตอนนี้วัตถุประสงค์ของโครงการนี้จะถูกยกเลิก มาดูวงจรของการตั้งค่าที่นำเสนอกัน

การทำงานของวงจร

วงจรหรี่ไฟถนนอัตโนมัติ

วงจรหรี่ไฟถนนอัตโนมัติประกอบด้วย Arduino ซึ่งเป็นสมองของโครงการเซ็นเซอร์อัลตราโซนิกสำหรับตรวจจับยานพาหนะหรือมนุษย์ ตัวควบคุม 9V มีไว้สำหรับจ่ายไฟให้กับบอร์ดไมโครคอนโทรลเลอร์ arduino และ MOSFET สำหรับการขับ LED ซึ่งกินไฟเพียงไม่กี่แอมแปร์ที่ความสว่างสูงสุด

ต้องเลือกโมดูล LED และแหล่งจ่ายไฟสำหรับการตั้งค่าอย่างระมัดระวังเพื่อให้มีพลังงานเพียงพอสำหรับทั้งวงจรและไม่ใช้แหล่งจ่ายไฟมากเกินไป

โมดูล LED สามารถเป็นโมดูลแบบโฮมเมดซึ่งแสดงในแผนผังหรืออาจซื้อได้ในตลาด แต่ก่อนที่จะสร้างหรือรับตลาดรูปแบบหนึ่งโปรดคำนวณแรงดันไฟฟ้าและความต้องการกระแสสำหรับแหล่งจ่ายไฟ

แหล่งจ่ายไฟอาจเป็น SMPS หรือสร้างโดยใช้หม้อแปลงวงจรเรียงกระแสและตัวควบคุมแรงดันไฟฟ้า

LED ลดความสว่างโดยใช้ PWM PWM เป็นคลื่นสี่เหลี่ยมเปิดและปิดการจ่ายไฟให้กับ LED อย่างรวดเร็วโดยมีการกำหนดความกว้างในการเปิดและปิดอย่างดีในรอบเดียว ความกว้างของเวลาเปิดและปิดจะกำหนดความสว่างของ LED

เมื่อไฟถนนเปลี่ยนเป็นความสว่างเต็มที่แหล่งจ่ายไปยัง LED จะไม่มีพัลส์และจะจ่าย DC คงที่

การตั้งค่าทั้งหมดสามารถดำเนินการได้ดังที่แสดงด้านล่าง:

แผนภาพการตั้งค่า

เซ็นเซอร์อัลตราโซนิกสูงจากพื้นประมาณ 3.5 ฟุตถึง 4 ฟุต-

เซ็นเซอร์อัลตร้าโซนิคถูกยกขึ้นเหนือพื้นประมาณ 3.5 ฟุตถึง 4 ฟุตซึ่งทำขึ้นเพื่อให้ตรวจจับยานพาหนะและมนุษย์เท่านั้นเนื่องจากความสูงเฉลี่ยอยู่ที่ประมาณเดียวกันและเมื่อสุนัขหรือแมวหรือสัตว์อื่น ๆ ซึ่งมักจะเดินเตร่ไปทั่วเมือง ไม่ทำให้ไฟถนนมีความสว่างสูงสุด

สัตว์ที่อาศัยและท่องไปทั่วเมืองมีความสูงต่ำกว่า 3.5 ฟุต

ความสูงของเซ็นเซอร์อาจถูกปรับให้ทำงานในระดับที่เหมาะสมตามที่อธิบายไว้ในภาพด้านบน

ระยะเกณฑ์สามารถควบคุมได้ในโปรแกรม

เมื่อ Arduino ตรวจพบสิ่งกีดขวางที่ตรวจพบต่ำกว่าระยะที่กำหนดไว้ล่วงหน้าไฟ LED จะมีความสว่างสูงสุด

รหัสโปรแกรม:

//--------------------Program developed by R.Girish-------------------//
const int trigger = A1
const int echo = A2
int vcc = A0
int gnd = A3
int LED = 3
long Time
float distanceCM
float distanceM
float distance = 100 // set threshold distance in cm
int dim = 28 // adjust minimum brightness
int bright = 255 // adjust maximum brightness
float resultCM
float resultM
void setup()
{
pinMode(LED,OUTPUT)
pinMode(trigger,OUTPUT)
pinMode(echo,INPUT)
pinMode(vcc,OUTPUT)
pinMode(gnd,OUTPUT)
Serial.begin(9600)
}
void loop()
{
digitalWrite(vcc,HIGH)
digitalWrite(gnd,LOW)
digitalWrite(trigger,LOW)
delay(1)
digitalWrite(trigger,HIGH)
delayMicroseconds(10)
digitalWrite(trigger,LOW)
Time=pulseIn(echo,HIGH)
distanceCM=Time*0.034
resultCM=distanceCM/2
resultM=resultCM/100
Serial.print('Distance in cm: ')
Serial.println(resultCM)
Serial.print('Distance in meter: ')
Serial.println(resultM)
Serial.println('------------------------------------------')
if(resultCM<=distance)
{
analogWrite(LED, bright)
delay(10000)
}
if(resultCM>=distance)
{
analogWrite(LED,dim)
}
delay(100)
}
//-----------------Program developed by R.Girish-------------------//

บันทึก:

•สามารถปรับระยะเกณฑ์ได้โดยการแทนที่ค่าด้วยค่าของคุณเอง

ระยะลอย = 100 // กำหนดระยะทางเป็นซม

ต้องป้อนค่าเป็นเซนติเมตรค่าสูงสุดคือ 400 ถึง 500 ซม. หรือ 4 ถึง 5 เมตร

•สามารถปรับการหรี่แสงได้โดยใช้

int dim = 28 // ปรับความสว่างขั้นต่ำ

255 คือความสว่างสูงสุด 0 คือปิดไฟ

นอกจากนี้เรายังสามารถเห็นระยะห่างระหว่างเซ็นเซอร์และสิ่งกีดขวางในจอภาพอนุกรม

ระยะห่างระหว่างเซ็นเซอร์และสิ่งกีดขวางในจอภาพแบบอนุกรม

หากคุณมีคำถามเพิ่มเติมเกี่ยวกับวงจรหรี่ไฟถนนอัตโนมัติที่ใช้ Arduino อย่าลังเลที่จะถามในส่วนความคิดเห็น




คู่ของ: เครื่องทำความร้อนแบบเหนี่ยวนำสำหรับห้องปฏิบัติการและร้านค้า ถัดไป: วงจรแอปพลิเคชันยิมฟิตเนสที่ควบคุมด้วยตัวจับเวลา