Përmbajtje:

LED i ndjeshëm me lëvizje: 8 hapa
LED i ndjeshëm me lëvizje: 8 hapa

Video: LED i ndjeshëm me lëvizje: 8 hapa

Video: LED i ndjeshëm me lëvizje: 8 hapa
Video: Shëndeti Qigong "Baduanjin" / 8 copë brokadë / Kompleksi ditor kinez. 2024, Nëntor
Anonim
Image
Image

Sfondi:

A keni harruar ndonjëherë të fikni një dritë para se të niseni në klasë ose në punë ose para se të shkoni në shtrat? Ato orë me dritat ndezur kur nuk i përdorni ato mund të shtojnë me të vërtetë kosto dhe humbje të energjisë. Për shembull, sipas solarcity.com, lënia e dritave gjatë gjithë natës për një javë mund të shtojë 25 dollarë në faturën tuaj elektrike! Për projektin tonë CPE133, ne hartojmë një dritë të sensorit të lëvizjes për të ndihmuar njerëzit të kursejnë energji në shtëpitë e tyre dhe të përdorin dritat e tyre në mënyrë efikase.

Sistemi ynë në praktikë:

Në praktikë, dritat ndizen vetëm kur një sensor zbulon lëvizjen në dhomë. Pastaj dritat do të qëndrojnë të ndezura për një kohë të caktuar, si rreth 30 minuta, dhe pastaj fiken automatikisht. Por le të themi që ju sapo po kalonit ose donit të dilnit nga dhoma herët para se të përfundonte koha e caktuar. Për ato raste, ne instaluam një buton ku mund të ndizni ose fikni dritat me dorë. Vini re se dritat do të qëndrojnë të ndezura për 30 minuta edhe kur dritat ndizen manualisht ose automatikisht (nëse dritat nuk fiken me dorë).

Simulimi në bord:

Për të parë që kohëmatësi funksionon, ne e ndryshuam kohëmatësin në 1 minutë.

Materiale:

  • 1 bord Basys (mund ta gjeni këtu nga Digilent)
  • 1 sensor lëvizjeje PIR (mund ta gjeni këtu në Amazon)
  • 1 pjatë dhe çantë (ju sugjerojmë ta përdorni këtë nga Amazon)
  • Nga kompleti i mësipërm

    • 1 LED
    • 3 kabllo kërcyes femra në meshkuj
    • 6 kabllo kërcyes mashkull në mashkull

Hapi 1: Kohëmatësi

Në mënyrë që LED të mbetet e ndezur për 1 minutë, së pari duhet të krijojmë një kohëmatës. Bordi Basys 3 ka një frekuencë të brendshme prej 100MHz duke bërë kështu 100 milion cikle të barabarta me 1 sekondë. Kjo pastaj përdoret si një ndryshore që do të veprojë si një numër maksimal për "t_cnt". T_cnt rritet me 1 pasi tabela Basys 3 përfundon një cikël. Sapo të arrijë shifrën 100 milion do të rivendoset dhe një ndryshore tjetër, "sek", do të rritet me 1. Kjo ndryshore "sek" përfaqëson numrin e sekondave të kaluara dhe sapo ajo ndryshore të jetë e barabartë me 60, ka kaluar një minutë e plotë.

Kopjoni kodin më poshtë në një skedar burimi vhdl të quajtur Timer.

entiteti COUNT_8B është

port (RESET: në std_logic;

CLK: në std_logic; T: jashtë std_logic: = '0');

fund COUNT_8B;

arkitektura my_count e COUNT_8B është

konstante max_count: numër i plotë: = (100000000); --signal t_cnt: std_logic_vector (7 poshtë 0): = "00000000"; sinjal t_cnt: numër i plotë: = (0); fillimi i procesit (CLK, RESET, t_cnt) ndryshore sec: numër i plotë: = 0; filloni nëse (buzë_ ngritëse (CLK)) pastaj nëse (RESET = '1') pastaj t_cnt <= (0); - pastro elsif (t_cnt = max_count) atëherë- max_count është 100 milion që është e barabartë me 1 sekondë t_cnt <= (0); - Rivendos orën e brendshme në 0 sek: = sek + 1; - Rrit 'orën tonë të ngadaltë' me 1 nëse (sek = 60) atëherë- Pasi arrin 60 sekonda atëherë ka arritur kohën maksimale sek: = 0; - Rivendos "orën e ngadaltë" në 0 T <= '1'; mbaron nëse; tjetër t_cnt <= t_cnt + 1; - rrit orën e brendshme T <= '0'; mbaron nëse; mbaron nëse; përfundimi i procesit; i jap fund numrit tim;

Hapi 2: Optimizimi i butonave

LED
LED

Meqenëse frekuenca në bordet e Basys është aq e lartë (rreth 100 MHz) kur shtypni për atë që mendoni se është një kohë e shkurtër në tabelën e Basys, ju do ta shtypni atë 100, 000 herë. Kjo bën që drita të dridhet me shpejtësi midis gjendjes ndezëse dhe fikëse. Ne u përpoqëm të zgjedhim butonin duke krijuar një diagram të gjendjes për të zvogëluar ndezjen.

D-flip-flops do të mbajnë secilën gjendje dhe më pas ne do të specifikojmë kalimet e gjendjes në deklaratën e procesit.

Kopjoni kodin më poshtë në një skedar burimi vhdl të quajtur Button.

biblioteka IEEE; përdorni IEEE. STD_LOGIC_1164. ALL;

butoni i entitetit është

Port (btn: në STD_LOGIC; clk: në STD_LOGIC; E: jashtë STD_LOGIC); butoni i përfundimit;

arkitektura Sjellja e butonit është

lloji state_type është (PRESSED, NP); sinjal PS, NS: gjendja_tipi: = NP;

filloj

seq_proc: procesi (NS, clk) fillon nese (buza e ngritjes (clk)) pastaj PS <= NS; mbaron nëse; përfundoj procesin seq_proc;

ns_proc: procesi (btn, PS)

fillon rasti PS është kur NP => nëse (btn = '1') atëherë NS <= PRESSED; E <= '1'; tjetër NS <= NP; E nëse (btn = '0') atëherë NS <= NP; E <= '0'; tjetër NS <= Shtypur; E <= '0'; mbaron nëse; rasti përfundimtar; përfundimi i procesit ns_proc;

fund Sjellja;

Hapi 3: LED

LED ka dy gjendje: OFF (ose IDLE) dhe ON. Siç u tha më parë, gjendjet ruhen në një d-flip-flop. Drita do të kthehet nëse sensori zbulon lëvizjen (S = 1) ose kur shtypet një buton (E = 1). LED do të fiket automatikisht nëse kohëmatësi arrin 1 minutë (T = 1) ose manualisht kur shtypet një buton (E = 1).

Kopjoni kodin më poshtë në një skedar burimi vhdl të quajtur LED.

ndriçimi i lëvizjes_sensoruar_ është enti (S: në STD_LOGIC; - sesnor; Porti JA10/Pin G3 E: në STD_LOGIC; - butoni i jashtëm për funksionimin manual; Butoni Qendror T: në STD_LOGIC; - kur kohëmatësi arrin kohën maksimale; Nga LED i kohëmatësit: jashtë STD_LOGIC; - dritë TRST: jashtë STD_LOGIC; - rivendos kohëmatësin clk: në STD_LOGIC); - clk për flip flop të cilat mbajnë gjendjet në fund të lëvizjes_sensored_light;

arkitekturë Sjellja e lëvizjes_sensor_drita është

lloji state_type është (ST0, ST1); --ST0 = IDLE, ST1 = LED LART

sinjal PS, NS: lloji_gjendjes: = ST0; - SHTETI I PARAQITUR DHE SHTETI TJER, fillon në ST0 IDLE

filloj

- blloku i procesit të rrokullisjes- azhurnon gjendjen në skajin në rritje të orës seq_proc: fillon procesi (NS, clk)- d rrokullisje që mban gjendjet nëse (ngritja_ege (clk)) pastaj PS <= NS; mbaron nëse; përfundoj procesin seq_proc;

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

fillon rasti PS është kur ST0 => LED <= '0'; - daljet për gjendjen boshe TRST <= '1'; nëse (S = '0' OR E = '1') atëherë - hyrjet në kalimin nga st0 në st1 NS <= ST1; tjetër NS LED <= '1'; - daljet për gjendjen TRST <= '0'; nëse (E = '1' OR T = '1') atëherë - hyrje në në kalimin nga st1 në st0 NS <= ST0; tjetër NS <= ST1; mbaron nëse; rasti përfundimtar; përfundimi i procesit ns_proc;

fund Sjellja;

Hapi 4: Skedari kryesor

Tani ne do të portojmë hartën e të gjithë skedarëve tanë të tjerë në një.

Kopjoni kodin më poshtë në një skedar burimi vhdl të quajtur Top_File.

biblioteka IEEE; përdorni IEEE. STD_LOGIC_1164. ALL;

entiteti Top_File është

Porta (S: në STD_LOGIC: = '1'; - sesnor; Porti JA10/Pin G3 btn: në STD_LOGIC: = '0'; - butoni i jashtëm për funksionimin manual; LED Butoni i qendrës: jashtë STD_LOGIC; - clk dritë: në STD_LOGIC); - clk për flip flop të cilat mbajnë gjendjet në fund Top_File;

arkitektura Sjellja e Top_File është

komponenti COUNT_8B është

port (RESET: në std_logic: = '0'; CLK: në std_logic; T: jashtë std_logic: = '0'); komponenti përfundimtar; komponenti motion_sensored_light është Port (S: në STD_LOGIC; - sesnor; Porti JA10/Pin G3 E: në STD_LOGIC; - butoni i jashtëm për funksionimin manual; Butoni Qendror T: në STD_LOGIC; - kur kohëmatësi arrin kohën maksimale; Nga LED timer: jashtë STD_LOGIC; - dritë TRST: jashtë STD_LOGIC; - rivendos kohëmatësin clk: në STD_LOGIC); - clk për flip flop të cilat mbajnë përbërësin e gjendjeve fundore; butoni i përbërësit është Port (btn: në STD_LOGIC; clk: në STD_LOGIC; E: jashtë STD_LOGIC); komponenti përfundimtar; sinjali t_reached_c: std_logic; - sinjali r_time_c: std_logic; - sinjali button_c: std_logic;

filloj

kohëmatësi: COUNT_8B harta e portit (RESET => r_time_c, CLK => CLK, T => t_ar arritur_c); lëvizje_sensor: lëvizje_sensored_light hartë port (S => S, E => button_c, T => t_reached_c, LED => LED, TRST => r_time_c, clk => clk); button_controller: butoni i portës së butonit (btn => btn, clk => clk, E => button_c); fund Sjellja;

Hapi 5: Skedari i Kufizimeve

Tani duhet të përcaktojmë se ku do të jenë inputet dhe daljet tona në tabelë.

Kopjoni kodin më poshtë në një skedar kufizimesh vhdl të quajtur Kufizimet.

## Ky skedar është një.xdc i përgjithshëm për tabelën Basys3 rev B ## Për ta përdorur atë në një projekt: ## - mos komentoni linjat që korrespondojnë me kunjat e përdorura ## - riemërtoni portet e përdorura (në secilën rresht, pas get_ports) sipas tek emrat e sinjalit të nivelit të lartë në projekt

## Sinjali i orës

set_property PACKAGE_PIN W5 [merrni_portet clk] set_property IOSTANDARD LVCMOS33 [merrni_portet clk] krijoni_clock -shtoni -name sys_clk_pin -periudha 10.00 -forma valore {0 5} [merrni_portet clk] ## Switches #set_propertIN PACKAGE set_property IOSTANDARD LVCMOS33 [merrni_portet {sw [0]}] #set_property PACKAGE_PIN V16 [merrni_portet {sw [1]}] #set_property IOSTANDARD LVCMOS33 [merrni_portet {sw [1]}] #set_property PACKAGE_PIN W16 [merrni] #set_property IOSTANDARD LVCMOS33 [merrni_porte {sw [2]}] #set_property PACKAGE_PIN W17 [merrni_porte {sw [3]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {sw [3]}] #set_property PACKAGE_PIN W15 }] #set_property IOSTANDARD LVCMOS33 [merrni_porte {sw [4]}] #set_property PACKAGE_PIN V15 [merrni_porte {sw [5]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {sw [5]}] #set_property PACKAGE_PIN [6]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {sw [6]}] #set_property PACKAGE_PIN W13 [merrni_porte {sw [7]}] #set_property IOSTANDARD LVCMOS33 [merrni_portet {sw [7]}] #set_property PACKAGE_PIN V2 [merrni_portet {sw [8]}] #set_property IOSTANDARD LVCMOS33 [merrni_portet {sw [8]}] #set_property PACKAGE_PIN T3 [merrni_portet {sw [9]}] #set_property IOST LVCMOS33 [merrni_portet {sw [9]}] #set_property PACKAGE_PIN T2 [merrni_portet {sw [10]}] #set_property IOSTANDARD LVCMOS33 [merrni_portet {sw [10]}] #set_property PACKAGE_PIN R3 [merrni_portet {sw [11]}] # set_property IOSTANDARD LVCMOS33 [merrni_portet {sw [11]}] #set_property PACKAGE_PIN W2 [merrni_portet {sw [12]}] #set_property IOSTANDARD LVCMOS33 [merrni_portet {sw [12]}] #set_property PACKAGE_PIN U1 [13] #set_property IOSTANDARD LVCMOS33 [merrni_portet {sw [13]}] #set_property PACKAGE_PIN T1 [merrni_portet {sw [14]}] #set_property IOSTANDARD LVCMOS33 [merrni_portet {sw [14]}] #set_property PACKAGE_PIN R2 }] #set_property IOSTANDARD LVCMOS33 [merrni_portet {sw [15]}]

## LEDs

#set_property PACKAGE_PIN U16 [merrni_porte {led [0]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {led [0]}] #set_property PACKAGE_PIN E19 [merrni_porte {led [1]}] #set_property IOSTANDARD LVCMOS33 [merrni }] #set_property PACKAGE_PIN U19 [merrni_porte {led [2]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {led [2]}] #set_property PACKAGE_PIN V19 [merrni_porte {led [3]}] #set_property IOSTANDARD LVCMOS 2] led [5]}] #set_property PACKAGE_PIN U14 [merrni_porte {led [6]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {led [6]}] #set_property PACKAGE_PIN V14 [merrni_porte {led [7]}] #set_property IOSTANDARD LV merrni_portet {led [7]}] #set_property PACKAGE_PIN V13 [merrni_porte {led [8]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {led [8]}] #set_property PACKAGE_PIN V3 [merrni_porte {led [9]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {led [9]}] #set_property PACKAGE_PIN W3 [merrni_porte {led [10]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {led [10]}] #set_property PACKAGE_PIN [11]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {led [11]}] #set_property PACKAGE_PIN P3 [merrni_porte {led [12]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {led [12]}] #set_property PACKAGE_P {led [13]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {led [13]}] #set_property PACKAGE_PIN P1 [merrni_porte {led [14]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {led [14]}] #set_propertIN PACKAGE [merrni_porte {led [15]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {led [15]}] ## shfaqje segmentesh #set_property PACKAGE_PIN W7 [merrni_porte {seg [0]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {seg [0]}] #set_property PACKAGE_PIN W6 [merrni_portet {seg [1]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {seg [1]}] #set_property PACKAGE_PIN U8 [merrni_porte {seg [2]}] #set_property IOSTA NDARD LVCMOS33 [merrni_porte {seg [2]}] #set_property PACKAGE_PIN V8 [merrni_porte {seg [3]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {seg [3]}] #set_property PACKAGE_PIN U5 [4]} {} #set_property IOSTANDARD LVCMOS33 [merrni_porte {seg [4]}] #set_property PACKAGE_PIN V5 [merrni_porte {seg [5]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {seg [5]}] #set_property PACKAGE_PIN }] #set_property IOSTANDARD LVCMOS33 [merrni_portet {seg [6]}]

#set_property PACKAGE_PIN V7 [merrni_porte dp]

#set_property IOSTANDARD LVCMOS33 [merrni_porte dp]

#set_property PACKAGE_PIN U2 [merrni_porte {an [0]}]

#set_property IOSTANDARD LVCMOS33 [merrni_porte {an [0]}] #set_property PACKAGE_PIN U4 [merrni_porte {an [1]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {një [1]}] #set_property PACKAGE_PIN an4 [merrni] }] #set_property IOSTANDARD LVCMOS33 [merrni_porte {an [2]}] #set_property PACKAGE_PIN W4 [merrni_porte {një [3]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {një [3]}]

## Butonat

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 [merrni_portet btnR] #set_property IOSTANDARD LVCMOS33 [merrni_portet btnR] #set_property PACKAGE_PIN U17 [merrni_portet btnD] #set_property IOSTANDARD LVCMOS33 [merrni_portet btnD]

## Pmod Header JA

## Sch name = JA1 #set_property PACKAGE_PIN J1 [merrni_porte {JA [0]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {JA [0]}] ## Sch name = JA2 #set_property PACKAGE_PIN L2 [merrni_porte {JA [1] #set_property IOSTANDARD LVCMOS33 [merrni_porte {JA [1]}] ## Sch name = JA3 #set_property PACKAGE_PIN J2 [merrni_portet {JA [2]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {JA [2]}] # #Sch = JA4 #set_property PACKAGE_PIN G2 [merrni_portet {JA [3]}] #set_property IOSTANDARD LVCMOS33 [merrni_portet {JA [3]}] ## Sch name = JA7 #set_property PAKETA_PIN H1 [merrni_porte {JA [4]}] #AND_pro LVCMOS33 [merrni_portet {JA [4]}] ## Sch name = JA8 set_property PACKAGE_PIN K2 [merrni_portet LED] set_property IOSTANDARD LVCMOS33 [merrni_portet LED] ## Sch name = JA9 #set_property PACKAGE_PIN H2 [6]} {JA] set_property IOSTANDARD LVCMOS33 [merrni_portet {JA [6]}] ## Sch name = JA10 set_property PACKAGE_PIN G3 [merrni_portet S] set_property IOSTANDARD LVCMOS33 [merrni_portet S]

## Pmod Header JB

## Sch name = JB1 #set_property PACKAGE_PIN A14 [merrni_porte {JB [0]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {JB [0]}] ## Sch name = JB2 #set_property PACKAGE_PIN A16 [merrni_porte {JB [1] #set_property IOSTANDARD LVCMOS33 [merrni_portet {JB [1]}] ## Sch name = JB3 #set_property PAKETA_PIN B15 [merrni_portet {JB [2]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {JB [2]}] ## Sch = JB4 #set_property PACKAGE_PIN B16 [merrni_porte {JB [3]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {JB [3]}] ## Sch name = JB7 #set_property PAKETA_PIN A15 [merrni_porte {JB [4]}] IST_ARD LVCMOS33 [merrni_portet {JB [4]}] ## Sch name = JB8 #set_property PACKAGE_PIN A17 [merrni_portet {JB [5]}] #set_property IOSTANDARD LVCMOS33 [merrni_portet {JB [5]}] ## Sch name = JB9 #set_property PACKAGE_PIN C15 [merrni_porte {JB [6]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {JB [6]}] ## Sch name = JB10 #set_property PACKAGE_PIN C16 [merrni_porte {JB [7]}] #set_propert_IOSTANDARD LV JB [7]}]

## Pmod Header JC

## Sch name = JC1 #set_property PACKAGE_PIN K17 [merrni_porte {JC [0]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {JC [0]}] ## Sch name = JC2 #set_property PACKAGE_PIN M18 [merrni_porte {JC [1] #set_property IOSTANDARD LVCMOS33 [merrni_porte {JC [1]}] ## Sch name = JC3 #set_property PACKAGE_PIN N17 [merrni_portet {JC [2]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {JC [2]}] ## Sch = JC4 #set_property PACKAGE_PIN P18 [merrni_portet {JC [3]}] #set_property IOSTANDARD LVCMOS33 [merrni_portet {JC [3]}] ## Sch name = JC7 #set_property PACKAGE_PIN L17 [get_ports {JC [4]}] #set LVCMOS33 [merrni_portet {JC [4]}] ## Sch name = JC8 #set_property PACKAGE_PIN M19 [merrni_portet {JC [5]}] #set_property IOSTANDARD LVCMOS33 [merrni_portet {JC [5]}] ## Sch name = JC9 #set_property PACKAGE_PIN P17 [merrni_porte {JC [6]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {JC [6]}] ## Sch name = JC10 #set_property PACKAGE_PIN R18 [merrni_porte {JC [7]}] #caktoni_pronësi IOSTANDARD LV JC [7]}]

## Pmod Header JXADC

## Sch name = XA1_P #set_property PACKAGE_PIN J3 [merrni_porte {JXADC [0]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {JXADC [0]}] ## Sch name = XA2_P #set_property PACKAGE_PIN [1] L3 [merrni] #set_property IOSTANDARD LVCMOS33 [merrni_portet {JXADC [1]}] ## Sch name = XA3_P #set_property PACKAGE_PIN M2 [merrni_portet {JXADC [2]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {JXADC #2] = XA4_P #set_property PACKAGE_PIN N2 [merrni_portet {JXADC [3]}] #set_property IOSTANDARD LVCMOS33 [merrni_portet {JXADC [3]}] ## Sch name = XA1_N #set_property PAKETA_PIN K3 LVCMOS33 [merrni_portet {JXADC [4]}] ## Sch name = XA2_N #set_property PACKAGE_PIN M3 [merrni_portet {JXADC [5]}] #set_property IOSTANDARD LVCMOS33 [merrni_portet {JXADC [5]}] # #Sch emrin = XA3_N PACKAGE_PIN M1 [merrni_porte {JXADC [6]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {JXADC [6]}] ## Sch name = XA4_N #set_property PACKAGE_PIN N1 [merrni_porte {JXADC [7]}] I caktuar_property [merrni_portet {JXADC [7]}]

## Lidhës VGA

#set_property PACKAGE_PIN G19 [merrni_porte {vgaRed [0]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {vgaRed [0]}] #set_property PACKAGE_PIN H19 [merrni_porte {vgaRed [1]}] #set_property IOST }] #set_property PACKAGE_PIN J19 [merrni_porte {vgaRed [2]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {vgaRed [2]}] #set_property PACKAGE_PIN N19 [merrni_porte {vgaRed [3]}] #set_property 2] vgaBlue [1]}] #set_property PACKAGE_PIN K18 [merrni_porte {vgaBlue [2]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {vgaBlue [2]}] #set_property PACKAGE_PIN J18 [merrni_porte] Vpertë_Bardhe_ARDE merrni_portet {vgaBlue [3]}] #set_property PACKAGE_PIN J17 [merrni_portet {vgaGreen [0]}] #set_property IOSTANDARD LVCMOS33 [merrni_p orts {vgaGreen [0]}] #set_property PACKAGE_PIN H17 [merrni_porte {vgaGreen [1]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {vgaGreen [1]}] #set_property PACKAGE_PIN G17 [#_propert] vardyGOST [2] LVCMOS33 [merrni_portet {vgaGreen [2]}] #set_property PACKAGE_PIN D17 [merrni_portet {vgaGreen [3]}] #set_property IOSTANDARD LVCMOS33 [merrni_portet {vgaGreen [3]}] #set_property PACKAGE_PIN PARDVP_33PARD_PARDPRO3PROPORT_PARDPROPIN_PARD Hsync] #set_property PACKAGE_PIN R19 [merrni_portet Vsync] #set_property IOSTANDARD LVCMOS33 [merrni_portet Vsync]

## Ndërfaqja USB-RS232

#set_property PACKAGE_PIN B18 [merrni_portet RsRx] #set_property IOSTANDARD LVCMOS33 [merrni_portet RsRx] #set_property PACKAGE_PIN A18 [merrni_portet RsTx] #set_property IOSTANDARD LVCMOS33 [merrni_port RsTx]

## USB HID (PS/2)

#set_property PACKAGE_PIN C17 [merrni_portet PS2Clk] #set_property IOSTANDARD LVCMOS33 [merrni_portet PS2Clk] #set_property PULLUP true [merrni_portet PS2Clk] #set_property PACKAGE_PIN B17 [merrni_porte PS2Pata

## Flash Quad SPI

## Vini re se CCLK_0 nuk mund të vendoset në pajisjet e 7 serive. Ju mund të përdorni atë duke përdorur ## STARTUPE2 primitive. #set_property PACKAGE_PIN D18 [merrni_porte {QspiDB [0]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {QspiDB [0]}] #set_property PACKAGE_PIN D19 [merrni_porte {QspiDB [1]} [set_property }] #set_property PACKAGE_PIN G18 [merrni_porte {QspiDB [2]}] #set_property IOSTANDARD LVCMOS33 [merrni_porte {QspiDB [2]}] #set_property PACKAGE_PIN F18 [merrni_porte {QspiDB [3] GROD_3333 [SP_PD_33] IOS_PRO33 3]}] #set_property PACKAGE_PIN K19 [merrni_portet QspiCSn] #set_property IOSTANDARD LVCMOS33 [merrni_portet QspiCSn]

Hapi 6: Instalimi i sensorit të lëvizjes PIR

Instalimi i sensorit të lëvizjes PIR
Instalimi i sensorit të lëvizjes PIR
Instalimi i sensorit të lëvizjes PIR
Instalimi i sensorit të lëvizjes PIR

Sensori i lëvizjes PIR ka tre kunja: fuqia, gnd dhe alarmi respektivisht (shiko foton e parë). Sensori i lëvizjes i sugjeruar në këtë udhëzues mund të lidhet drejtpërdrejt me tryezën e bukës. Por për sensorin që përdorëm ne duhej të prisnim dhe të zhvidhnim telat dhe pastaj të bashkonim skajet e ekspozuara për t'i mbajtur ato të mos prishen. Në tabelën e bukës futni një tel kërcyes mashkull në femër në seri me kunjat e fuqisë dhe tokëzimit dhe pastaj një tel kërcyes mashkull në mashkull në seri me kunjat e alarmit (shiko foton e dytë).

Hapi 7: Instalimi i LED -it në Breadboard

Instalimi i LED -it në tabelën e bukës
Instalimi i LED -it në tabelën e bukës
Instalimi i LED -it në tabelën e bukës
Instalimi i LED -it në tabelën e bukës

Futeni LED -in në tabelën e bukës. Futni një kabllo bluzë të zezë në mashkull në seri me prizën e shkurtër të LED. Pastaj lidhni kabllon bluzë me ngjyra të ndryshme për meshkuj me meshkuj në seri me plumbin e gjatë të LED.

Hapi 8: Lidhjet e Bordit të Basys

Lidhjet e Bordit të Basys
Lidhjet e Bordit të Basys

Lidhni skajet femra të sensorit të lëvizjes PIR në burimin e tensionit 5 volt në tabelën e bazës. Pastaj lidhni tela mashkullore të tokëzimit LED në tokën e portës anësore, pastaj telin e alarmit nga sensori i lëvizjes PIR dhe pastaj tela e hyrjes LED (siç shihet në foto).

Recommended: