Satura rādītājs:

Energoefektīvas kustības aktivizētas ielu gaismas: 8 soļi
Energoefektīvas kustības aktivizētas ielu gaismas: 8 soļi

Video: Energoefektīvas kustības aktivizētas ielu gaismas: 8 soļi

Video: Energoefektīvas kustības aktivizētas ielu gaismas: 8 soļi
Video: Divstāvu dzīvoklis ar atvērtu terasi - Gudrā Māja no Domintell 2024, Novembris
Anonim
Energoefektīvas kustības aktivizētas ielu gaismas
Energoefektīvas kustības aktivizētas ielu gaismas

Mūsu mērķis ar šo projektu bija radīt kaut ko tādu, kas ļautu ietaupīt kopienu enerģiju un finanšu resursus. Ar kustību aktivizēti ielu lukturi darītu abas šīs lietas. Visā valstī enerģija tiek tērēta ielu apgaismojumam, apgaismojot tukšas ielas. Mūsu ielu apgaismojuma sistēma nodrošina, ka gaismas tiek ieslēgtas tikai tad, kad tas nepieciešams, ietaupot kopienas neskaitāmus dolārus. Izmantojot kustības sensorus, sistēma iedegas gaismas tikai tad, kad atrodas automašīnas. Arī gājēju drošībai mēs ieviesām ignorēšanas pogu, kas ieslēdz visas gaismas uz ielas. Tālāk norādītās darbības palīdzēs jums uzzināt, kā mēs izstrādājām un izveidojām projekta samazināto modeli, izmantojot Vivado un Basys 3 dēli.

1. darbība: sistēmas melnā kaste

Sistēmas melnā kaste
Sistēmas melnā kaste

Mēs sākām šo projektu, uzzīmējot vienkāršu melnās kastes diagrammu. Melnās kastes diagramma vienkārši parāda ieejas un izejas, kas mūsu sistēmai nepieciešamas, lai pabeigtu visus nepieciešamos procesus. Mēs centāmies saglabāt savu dizainu pēc iespējas vienkāršāku un pamatīgāku. Mūsu trīs sistēmas ievades ietvēra kustības sensoru kopni (4 mūsu samazinātajam modelim), gājēju ignorēšanas pogu un pulksteņa ievadi. No otras puses, mūsu vienīgā izeja ir LED gaismas kopne, kas attēlo mūsu ielu apgaismojumu. Šim modelim mēs izmantojām 16 ielu apgaismojuma scenāriju tikai tāpēc, ka tas ir maksimālais iebūvēto LED izeju skaits uz Basys 3 plates. Visbeidzot, izmantojot šo diagrammu, mēs varējām izveidot savus Vivado projekta, avota un ierobežojumu failus ar atbilstošām ievadēm un izejām.

2. darbība: sastāvdaļas

Sastāvdaļas
Sastāvdaļas
Sastāvdaļas
Sastāvdaļas

Šajā solī mēs ienirt dziļāk, pārbaudot komponentus, kas veido mūsu melnās kastes diagrammu. Mūsu pirmā sastāvdaļa ir VHDL avota fails, kas satur D flip-flops. D flip-flops vienkārši uztver jebkuru signālu, kas tiem tiek ievadīts no sensoriem uz pulksteņa augšupejošās malas, un fiksē šos datus līdz nākamajai augošajai malai. Tas pasargā mūsu jutīgos kustības sensorus, lai izejas gaismas diodes "nemirgo". Mēs arī ievietojam vienu D flip-flop uz pogas ievades signāla, lai gaismas diodes degtu apmēram 5-7 sekundes pēc pogas nospiešanas. Mēs to arī skrējām caur pulksteņa dalītāju.

entītija clk_div2 ir osta (clk: in std_logic; sclk: out std_logic); beigas clk_div2;

arhitektūra my_clk_div no clk_div2 ir

nemainīgs max_count: vesels skaitlis: = (300000000); signāls tmp_clk: std_logic: = '0'; sākt my_div: process (clk, tmp_clk) mainīgais div_cnt: vesels skaitlis: = 0; sākt, ja (pieaugošā mala (clk)), tad, ja (div_cnt = MAX_COUNT), tad tmp_clk <= nav tmp_clk; div_cnt: = 0; cits div_cnt: = div_cnt + 1; beigt, ja; beigt, ja; sclk <= tmp_clk; beigt procesu my_div; beigas my_clk_div;

Mūsu pēdējais komponents šajā diagrammā ir uzvedības VHDL avota fails, kas satur izejas nosacījumus, pamatojoties uz ieejas signālu konfigurāciju.

3. solis: D Flip-flops

D Flip-flops
D Flip-flops

Četras flip-flops, kas pievienotas ieejas signāliem, ir būtiskas mūsu sistēmas funkcionalitātei. Kā minēts iepriekš, ar jutīgiem kustības sensoriem un ignorēšanas pogu flip-flops izmanto aizbīdņus, lai ievadītu mūsu ievades signālu tikai pulksteņa augšupejošajā malā. Šī secīgā loģika nozīmē, ka mūsu ielu apgaismojums var palikt ieslēgts noteiktu laiku pēc tam, kad to iedarbina ātra kustība. D-Flip Flop kodēšana ir diezgan vienkārša:

startprocess (CLK) sākas, ja pieaug_mala (CLK), tad Q <= D; beigt, ja; beigu process;

Visu lietu var apkopot vienā paziņojumā. Kad mums bija šis gabals, mēs izveidojām strukturālu VHDL avota failu, kurā bija visi četri nepieciešamie flip-flops:

sākt DFF0: DFF portu karte (CLK => CLK, D => D (0), Q => Q (0)); DFF1: DFF portu karte (CLK => CLK, D => D (1), Q => Q (1)); DFF2: DFF portu karte (CLK => CLK, D => D (2), Q => Q (2)); DFF3: DFF portu karte (CLK => CLK, D => D (3), Q => Q (3));

beigas Uzvedība;

Tas palīdz saglabāt mūsu galveno strukturālo failu, kurā mēs apkopojam visas sistēmas sastāvdaļas daudz tīrāku un sakārtotāku.

4. solis: Nosacījumi

Lai mūsu kods būtu kompakts un efektīvs, mēs visus nosacījumus ierakstījām vienā gadījuma paziņojumā. Mūsu samazinātajam modelim mums bija 16 iespējamās LED izejas konfigurācijas, jo katrs kustības sensors ir atbildīgs par 4 LED grupu.:

gadījums NMS ir, ja "1111" => LED LED LED LED LED LED LED LED LED LED LED LED LED LED LED LED <= "1111111111111111"; beigu korpuss;

5. solis: ierobežojumi

Lai pareizi norādītu savu ievadi un izvadi, izmantojot Vivado, jums jāievieš ierobežojumu fails, kurā norādīti visi izmantotie porti, pogas, gaismas diodes un pulksteņi.

set_property PACKAGE_PIN W5 [get_ports CLK] set_property IOSTANDARD LVCMOS33 [get_ports CLK]

set_property PACKAGE_PIN U16 [get_ports {LED [0]}] set_property IOSTANDARD LVCMOS33 [get_ports {LED [0]}] set_property PACKAGE_PIN E19 [get_ports {LED [1]}] set_property IOSTANDARD LVCMOS33 [get_operty_PACK] LED U19 [get_ports {LED [2]}] set_property IOSTANDARD LVCMOS33 [get_ports {LED [2]}] set_property PACKAGE_PIN V19 [get_ports {LED [3]}] set_property IOSTANDARD LVCMOS33 [get_ports {LED [3]}] set_property WACK get_ports {LED [4]}] set_property IOSTANDARD LVCMOS33 [get_ports {LED [4]}] set_property PACKAGE_PIN U15 [get_ports {LED [5]}] set_property IOSTANDARD LVCMOS33 [get_ports {LED [5]}] set_property U14 [saņemt] LED [6]}] set_property IOSTANDARD LVCMOS33 [get_ports {LED [6]}] set_property PACKAGE_PIN V14 [get_ports {LED [7]}] set_property IOSTANDARD LVCMOS33 [get_ports {LED [7]}] set_property PACKAGE_PIN V13 [8]}] set_property IOSTANDARD LVCMOS33 [get_ports {LED [8]}] set_property PACKAGE_PIN V3 [get_ports {LED [9]}] set_property IO STANDARTS LVCMOS33 [get_ports {LED [9]}] set_property PACKAGE_PIN W3 [get_ports {LED [10]}] set_property IOSTANDARD LVCMOS33 [get_ports {LED [10]}] set_property PACKAGE_PIN U3 [get_ports {LED [LV] iOS_OST] [get_ports {LED [11]}] set_property PACKAGE_PIN P3 [get_ports {LED [12]}] set_property IOSTANDARD LVCMOS33 [get_ports {LED [12]}] set_property PACKAGE_PIN N3 [get_ports {LED [13]}] set_propertyMOS33 [iegūt] {LED [13]}] set_property PACKAGE_PIN P1 [get_ports {LED [14]}] set_property IOSTANDARD LVCMOS33 [get_ports {LED [14]}] set_property PACKAGE_PIN L1 [get_ports {LED [15]}] set_property IOSTANDARD LVCMOS33 [15]}]

set_property PACKAGE_PIN U18 [get_ports BTN] set_property IOSTANDARD LVCMOS33 [get_ports BTN]

set_property PACKAGE_PIN A14 [get_ports {MS [0]}] set_property IOSTANDARD LVCMOS33 [get_ports {MS [0]}] set_property PACKAGE_PIN A16 [get_ports {MS [1]}] set_property IOSTANDARD LVCMOS33 [get_operty_PACK] B15 [get_ports {MS [2]}] set_property IOSTANDARD LVCMOS33 [get_ports {MS [2]}] set_property PACKAGE_PIN B16 [get_ports {MS [3]}] set_property IOSTANDARD LVCMOS33 [get_ports {MS [3]}]

6. darbība: galvenais avota fails

Šajā galvenajā failā mēs apkopojam visus iepriekš minētos komponentu avota failus. Šis fails darbojas kā strukturāls kods, kas apvieno atšķirīgos komponentus.

vienība Master_Final_Project ir osta (BTN: STD_LOGIC; CLK: STD_LOGIC; MS: STD_LOGIC_VECTOR (3 līdz 0); LED: ārpus STD_LOGIC_VECTOR (15 līdz 0)); beigas Master_Final_Project;

arhitektūra Master_Final_Project uzvedība ir

komponents final_project ir ports (-CLK: STD_LOGIC; NMS: STD_LOGIC_VECTOR (3 līdz 0); BTN: STD_LOGIC; --sw: STD_LOGIC_Vector (1 līdz 0); LED: out STD_LOGIC_VECTOR (15 līdz 0)); gala sastāvdaļa;

komponents Final_DFF ir

Ports (CLK: STD_LOGIC; D: STD_LOGIC_Vector (3 līdz 0); Q: out STD_LOGIC_Vector (3 līdz 0)); gala sastāvdaļa;

signāls DFF02proj30: STD_LOGIC;

signāls DFF12proj74: STD_LOGIC; signāls DFF22proj118: STD_LOGIC; signāls DFF32proj1512: STD_LOGIC;

sākt

DFF0: Final_DFF porta karte (CLK => CLK, D (0) => MS (0), D (1) => MS (1), D (2) => MS (2), D (3) => MS (3), Q (0) => DFF02proj30, Q (1) => DFF12proj74, Q (2) => DFF22proj118, Q (3) => DFF32proj1512); Proj0: final_project porta karte (NMS (0) => DFF02proj30, NMS (1) => DFF12proj74, NMS (2) => DFF22proj118, NMS (3) => DFF32proj1512, BTN => BTN, LED => LED); beigas Uzvedība;

7. solis: montāža

Montāža
Montāža
Montāža
Montāža
Montāža
Montāža
Montāža
Montāža

Aparatūras montāža šim projektam ir minimāla. Vienīgie nepieciešamie gabali ir šādi:

1. Basys 3 tāfele (1)

2. Lēti kustības sensori, kas atrodami amazon šeit. (4)

3. Vadi no vīriešiem līdz sievietēm (4)

Montāža:

1. Pievienojiet 4 vīriešu vadus PMod galvenes JB portiem 1-4 (sk. Attēlu).

2. Pievienojiet sieviešu galus pie katra kustības sensora izejas tapas.

8. solis: programmas ielāde

Tagad mēs esam gatavi ielādēt VHDL galvenā avota failu Basys 3 plāksnē. Noteikti palaidiet sintēzi, ieviešanu un ģenerējiet bitu plūsmas pārbaudi, lai konstatētu iespējamās kļūdas. Ja viss darbojas veiksmīgi, atveriet aparatūras pārvaldnieku un ieprogrammējiet Basys 3 ierīci. Jūsu projekts tagad ir pabeigts!

Ieteicams: