Kazalo:

LED senzor gibanja: 8 korakov
LED senzor gibanja: 8 korakov

Video: LED senzor gibanja: 8 korakov

Video: LED senzor gibanja: 8 korakov
Video: 1656 ROUND SHAPE 8 LED MOTION SENSOR INDUCTION LED LIGHT 2024, Julij
Anonim
Image
Image

Ozadje:

Ali ste kdaj pozabili ugasniti luč, preden se odpravite v razred ali službo ali pred spanjem? Tiste ure pri prižganih lučeh, ko jih ne uporabljate, lahko resnično povečajo stroške in izgubo energije. Na primer, glede na solarcity.com, če lučke prižgete celo noč en teden, lahko svojemu računu za elektriko dodate 25 USD! Za naš projekt CPE133 smo oblikovali svetlobo senzorja gibanja, ki ljudem pomaga prihraniti energijo v svojih domovih in učinkovito uporabljati luči.

Naš sistem v praksi:

V praksi bi se luči prižgale le, če senzor zazna gibanje v prostoru. Potem bodo luči ostale prižgane določen čas, na primer približno 30 minut, nato pa se samodejno izklopijo. Recimo, da ste ravno hodili mimo ali ste želeli zapustiti sobo zgodaj, preden je minilo določeno časovno obdobje. V teh primerih smo namestili gumb, kjer lahko ročno vklopite ali izklopite luči. Upoštevajte, da bodo luči ostale vklopljene 30 minut, tudi če se luči vklopijo ročno ali samodejno (razen če se luči izklopijo ročno).

Simulacija na krovu:

Da bi videli, da časovnik deluje, smo ga spremenili na 1 minuto.

Materiali:

  • 1 Basys board (enega najdete tukaj pri Digilentu)
  • 1 senzor gibanja PIR (enega najdete tukaj na Amazonu)
  • 1 plošča in komplet (predlagamo uporabo te iz Amazona)
  • Iz zgornjega kompleta
    • 1 LED
    • 3 moški moški kabli
    • 6 moških moških mostičnih kablov

Korak: Časovnik

Da LED dioda ostane prižgana 1 minuto, moramo najprej ustvariti časovnik. Plošča Basys 3 ima notranjo frekvenco 100 MHz, zato je 100 milijonov ciklov enako 1 sekundi. Ta se nato uporabi kot spremenljivka, ki bo delovala kot največje število za "t_cnt". Ko se plošča Basys 3 dokonča cikel, se t_cnt poveča za 1. Ko doseže oznako 100 milijonov, se ponastavi in druga spremenljivka, "sec", se poveča za 1. Ta "sec" spremenljivka predstavlja število preteklih sekund in ko je spremenljivka enaka 60, je minila celotna minuta.

Kopirajte spodnjo kodo v izvorno datoteko vhdl z imenom Timer.

entiteta COUNT_8B je

vrata (RESET: v std_logic;

CLK: v std_logic; T: out std_logic: = '0');

konec COUNT_8B;

arhitektura my_count COUNT_8B je

konstanta max_count: celo število: = (100000000); --signal t_cnt: std_logic_vector (7 downto 0): = "00000000"; signal t_cnt: celo število: = (0); začetek procesa (CLK, RESET, t_cnt) spremenljivka sec: celo število: = 0; začni if (vzhajajoč rob (CLK)) potem if (RESET = '1') potem t_cnt <= (0); - počisti elsif (t_cnt = max_count) nato- max_count je 100 milijonov, kar je enako 1 sekundi t_cnt <= (0); - Ponastavi notranjo uro na 0 sek: = sek + 1; - poveča našo "počasno uro" za 1, če (sec = 60) potem- Ko doseže 60 sekund, potem doseže največji čas sec: = 0; - ponastavi "počasno uro" na 0 T <= '1'; konec če; drugače t_cnt <= t_cnt + 1; - poveča notranjo uro T <= '0'; konec če; konec če; zaključni postopek; končaj my_count;

2. korak: Optimizacija gumbov

LED
LED

Ker je frekvenca v Basysovih ploščah tako visoka (okoli 100 MHz), ko pritisnete, kar mislite, da je kratek čas do Basysove plošče, bi jo pritisnili 100.000 krat. Zaradi tega svetloba hitro utripa med vklopljenim in izklopljenim stanjem. Gumb smo poskušali optimizirati z ustvarjanjem diagrama stanja za zmanjšanje utripanja.

D-japonke bodo imele vsako stanje, nato pa bomo v stavku procesa določili prehode stanja.

Kopirajte spodnjo kodo v izvorno datoteko vhdl z imenom Button.

knjižnica IEEE; uporabite IEEE. STD_LOGIC_1164. ALL;

gumb entiteta je

Vrata (btn: v STD_LOGIC; clk: v STD_LOGIC; E: izhod STD_LOGIC); gumb za konec;

arhitektura Vedenje gumba je

tip state_type je (PRESSED, NP); signal PS, NS: stanje_tip: = NP;

začeti

seq_proc: proces (NS, clk) se začne, če (vzhajajoči_red (clk)) potem PS <= NS; konec če; končaj proces seq_proc;

ns_proc: proces (btn, PS)

začetni primer PS je, ko je NP => če (btn = '1'), potem je NS <= PRITISANO; E <= '1'; drugače NS <= NP; E, če je (btn = '0'), potem je NS <= NP; E <= '0'; else NS <= PRITISANO; E <= '0'; konec če; zaključni primer; končaj proces ns_proc;

konec vedenjskega;

3. korak: LED

LED ima dva stanja: OFF (ali IDLE) in ON. Kot smo že povedali, so stanja shranjena v d-flip-flopu. Lučka se bo vklopila, če senzor zazna gibanje (S = 1) ali ko pritisnete gumb (E = 1). LED se bo samodejno izklopil, če časovnik doseže 1 minuto (T = 1) ali ročno, ko pritisnete gumb (E = 1).

Kopirajte spodnjo kodo v izvorno datoteko vhdl z imenom LED.

entiteta motion_sensored_light je Port (S: v STD_LOGIC; - sesnor; Port JA10/Pin G3 E: v STD_LOGIC; - zunanji gumb za ročno funkcijo; Sredinski gumb T: v STD_LOGIC; - ko časovnik doseže največji čas; Od LED časovnika: out STD_LOGIC; - luč TRST: out STD_LOGIC; - ponastavi časovnik clk: v STD_LOGIC); - clk za japonke, ki zadržujejo stanja na koncu motion_sensored_light;

arhitektura Vedenjsko gibanje_senzorirane_svetlosti je

tip state_type je (ST0, ST1); --ST0 = IDLE, ST1 = LED VISOKO

signal PS, NS: stanje_tip: = ST0; - ZDRAVNO DRŽAVO IN NASLEDNJE DRŽAVO, se začne v ST0 IDLE

začeti

- procesni blok flip flopa- posodobitev stanja na naraščajočem robu ure seq_proc: proces (NS, clk) start- d flip flop, ki vsebuje stanja if (rise_edge (clk)) potem PS <= NS; konec če; končaj proces seq_proc;

ns_proc: proces (S, E, T, PS)

začetni primer PS je, ko je ST0 => LED <= '0'; - izhodi za stanje mirovanja TRST <= '1'; če (S = '0' OR E = '1') potem - vhodi za prehod iz st0 v st1 NS <= ST1; else NS LED <= '1'; - izhodi za stanje TRST <= '0'; če (E = '1' OR T = '1') potem - vhodi v za prehod iz st1 v st0 NS <= ST0; drugače NS <= ST1; konec če; zaključni primer; končaj proces ns_proc;

konec vedenjskega;

4. korak: zgornja datoteka

Zdaj bomo vse druge datoteke preslikali v eno.

Kopirajte spodnjo kodo v izvorno datoteko vhdl z imenom Top_File.

knjižnica IEEE; uporabite IEEE. STD_LOGIC_1164. ALL;

entiteta Top_File je

Vrata (S: v STD_LOGIC: = '1'; - sesnor; Vrata JA10/Pin G3 btn: v STD_LOGIC: = '0'; - zunanji gumb za ročno funkcijo; LED sredinskega gumba: ven STD_LOGIC; - lučka clk: v STD_LOGIC); - clk za flip flop, ki drži stanja na vrhu Top_File;

vedenjska arhitektura Top_File je

komponenta COUNT_8B je

vrata (RESET: v std_logic: = '0'; CLK: v std_logic; T: ven std_logic: = '0'); končna komponenta; komponenta motion_sensored_light je Port (S: v STD_LOGIC; - sesnor; Port JA10/Pin G3 E: v STD_LOGIC; - zunanji gumb za ročno funkcijo; Sredinski gumb T: v STD_LOGIC; - ko časovnik doseže največji čas; Od LED časovnika: out STD_LOGIC; - luč TRST: out STD_LOGIC; - ponastavi časovnik clk: v STD_LOGIC); - clk za flip flop, ki vsebuje komponento stanja stanja; komponentni gumb je Port (btn: v STD_LOGIC; clk: v STD_LOGIC; E: ven STD_LOGIC); končna komponenta; signal t_reached_c: std_logic; - signal r_time_c: std_logic; - signal button_c: std_logic;

začeti

časovnik: zemljevid vrat COUNT_8B (RESET => r_time_c, CLK => CLK, T => t_reached_c); senzor gibanja: zemljevid vrat za osvetlitev gibanja (S => S, E => gumb_c, T => t_dosežen_c, LED => LED, TRST => r_time_c, clk => clk); gumb_krmilnik: zemljevid vrat gumbov (btn => btn, clk => clk, E => gumb_c); konec vedenjskega;

5. korak: Datoteka omejitev

Zdaj moramo določiti, kje bodo naši vhodi in izhodi na plošči.

Kopirajte spodnjo kodo v datoteko omejitev vhdl z imenom Constraints.

## Ta datoteka je splošni.xdc za ploščo Basys3 rev B ## Za uporabo v projektu: ## - odkomentirajte vrstice, ki ustrezajo uporabljenim zatičem ## - preimenujte uporabljena vrata (v vsaki vrstici, po get_ports) v skladu do imen signalov najvišje ravni v projektu

## Signal ure

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] ## Stikala #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_ports {sw [2] #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_ports {sw 4]}] #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 W14 [get_ports { [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_property IOSTANDARD 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_ports {sw [13] #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_ports {sw [15]}] #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_ports {led] }] #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 LVCMOS33 [get_ports {led_ports | 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 LVCMOS33 [get_ports led [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 LVCMOS33 [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 U3 [get_ports [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 N3 [get_ports {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_PIN L1 [get_ports {led [15]}] #set_property IOSTANDARD LVCMOS33 [get_ports {led [15]}] ## 7 segmentni prikaz #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_ports { }] #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_ports {an [2] }] #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]}]

## Gumbi

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 PACK_PIN_PIN [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]

## Glava Pmod 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 ime = 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_property IOSTAND 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 Glava 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 ime = 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]}] #set_property IOSTARD 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 LVCMOS33 [get_ports IOSTANDARD LVCMOS33 [get_ports IOSTANDARD LVCMOS33 [get_ports IOSTANDARD LVCMOS33 JB [7]}]

## Pmod Header 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 ime = 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]}] #set_property IOSTAND 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 LVCMOS33 [get_ports IOSTANDARD LVCMOS33 [get_ports IOSTANDARD LVCMOS33 [get_ports IOSTANDARD LVCMOS33 JC [7]}]

## Glava Pmod 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_ports {JXC] #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 {JXADC [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_ports {JXADCARD] [4] [IXADCARD] [4] 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]}] ## Ime Schip = XA3_N # 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_property IOSTAND [get_ports {JXADC [7]}]

## VGA priključek

#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 IOSTANDARD LVCMOS 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_property IOSTANDARD LVC

## Vmesnik USB-RS232

#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 PS2Data] #set_PORT_POSTI

## Quad SPI Flash

## Upoštevajte, da CCLK_0 ni mogoče namestiti v naprave serije 7. Do njega lahko dostopate s primitivom ## 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_property IOSTANDARD LOST [IOSANDARD] }] #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]}] #set_property QPOS [IOSAND] 3]}] #set_property PACKAGE_PIN K19 [get_ports QspiCSn] #set_property IOSTANDARD LVCMOS33 [get_ports QspiCSn]

6. korak: Priključite senzor gibanja PIR

Ožičenje senzorja gibanja PIR
Ožičenje senzorja gibanja PIR
Ožičenje senzorja gibanja PIR
Ožičenje senzorja gibanja PIR

Senzor gibanja PIR ima tri zatiče: napajanje, gnd in alarm (glej prvo sliko). Senzor gibanja, predlagan v tem navodilu, se lahko poveže neposredno na ploščo. Toda za senzor, ki smo ga uporabili, smo morali prerezati in odtrgati žice ter nato spajkati izpostavljene konce, da se ne pokvarijo. Na ploščico vstavite zaporedno moško in žensko mostično žico z napajalnimi in ozemljitvenimi zatiči ter nato zaporedno moško moško žico z alarmnim zatičem (glejte drugo sliko).

7. korak: Priključite LED na ploščici

Ožičenje LED na plošči
Ožičenje LED na plošči
Ožičenje LED na plošči
Ožičenje LED na plošči

Priključite LED v mizo. Vstavite črni moški moški kabel za zaporedje s kratkim kablom LED. Nato zaporedno priključite moški moški moški kabel različnih barv z dolgim vodilom LED.

8. korak: Povezave Basys Board

Povezave Basys Board
Povezave Basys Board

Priključite ženska konca senzorja gibanja PIR v 5 -voltni vir napetosti na plošči basys. Nato priključite moško ozemljitveno žico LED v ozemljitev stranskih vrat, nato alarmno žico s senzorja gibanja PIR in nato vhodno žico LED (kot je prikazano na sliki).

Priporočena: