Satura rādītājs:
- 1. darbība: taimeris
- 2. darbība: pogu optimizācija
- 3. solis: LED
- 4. solis: augšējais fails
- 5. darbība: ierobežojumu fails
- 6. darbība: PIR kustības sensora savienošana
- 7. solis: LED savienošana ar maizes dēli
- 8. solis: Basys Board savienojumi
Video: Kustības sensora gaismas diode: 8 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Fons:
Vai jūs kādreiz aizmirstat izslēgt gaismu pirms došanās uz klasi vai darbu vai pirms gulētiešanas? Šīs stundas ar ieslēgtām gaismām, kad tās neizmantojat, patiešām var palielināt izmaksas un enerģijas zudumus. Piemēram, saskaņā ar solarcity.com, atstājot gaismas ieslēgtu visu nakti uz nedēļu, jūsu elektrības rēķinam var tikt pievienoti 25 USD! Mūsu CPE133 projektam mēs izstrādājam kustības sensora gaismu, lai palīdzētu cilvēkiem ietaupīt enerģiju savās mājās un efektīvi izmantot gaismas.
Mūsu sistēma praksē:
Praksē gaismas ieslēdzas tikai tad, kad sensors nosaka kustību telpā. Tad gaismas paliks ieslēgtas noteiktu laiku, piemēram, apmēram 30 minūtes, un pēc tam automātiski izslēgsies. Bet pieņemsim, ka jūs vienkārši gājāt cauri vai vēlējāties iziet no istabas agri, pirms bija beidzies noteiktais laiks. Šādos gadījumos mēs uzstādījām pogu, kurā varat manuāli ieslēgt vai izslēgt apgaismojumu. Ņemiet vērā, ka apgaismojums paliks ieslēgts 30 minūtes pat tad, ja apgaismojums tiek ieslēgts manuāli vai automātiski (ja vien gaismas netiek izslēgtas manuāli).
Simulācija uz kuģa:
Lai redzētu, ka taimeris darbojas, mēs nomainījām taimeri uz 1 minūti.
Materiāli:
- 1 Basys dēlis (tādu varat atrast šeit no Digilent)
- 1 PIR kustības sensors (tādu varat atrast šeit Amazon)
- 1 maizes dēlis un komplekts (mēs iesakām izmantot šo no Amazon)
- No iepriekš minētā komplekta
- 1 LED
- 3 kabeļi no sieviešu līdz vīriešiem
- 6 kabeļi no vīriešu līdz vīriešiem
1. darbība: taimeris
Lai gaismas diode paliktu ieslēgta 1 minūti, vispirms jāizveido taimeris. Plātnes Basys 3 iekšējā frekvence ir 100 MHz, tādējādi 100 miljoni ciklu ir vienādi ar 1 sekundi. Pēc tam to izmanto kā mainīgo, kas darbosies kā maksimālais skaitlis “t_cnt”. T_cnt palielinās par 1, kad Basys 3 tāfele pabeidz ciklu. Tiklīdz tas sasniegs 100 miljonu atzīmi, tas tiks atiestatīts, un cits mainīgais “sec” palielināsies par 1. Šis “sec” mainīgais attēlo pagājušo sekunžu skaitu un, kad šis mainīgais ir vienāds ar 60, ir pagājusi pilna minūte.
Nokopējiet zemāk esošo kodu vhdl avota failā ar nosaukumu Taimeris.
entītija COUNT_8B ir
ports (RESET: std_logic;
CLK: std_logic; T: out std_logic: = '0');
beigas COUNT_8B;
arhitektūra my_count no COUNT_8B ir
nemainīgs max_count: vesels skaitlis: = (100000000); -signāla t_cnt: std_logic_vector (7 līdz 0): = "00000000"; signāls t_cnt: vesels skaitlis: = (0); sākt procesu (CLK, RESET, t_cnt) mainīgais sec: vesels skaitlis: = 0; sākt, ja (pieaugošā mala (CLK)), tad, ja (RESET = '1'), tad t_cnt <= (0); - notīriet elsif (t_cnt = max_count), tad- max_count ir 100 miljoni, kas ir vienāds ar 1 sekundi t_cnt <= (0); - Atiestata iekšējo pulksteni uz 0 sek: = sek + 1; - Palielina mūsu “lēno pulksteni” par 1, ja (sek = 60), tad- kad tas sasniedz 60 sekundes, tad tas ir sasniedzis maksimālo laiku sek: = 0; - atiestata "lēno pulksteni" uz 0 T <= '1'; beigt, ja; cits t_cnt <= t_cnt + 1; - palielina iekšējo pulksteni T <= '0'; beigt, ja; beigt, ja; beigu process; end my_count;
2. darbība: pogu optimizācija
Tā kā Basys dēļu frekvence ir tik augsta (ap 100 MHz), nospiežot Basys dēli uz īsu laiku, jūs to nospiežat 100 000 reižu. Tas izraisa gaismas strauju mirgošanu starp ieslēgšanas un izslēgšanas stāvokli. Mēs mēģinājām optimizēt pogu, izveidojot stāvokļa diagrammu, lai samazinātu mirgošanu.
D-flip-flops turēs katru stāvokli, un pēc tam procesa paziņojumā mēs norādīsim stāvokļa pārejas.
Nokopējiet zemāk esošo kodu vhdl avota failā ar nosaukumu Button.
bibliotēka IEEE; izmantojiet IEEE. STD_LOGIC_1164. ALL;
entītijas poga ir
Ports (btn: STD_LOGIC; clk: STD_LOGIC; E: out STD_LOGIC); beigu poga;
arhitektūra Pogas uzvedība ir
tips state_type is (PRESSED, NP); signāls PS, NS: valsts_tips: = NP;
sākt
seq_proc: process (NS, clk) sākas, ja (pieaugošā mala (clk)), tad PS <= NS; beigt, ja; beigu process seq_proc;
ns_proc: process (btn, PS)
sākuma gadījums PS ir tad, kad NP => ja (btn = '1'), tad NS <= PRESSED; E <= '1'; citādi NS <= NP; E ja (btn = '0'), tad NS <= NP; E <= '0'; cits NS <= PRESSED; E <= '0'; beigt, ja; beigu korpuss; beigu process ns_proc;
beigas Uzvedība;
3. solis: LED
LED ir divi stāvokļi: OFF (vai IDLE) un ON. Kā minēts iepriekš, stāvokļi tiek glabāti d-flip-flop. Gaisma iedegsies, ja sensors nosaka kustību (S = 1) vai nospiežot pogu (E = 1). Gaismas diode automātiski izslēgsies, ja taimeris sasniedz 1 minūti (T = 1) vai manuāli, nospiežot pogu (E = 1).
Nokopējiet zemāk esošo kodu vhdl avota failā ar nosaukumu LED.
entītijas motion_sensored_light ir ports (S: STD_LOGIC; - sesnor; ports JA10/Pin G3 E: STD_LOGIC; - ārējā poga manuālai darbībai; Centrālā poga T: STD_LOGIC; - kad taimeris sasniedz maksimālo laiku; No taimera LED: out STD_LOGIC; - gaismas TRST: out STD_LOGIC; - atiestata taimeri clk: STD_LOGIC); - clk par flip flop, kas tur stāvokļus end motion_sensored_light;
arhitektūra Motion_sensored_light uzvedība
tips state_type is (ST0, ST1); --ST0 = IDLE, ST1 = LED HIGH
signāls PS, NS: valsts_tips: = ST0; - PAŠREIZĒJĀ STĀVOKLIS UN NĀKAMĀ STĀVOKLIS, sākas ST0 IDLE
sākt
- flip flop procesa bloks- atjaunina stāvokli pulksteņa augšupejošajā malā seq_proc: process (NS, clk) starts- d flip flop, kurā ir stāvokļi if (pieaugošā mala (clk)), tad PS <= NS; beigt, ja; beigu process seq_proc;
ns_proc: process (S, E, T, PS)
sākuma gadījums PS ir tad, kad ST0 => LED <= '0'; - izejas dīkstāvē TRST <= '1'; ja (S = '0' VAI E = '1'), tad - ievada pāreju no st0 uz st1 NS <= ST1; cits NS LED <= '1'; - izejas uz stāvokli TRST <= '0'; ja (E = '1' VAI T = '1'), tad - ievada pāreju no st1 uz st0 NS <= ST0; citādi NS <= ST1; beigt, ja; beigu korpuss; beigu process ns_proc;
beigas Uzvedība;
4. solis: augšējais fails
Tagad mēs pārvietosim visus pārējos failus vienā.
Nokopējiet zemāk esošo kodu vhdl avota failā ar nosaukumu Top_File.
bibliotēka IEEE; izmantojiet IEEE. STD_LOGIC_1164. ALL;
entītija Top_File ir
Ports (S: STD_LOGIC: = '1'; - sesnor; ports JA10/Pin G3 btn: STD_LOGIC: = '0'; - ārējā poga manuālai darbībai; Centrālās pogas LED: ārpus STD_LOGIC; - gaismas signāls: STD_LOGIC); - clk par flip flop, kas tur stāvokļus un Top_File;
arhitektūra Top_File uzvedība ir
komponents COUNT_8B ir
ports (RESET: in std_logic: = '0'; CLK: in std_logic; T: out std_logic: = '0'); gala sastāvdaļa; komponents motion_sensored_light ir ports (S: STD_LOGIC; - sesnor; ports JA10/Pin G3 E: STD_LOGIC; - ārējā poga manuālai darbībai; Centrālā poga T: STD_LOGIC; - kad taimeris sasniedz maksimālo laiku; No taimera LED: out STD_LOGIC; - gaišais TRST: out STD_LOGIC; - atiestata taimeri clk: STD_LOGIC); - clk flip flop, kas satur stāvokļa beigu komponentu; komponenta poga ir ports (btn: STD_LOGIC; clk: STD_LOGIC; E: out STD_LOGIC); gala sastāvdaļa; signāls t_reaches_c: std_logic; - signāls r_time_c: std_logic; - signāla poga_c: std_logic;
sākt
taimeris: COUNT_8B portu karte (RESET => r_time_c, CLK => CLK, T => t_reyed_c); motion_sensor: motion_sensored_light porta karte (S => S, E => button_c, T => t_reaches_c, LED => LED, TRST => r_time_c, clk => clk); button_controller: pogu portu karte (btn => btn, clk => clk, E => button_c); beigas Uzvedība;
5. darbība: ierobežojumu fails
Tagad mums ir jādefinē, kur mūsu ieejas un izejas būs uz tāfeles.
Nokopējiet zemāk esošo kodu vhdl ierobežojumu failā ar nosaukumu Ierobežojumi.
## Šis fails ir vispārīgs.xdc Basys3 rev B dēlis ## Lai to izmantotu projektā: ## - noņemiet komentārus rindām, kas atbilst izmantotajām tapām ## - pārdēvējiet lietotās ostas (katrā rindā pēc get_ports) atbilstoši uz augstākā līmeņa signālu nosaukumiem projektā
## Pulksteņa signāls
set_property PACKAGE_PIN W5 [get_ports clk] set_property IOSTANDARD LVCMOS33 [get_ports clk] create_clock -add -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports clk] ## Slēdži #set_property PACKAGE_PIN #17 set_property IOSTANDARD LVCMOS33 [get_ports {sw [0]}] #set_property PACKAGE_PIN V16 [get_ports {sw [1]}] #set_property IOSTANDARD LVCMOS33 [get_ports {sw [1]}] #set_property PACKAGE_PIN W16 [get] #set_property IOSTANDARD LVCMOS33 [get_ports {sw [2]}] #set_property PACKAGE_PIN W17 [get_ports {sw [3]}] #set_property IOSTANDARD LVCMOS33 [get_ports {sw [3]}] #set_property PACKAGE_PIN W15 [get]}] #set_property IOSTANDARD LVCMOS33 [get_ports {sw [4]}] #set_property PACKAGE_PIN V15 [get_ports {sw [5]}] #set_property IOSTANDARD LVCMOS33 [get_ports {sw [5]}] #set_property PACKAGE_PIN {sw [5]} [6]}] #set_property IOSTANDARD LVCMOS33 [get_ports {sw [6]}] #set_property PACKAGE_PIN W13 [get_ports {sw [7]}] #set_property IOSTANDARD LVCMOS33 [get_ports {sw [7]}] #set_property PACKAGE_PIN V2 [get_ports {sw [8]}] #set_property IOSTANDARD LVCMOS33 [get_ports {sw [8]}] #set_property PACKAGE_PIN T3 [get_ports {sw [9]}] #set_ARD Property I LVCMOS33 [get_ports {sw [9]}] #set_property PACKAGE_PIN T2 [get_ports {sw [10]}] #set_property IOSTANDARD LVCMOS33 [get_ports {sw [10]}] #set_property PACKAGE_PIN R3 [get_ports {sw [11]} # set_property IOSTANDARD LVCMOS33 [get_ports {sw [11]}] #set_property PACKAGE_PIN W2 [get_ports {sw [12]}] #set_property IOSTANDARD LVCMOS33 [get_ports {sw [12]}] #set_property PACKAGE_PIN U1 [get] #set_property IOSTANDARD LVCMOS33 [get_ports {sw [13]}] #set_property PACKAGE_PIN T1 [get_ports {sw [14]}] #set_property IOSTANDARD LVCMOS33 [get_ports {sw [14]}] #set_property PACKAGE_PIN R2 [get]}] #set_property IOSTANDARD LVCMOS33 [get_ports {sw [15]}]
## LED
#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_port] }] #set_property PACKAGE_PIN 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_portports_d [33] 3]}] #set_property PACKAGE_PIN W18 [get_ports {led [4]}] #set_property IOSTANDARD LVCMOS33 [get_ports {led [4]}] #set_property PACKAGE_PIN U15 [get_ports {led [5]}] #set_property IOSTANDARD_ LVCMOS vadīja [5]}] #set_property PACKAGE_PIN U14 [get_ports {led [6]}] #set_property IOSTANDARD LVCMOS33 [get_ports {led [6]}] #set_property PACKAGE_PIN V14 [get_ports {led [7]}] #set_property IOSTANDARD LVC get_ports {led [7]}] #set_property PACKAGE_PIN V13 [get_ports {led [8]}] #set_property IOSTANDARD LVCMOS33 [get_ports {led [8]}] #set_property PACKAGE_PIN V3 [get_ports {led [9]}] #set_property IOSTANDARD 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 {led [10] [11]}] #set_property IOSTANDARD LVCMOS33 [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 {led [13]}] #set_property IOSTANDARD LVCMOS33 [get_ports {led [13]}] #set_property PACKAGE_PIN P1 [get_ports {led [14]}] #set_property IOSTANDARD LVCMOS33 [get_ports {led [14]}] #set_property PACKAGE [get_ports {led [15]}] #set_property IOSTANDARD LVCMOS33 [get_ports {led [15]}] ## 7 segmenta displejs #set_property PACKAGE_PIN W7 [get_ports {seg [0]}] #set_property IOSTANDARD LVCMOS33 [get_ports {seg [0]}] #set_property PACKAGE_PIN W6 [get_ports {seg [1]}] #set_property IOSTANDARD LVCMOS33 [get_ports {seg [1]}] #set_property PACKAGE_PIN U8 [get_ports {seg [2]}] #set_property IOSTA NDARD LVCMOS33 [get_ports {seg [2]}] #set_property PACKAGE_PIN V8 [get_ports {seg [3]}] #set_property IOSTANDARD LVCMOS33 [get_ports {seg [3]}] #set_property PACKAGE_PIN U5 [get_ports] seg [4] #set_property IOSTANDARD LVCMOS33 [get_ports {seg [4]}] #set_property PACKAGE_PIN V5 [get_ports {seg [5]}] #set_property IOSTANDARD LVCMOS33 [get_ports {seg [5]}] #set_property PACKAGE_PIN U7 [get] }] #set_property IOSTANDARD LVCMOS33 [get_ports {seg [6]}]
#set_property PACKAGE_PIN V7 [get_ports dp]
#set_property IOSTANDARD LVCMOS33 [get_ports dp]
#set_property PACKAGE_PIN U2 [get_ports {an [0]}]
#set_property IOSTANDARD LVCMOS33 [get_ports {an [0]}] #set_property PACKAGE_PIN U4 [get_ports {an [1]}] #set_property IOSTANDARD LVCMOS33 [get_ports {an [1]}] #set_property PACKAGE_PIN V4 [get_port] }] #set_property IOSTANDARD LVCMOS33 [get_ports {an [2]}] #set_property PACKAGE_PIN W4 [get_ports {an [3]}] #set_property IOSTANDARD LVCMOS33 [get_ports {an [3]}]
## Pogas
set_property PACKAGE_PIN U18 [get_ports btn] set_property IOSTANDARD LVCMOS33 [get_ports btn] #set_property PACKAGE_PIN T18 [get_ports btnU] #set_property IOSTANDARD LVCMOS33 [get_ports btnU] #set_property PACKAGE_PIN W19 [get_ports btnL] #set_property IOSTANDARD LVCMOS33 [get_ports btnL] #set_property PACKAGE_PIN T17 [get_ports btnR] #set_property IOSTANDARD LVCMOS33 [get_ports btnR] #set_property PACKAGE_PIN U17 [get_ports btnD] #set_property IOSTANDARD LVCMOS33 [get_ports btnD]
## Pmod Header JA
## Sch name = JA1 #set_property PACKAGE_PIN J1 [get_ports {JA [0]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JA [0]}] ## Sch name = JA2 #set_property PACKAGE_PIN L2 [get_ports {JA [1]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JA [1]}] ## Sch name = JA3 #set_property PACKAGE_PIN J2 [get_ports {JA [2]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JA [2]}] ## Sch name = JA4 #set_property PACKAGE_PIN G2 [get_ports {JA [3]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JA [3]}] ## Sch name = JA7 #set_property PACKAGE_PIN H1 [get_ports {JA [4]}] #set_ARD Property IAND LVCMOS33 [get_ports {JA [4]}] ## Sch name = JA8 set_property PACKAGE_PIN K2 [get_ports LED] set_property IOSTANDARD LVCMOS33 [get_ports LED] ## Sch name = JA9 #set_property PACKAGE_PIN H2 [get_ports {JA [6]} set_property IOSTANDARD LVCMOS33 [get_ports {JA [6]}] ## Sch name = JA10 set_property PACKAGE_PIN G3 [get_ports S] set_property IOSTANDARD LVCMOS33 [get_ports S]
## Pmod galvene JB
## Sch name = JB1 #set_property PACKAGE_PIN A14 [get_ports {JB [0]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JB [0]}] ## Sch name = JB2 #set_property PACKAGE_PIN A16 [get_ports {JB [1] #set_property IOSTANDARD LVCMOS33 [get_ports {JB [1]}] ## Sch name = JB3 #set_property PACKAGE_PIN B15 [get_ports {JB [2]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JB [2]}] ## Sch name = JB4 #set_property PACKAGE_PIN B16 [get_ports {JB [3]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JB [3]}] ## Sch name = JB7 #set_property PACKAGE_PIN A15 [get_ports {JB [4]}] IESTAND LVCMOS33 [get_ports {JB [4]}] ## Sch name = JB8 #set_property PACKAGE_PIN A17 [get_ports {JB [5]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JB [5]}] ## Sch name = JB9 #set_property PACKAGE_PIN C15 [get_ports {JB [6]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JB [6]}] ## Sch name = JB10 #set_property PACKAGE_PIN C16 [get_ports {JB [7]}] #set_property IOSTANDARD LVCport JB [7]}]
## Pmod galvene JC
## Sch name = JC1 #set_property PACKAGE_PIN K17 [get_ports {JC [0]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JC [0]}] ## Sch name = JC2 #set_property PACKAGE_PIN M18 [get_ports {JC [1] #set_property IOSTANDARD LVCMOS33 [get_ports {JC [1]}] ## Sch name = JC3 #set_property PACKAGE_PIN N17 [get_ports {JC [2]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JC [2]}] ## Sch nosaukums = JC4 #set_property PACKAGE_PIN P18 [get_ports {JC [3]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JC [3]}] ## Sch name = JC7 #set_property PACKAGE_PIN L17 [get_ports {JC [4]}] IEST LVCMOS33 [get_ports {JC [4]}] ## Sch name = JC8 #set_property PACKAGE_PIN M19 [get_ports {JC [5]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JC [5]}] ## Sch name = JC9 #set_property PACKAGE_PIN P17 [get_ports {JC [6]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JC [6]}] ## Sch name = JC10 #set_property PACKAGE_PIN R18 [get_ports {JC [7]}] #set_property IOSTANDARD LVCport JC [7]}]
## Pmod galvene JXADC
## Sch name = XA1_P #set_property PACKAGE_PIN J3 [get_ports {JXADC [0]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JXADC [0]}] ## Sch name = XA2_P #set_property PACKAGE_PIN L3 [get_port] #set_property IOSTANDARD LVCMOS33 [get_ports {JXADC [1]}] ## Sch name = XA3_P #set_property PACKAGE_PIN M2 [get_ports {JXADC [2]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JXAD #2] = XA4_P #set_property PACKAGE_PIN N2 [get_ports {JXADC [3]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JXADC [3]}] ## Sch name = XA1_N #set_property PACKAGE_PIN K3 [get_port_PRIP] LVCMOS33 [get_ports {JXADC [4]}] ## Sch name = XA2_N #set_property PACKAGE_PIN M3 [get_ports {JXADC [5]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JXADC [5]}] ## Sch name = XA3opert PACKAGE_PIN M1 [get_ports {JXADC [6]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JXADC [6]}] ## Sch name = XA4_N #set_property PACKAGE_PIN N1 [get_ports {JXADC [7]}] #set_DOMP [get_ports {JXADC [7]}]
## VGA savienotājs
#set_property PACKAGE_PIN G19 [get_ports {vgaRed [0]}] #set_property IOSTANDARD LVCMOS33 [get_ports {vgaRed [0]}] #set_property PACKAGE_PIN H19 [get_ports {vgaRed [1]}] #set_property 1] }] #set_property PACKAGE_PIN J19 [get_ports {vgaRed [2]}] #set_property IOSTANDARD LVCMOS33 [get_ports {vgaRed [2]}] #set_property PACKAGE_PIN N19 [get_ports {vgaRed [3]}] #set_ARD_produy IOST 3]}] #set_property PACKAGE_PIN N18 [get_ports {vgaBlue [0]}] #set_property IOSTANDARD LVCMOS33 [get_ports {vgaBlue [0]}] #set_property PACKAGE_PIN L18 [get_ports {vgaBlue [1]}] IOSET vgaBlue [1]}] #set_property PACKAGE_PIN K18 [get_ports {vgaBlue [2]}] #set_property IOSTANDARD LVCMOS33 [get_ports {vgaBlue [2]}] #set_property PACKAGE_PIN J18 [get_ports {vga} IBACK] [vga] get_ports {vgaBlue [3]}] #set_property PACKAGE_PIN J17 [get_ports {vgaGreen [0]}] #set_property IOSTANDARD LVCMOS33 [get_p orts {vgaGreen [0]}] #set_property PACKAGE_PIN H17 [get_ports {vgaGreen [1]}] #set_property IOSTANDARD LVCMOS33 [get_ports {vgaGreen [1]}] #set_property PACKAGE_PIN G17 [get_ports {vgayreen] 2 LVCMOS33 [get_ports {vgaGreen [2]}] #set_property PACKAGE_PIN D17 [get_ports {vgaGreen [3]}] #set_property IOSTANDARD LVCMOS33 [get_ports {vgaGreen [3]}] #set_property PACKAGE_PIN P19s [get_port] Hsync] #set_property PACKAGE_PIN R19 [get_ports Vsync] #set_property IOSTANDARD LVCMOS33 [get_ports Vsync]
## USB-RS232 saskarne
#set_property PACKAGE_PIN B18 [get_ports RsRx] #set_property IOSTANDARD LVCMOS33 [get_ports RsRx] #set_property PACKAGE_PIN A18 [get_ports RsTx] #set_property IOSTANDARD LVCMOS33 [get_ports RsTx]
## USB HID (PS/2)
#set_property PACKAGE_PIN C17 [get_ports PS2Clk] #set_property IOSTANDARD LVCMOS33 [get_ports PS2Clk] #set_property PULLUP true [get_ports PS2Clk] #set_property PACKAGE_PIN B17 [get_ports PS2_dokumenta_dokumenta]
## Quad SPI zibspuldze
## Ņemiet vērā, ka CCLK_0 nevar ievietot 7 sērijas ierīcēs. Jūs varat tam piekļūt, izmantojot primitīvu ## STARTUPE2. #set_property PACKAGE_PIN D18 [get_ports {QspiDB [0]}] #set_property IOSTANDARD LVCMOS33 [get_ports {QspiDB [0]}] #set_property PACKAGE_PIN D19 [get_ports {QspiDB [1]}] #set [APRAKSTS] }] #set_property PACKAGE_PIN G18 [get_ports {QspiDB [2]}] #set_property IOSTANDARD LVCMOS33 [get_ports {QspiDB [2]}] #set_property PACKAGE_PIN F18 [get_ports {QspiDB [3]}] IOS_DARD_PIP 3]}] #set_property PACKAGE_PIN K19 [get_ports QspiCSn] #set_property IOSTANDARD LVCMOS33 [get_ports QspiCSn]
6. darbība: PIR kustības sensora savienošana
PIR kustības sensoram ir trīs tapas: attiecīgi barošana, gnd un signalizācija (skatiet pirmo attēlu). Šajā instrukcijā ieteikto kustības sensoru var savienot tieši ar maizes dēli. Bet sensoram, kuru mēs izmantojām, mums vajadzēja nogriezt un noņemt sloksnes un pēc tam lodēt atklātos galus, lai tie nesabojātos. Uz maizes dēļa sērijveidā ar strāvas un zemējuma tapām ievietojiet džemperi no tēviņa līdz mātītei un pēc tam ar trauksmes tapu vīrieša un tērauda vadu (skatiet otro attēlu).
7. solis: LED savienošana ar maizes dēli
Pievienojiet gaismas diodi maizes plāksnei. Sērijveidā ievietojiet melnu džemperi no vīrieša līdz vīrietim ar īsu gaismas diodes vadu. Pēc tam sērijveidā pievienojiet džempera kabeli no vīrieša līdz vīrietim ar garo gaismas diodes vadu.
8. solis: Basys Board savienojumi
Pievienojiet PIR kustības sensora sieviešu galus 5 voltu sprieguma avotam uz bāzes paneļa. Pēc tam pievienojiet vīriešu LED zemējuma vadu sānu porta zemē, pēc tam trauksmes vadu no PIR kustības sensora un pēc tam LED ievades vadu (kā redzams attēlā).
Ieteicams:
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 sensora gaismas 3: 8 soļi
Kustību sensoru gaismas Basys3: mūsu pēdējā digitālā dizaina projektā mēs nolēmām simulēt kustības sensoru gaismas. Tie aktivizējas ne tikai tad, kad objekts atrodas tā tuvumā, bet arī aktivizējas tikai noteiktā diennakts laikā. Mēs to varam modelēt, izmantojot FPGA (Basys3 tāfele)
Kas ir pie Manām durvīm? PIR kustības sensora/diapazona sensora projekts: 5 soļi
Kas ir pie Manām durvīm? PIR kustības sensora/diapazona sensora projekts: Mūsu projekta mērķis ir uztvert kustību, izmantojot PIR un attāluma sensorus. Arduino kods izvadīs vizuālu un audio signālu, lai informētu lietotāju, ka kāds atrodas tuvumā. MATLAB kods nosūtīs e -pasta signālu, lai brīdinātu lietotāju, ka kāds atrodas tuvumā. Šī ierīce
Kustības sensora/skaitītāja kontrolētas gaismas: 7 soļi
Kustības sensors/skaitītāja kontrolētas gaismas: šis projekts tika izveidots kā noslēguma projekts digitālā dizaina kursam Cal Poly, San Luis Obispo (CPE 133). Kāpēc mēs to darām? Mēs vēlamies palīdzēt saglabāt dabas resursus pasaulē. Mūsu projekts koncentrējas uz elektroenerģijas taupīšanu. Saglabājot vairāk
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