Avtomatsko vezje zatemnitve ulične luči

Preizkusite Naš Instrument Za Odpravo Težav





V tem prispevku bomo zgradili Arduino avtomatsko vezje za zatemnitev ulične luči, ki lahko zmanjša svetlost, ko na cesti ne gre nobeno vozilo za varčevanje z energijo.

Avtor



Pregled

Raziskovali bomo metodologijo zaznavanja vozila ali človeka brez lažnega zaznavanja, ki se lahko zgodi zaradi živali, in tudi protokol za zatemnitev svetlobe brez izgube energije.

Ulične luči vozilom pomagajo pri vodenju po cesti, toda v poznih nočnih urah bo večina cest prazna in še vedno vse ulične luči svetijo do jutra.



Zaradi osvetlitve uličnih luči celo noč, tudi ko je cesta prazna, se ne splača prižgati uličnih svetilk in stroški zaradi porabe energije neposredno vplivajo na lokalno upravo.

Da bi to težavo premagali na pameten način, lahko svetlost uličnih svetilk zmanjšamo na raven želje in v polni svetilnosti osvetlimo le, kadar mimo vozijo vozila ali ljudje.

To lahko vladi pomaga zmanjšati izdatke za električno energijo in prihrani veliko energije, ki bi jo lahko uporabili za druge energetsko zahtevne namene.

Predlagana ideja za zaznavanje dejavnosti na cesti uporablja ultrazvočni senzor, ki lahko meri razdaljo med senzorjem in oviro, v tem primeru ovire predstavljajo vozila ali ljudje.

Ko vozilo doseže doseg senzorja, opravi nekaj matematičnih izračunov, da določi razdaljo med vozili in senzorjem, če je potrjeno, da je vozilo pod vnaprej določenim dosegom, bo vgrajeni mikrokrmilnik prižgal ulično svetilko na največja svetlost.

Ulična luč bo vnaprej določen čas svetila z največjo svetlostjo in zmanjšala svojo svetlost, če ne zaznamo nobenih vozil ali ljudi.

Do zdaj bi se cilj tega projekta očistil. Potopimo se v vezje predlagane postavitve.

Delovanje vezja

Avtomatsko vezje zatemnitve ulične luči

Avtomatsko vezje za zatemnitev ulične svetlobe je sestavljeno iz Arduina, ki je možgan projekta, ultrazvočnega senzorja za zaznavanje vozil ali ljudi. Na voljo je 9V regulator za napajanje plošče mikrokrmilnika arduino in MOSFET za pogon LED, ki pri največji svetlosti porabi nekaj amperov.

Modul LED in napajalnik za nastavitev je treba skrbno izbrati, da bo na voljo dovolj moči za celotno vezje in ne bo preobremenil napajanja.

Modul LED je lahko domač, prikazan je shematsko ali pa ga lahko kupite na trgu, vendar pred izdelavo ali pridobivanjem enega od oblik trga obvezno izračunajte napetost in tok za napajanje.

Napajanje je lahko SMPS ali izdelano s pomočjo transformatorja, usmernika in regulatorja napetosti.

LED z uporabo PWM zmanjša svojo svetlost. PWM je kvadratni val, hitro vklopi in izklopi napajanje LED z dobro določeno širino vklopa in izklopa v enem samem ciklu. Širina časa vklopa in izklopa določa svetlost LED.

Ko se ulična luč preklopi na polno svetlost, napajanje LED ne bo imelo impulzov in bo zagotovljen enakomeren enosmerni tok.

Celotno nastavitev je mogoče izvesti, kot je prikazano spodaj:

Diagram namestitve

ultrazvočni senzor je povišan približno 3,5 ft do 4 ft nad tlemi-

Ultrazvočni senzor je dvignjen približno 3,5 ft do 4 ft nad tlemi, tako da zazna samo vozila in ljudi, saj je njihova povprečna višina približno enaka in ko bodo psi ali mačke ali katere koli druge živali, ki običajno potujejo po mestu, ne sprožite ulične luči na največjo svetlost.

Živali, ki živijo in se sprehajajo po mestu, so visoke manj kot 3,5 metra.

Višino senzorja lahko prilagodite tako, da deluje na optimalni ravni, kot je opisano na zgornji sliki.

Razmerje praga lahko nadzirate v programu.

Ko Arduino zazna oviro, zaznano pod vnaprej določeno razdaljo, lučke LED zasvetijo.

Koda programa:

//--------------------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-------------------//

OPOMBA:

• Mejno razdaljo lahko prilagodite tako, da vrednost zamenjate s svojo vrednostjo.

float distance = 100 // nastavimo mejno razdaljo v cm

Vrednost je treba vnesti v centimetrih, največja vrednost je lahko 400 do 500 cm ali 4 do 5 metrov.

• Zatemnitev svetlobe lahko nastavite z uporabo

int dim = 28 // prilagodi najnižjo svetlost

255 je največja svetlost 0 je izključena luč.

Razdalja med senzorjem in oviro smo lahko tudi na serijskem monitorju.

razdalja med senzorjem in oviro v serijskem monitorju

Če imate dodatna vprašanja glede tega samodejnega vezja za zasenčenje ulične luči, ki temelji na Arduinu, vas prosimo, da vprašate v oddelku za komentarje.




Prejšnja: Indukcijski grelec za laboratorije in trgovine Naprej: Vezje za uporabo telovadnice s krmiljenjem s časovnikom