Satura rādītājs:
- 1. darbība: sistēmas melnā kaste
- 2. darbība: sastāvdaļas
- 3. solis: D Flip-flops
- 4. solis: Nosacījumi
- 5. solis: ierobežojumi
- 6. darbība: galvenais avota fails
- 7. solis: montāža
- 8. solis: programmas ielāde
Video: Energoefektīvas kustības aktivizētas ielu gaismas: 8 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:54
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
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
Š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
Č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
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:
Modernizētas skaņas aktivizētas gaismas džekboksā: 4 soļi
Modernizētas skaņas aktivizētas LED gaismas džekboksam: es biju domājis par to, ka kādu laiku, kad es ieraudzīju LED sloksnes ātruma izaicinājumu, vēlos izveidot gaismas, kas ar mūziku savlaicīgi mainītu krāsu, lai pievienotu mūzikas automātu. un tā kā mēs šobrīd esam slēgti, es domāju, ka tas būs
Kustības aktivizēts gaismas slēdzis ar gaismas sensoru: 5 soļi
Kustības aktivizēts gaismas slēdzis ar gaismas sensoru: ar kustību aktivizēts gaismas slēdzis ir daudz pielietojams gan mājās, gan birojā. Tomēr tam ir papildu priekšrocība, iekļaujot gaismas sensoru, lai šī gaisma varētu ieslēgties tikai nakts laikā
Kustības aktivizētas kāpnes: 6 soļi (ar attēliem)
Kustības aktivizētas kāpnes: Jā, es zinu, ko jūs domājat, tas šķiet nedaudz pārspīlēts, bet, pirmkārt, jums nekad nebūs jāuztraucas par to, ka atkal saspiedīsiet kāju pirkstu, un, otrkārt, tas liek tik daudz staigāt augšup un lejup pa kāpnēm jautri, es atklāju, ka eju augšstāvā bez reāla
Gaismas aktivizētas mirgojošas gaismas diodes: 4 soļi
Gaismas aktivizētas mirgojošas gaismas diodes: šajā pamācībā es jums parādīšu, kā salikt kopā mirgojošu LED ķēdi, kas ieslēdzas, kad pamājat ar roku, mirgo sekundi vai divas un pēc tam izdziest. Es saņēmu mirgojošās ķēdes shēmu no Steven123654 instrukcijas
Kustības kontrolēta izeja - no kustības sensora gaismas: 6 soļi
Kustības kontrolēta izeja - no kustības uztveršanas gaismas: Iedomājieties, ka esat viltīgs cilvēks, kas dodas uz visbriesmīgāko kvartāla māju. Pēc tam, kad esat izgājis garām visiem spokiem, spokiem un kapsētām, jūs beidzot nokļūstat pēdējā ceļā. Jūs varat redzēt konfektes bļodā priekšā! Bet tad pēkšņi gho