Automaatne tänavavalguse hämardamise ahel

Automaatne tänavavalguse hämardamise ahel

Selles postituses kavatseme ehitada Arduino automaatse tänavavalguse dimmeri vooluringi, mis võib vähendada selle heledust, kui ükski sõiduk ei liigu maanteel energia säästmiseks.



Kõrval

Ülevaade

Uurime metoodikat, kuidas tajuda sõidukit või inimest ilma loomadelt ilmneda võiva valetuvastuseta, ning ka valguse hämardamise protokolli energiat raiskamata.



Tänavavalgustid aitavad sõidukitel mööda teed suunata, kuid hilisõhtul on enamik teid tühjad ja endiselt põlevad kõik tänavavalgustid hommikuni.

Tänavavalgustite valgustamise tõttu kogu öö ka siis, kui tee on tühi, ei tasu tänavavalgustusid süüdata ja energiatarbimisest tulenevad kulud mõjutavad otseselt kohalikku omavalitsust.



Selle probleemi arukaks lahendamiseks saame vähendada tänavavalgustite heledust soovitasemeni ja valgustada täies heleduses ainult siis, kui sõidukid või inimesed mööduvad.

See võib aidata valitsusel vähendada energiakulusid ja säästa ka palju energiat, mida saaks kasutada muudel energianõudlikel eesmärkidel.

Kavandatud idee maanteel toimuva tegevuse tuvastamiseks kasutab ultraheliandurit, mis võimaldab mõõta anduri ja takistuse vahelist kaugust. Sel juhul on takistuseks sõidukid või inimesed.

Kui sõiduk jõuab anduri ulatusse, teeb see matemaatilisi arvutusi, et määrata kindlaks sõidukite ja anduri vaheline kaugus. Kui sõiduk kinnitatakse allapoole etteantud vahemikku, süttib rongis olev mikrokontroller tänavalaterna maksimaalne heledus.

Tänavavalgustus süttib ettemääratud aja jooksul maksimaalse heledusega ja vähendab selle eredust, kui sõidukeid ega inimesi enam ei tuvastata.

Nüüdseks on selle projekti eesmärk selge. Sukeldume pakutud seadistuse vooluringidesse.

Ahela töö

Automaatne tänavavalguse hämardamise ahel

Automaatne tänavavalguse hämardusahel koosneb projekti ajuks olevast Arduinost, ultraheliandurist sõidukite või inimeste tuvastamiseks. Arduino mikrokontrolleriplaadi toitmiseks on ette nähtud 9V regulaator ja LED-de juhtimiseks MOSFET, mis kulutab tippheledusel vähe amprit.

LED-moodul ja toiteallikas seadistamiseks tuleb hoolikalt valida, et kogu vooluringi jaoks oleks piisavalt energiat ja see ei koormaks toiteallikat.

LED-moodul võib olla omatehtud, mis on näidatud skemaatiliselt või mida saab osta turule, kuid enne ühe turu ehitamist või hankimist arvutage kindlasti toiteallika pinge- ja voolunõuded.

Toiteallikas võib olla SMPS või ehitatud trafo, alaldi ja pinge regulaatori abil.

LED vähendab oma heledust PWM-i abil. PWM on ruutlaine, see lülitab LED-i toitmise kiiresti sisse ja välja, täpselt kindlaksmääratud sisse- ja väljalülituslaiusega ühe tsükliga. Sisse- ja väljalülitusaja laius määrab LED-i heleduse.

Kui tänavavalgustus lülitub täielikule heledusele, ei tooda LED toiteallikaid impulsse ja toide on ühtlane.

Kogu seadistust saab rakendada, nagu allpool näidatud:

Seadistamise skeem

ultraheliandur on maapinnast kõrgemal umbes 3,5 kuni 4 jalga-

Ultraheliandur on maapinnast umbes 3,5–4 jalga kõrgemal. Seda tehakse nii, et see tuvastaks ainult sõidukid ja inimesed, kuna nende keskmine kõrgus on umbes sama ja kui koerad, kassid või muud loomad, kes tavaliselt linnas ringi käivad, ärge käivitage tänavavalgust maksimaalse heledusega.

Linnas elavad ja ringi liikuvad loomad on alla 3,5 jalga pikad.

Anduri kõrgust võib reguleerida optimaalsel tasemel töötamiseks, nagu on kirjeldatud ülaltoodud pildil.

Lävepikkust saab programmis juhtida.

Kui Arduino tuvastab takistuse, mis on tuvastatud etteantud kauguse all, lähevad LED-tuled maksimaalseks heleduseks.

Programmi kood:

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

MÄRGE:

• Künniskaugust saab reguleerida, asendades Väärtuse enda väärtusega.

ujukkaugus = 100 // seatud läve kaugus cm-des

Väärtus tuleb sisestada sentimeetrites, maksimaalne väärtus võib olla 400–500 cm või 4–5 meetrit.

• Valguse tuhmumist saab reguleerida

int dim = 28 // minimaalse heleduse reguleerimine

255 on maksimaalne heledus 0 põleb.

Anduri ja takistuse kaugust võime tunnistada ka seeriamonitoris.

anduri ja takistuse vaheline kaugus seeriamonitoris

Kui teil on selle Arduino-põhise automaatse tänavavalgustuse reguleerimisringi kohta lisaküsimusi, küsige julgelt kommentaaride jaotisest.




Eelmine: Laborite ja kaupluste induktsioonsoojendi Järgmine: Taimeriga juhitav spordisaali rakenduste vooluring