Sadržaj:

LED senzor pokreta: 8 koraka
LED senzor pokreta: 8 koraka

Video: LED senzor pokreta: 8 koraka

Video: LED senzor pokreta: 8 koraka
Video: Светодиодные фонари уличного освещения на солнечных батареях с датчиком движения. Обзор 2024, Srpanj
Anonim
Image
Image

Pozadina:

Jeste li ikada zaboravili ugasiti svjetlo prije nego što krenete na nastavu ili posao ili prije nego što odete u krevet? Ti sati sa upaljenim svjetlima kada ih ne koristite mogu stvarno povećati troškove i gubitak energije. Na primjer, prema solarcity.com, ako ostavite svjetla uključena cijelu noć tjedan dana, vašem računu za struju možete dodati 25 USD! Za naš projekt CPE133 dizajnirali smo svjetlo senzora pokreta kako bismo pomogli ljudima uštedjeti energiju u svojim domovima i učinkovito koristiti njihova svjetla.

Naš sustav u praksi:

U praksi bi se svjetla uključivala samo kada senzor detektira kretanje u prostoriji. Tada će svjetla ostati uključena određeno vrijeme, na primjer oko 30 minuta, a zatim će se automatski isključiti. Ali recimo da ste upravo prolazili ili ste htjeli izaći iz sobe prije nego što je prošlo zadano vrijeme. Za te smo slučajeve instalirali gumb na kojem možete ručno uključiti ili isključiti svjetla. Imajte na umu da će svjetla ostati upaljena 30 minuta čak i kad se svjetla uključe ručno ili automatski (osim ako se svjetla ne isključuju ručno).

Simulacija na brodu:

Da bismo vidjeli da li mjerač vremena radi, promijenili smo mjerač na 1 minutu.

Materijali:

  • 1 Basys ploča (jednu možete pronaći ovdje s Digilenta)
  • 1 PIR senzor pokreta (jedan možete pronaći ovdje na Amazonu)
  • 1 ploča i komplet (predlažemo da koristite ovaj s Amazona)
  • Iz gornjeg kompleta
    • 1 LED
    • 3 ženska spojna kabela
    • 6 spojnih kabela muški na muški

Korak 1: Odbrojavanje vremena

Kako bi LED dioda ostala svijetliti 1 minutu, prvo moramo stvoriti mjerač vremena. Ploča Basys 3 ima unutarnju frekvenciju od 100 MHz, pa čini 100 milijuna ciklusa jednakim 1 sekundi. To se tada koristi kao varijabla koja će djelovati kao najveći broj za "t_cnt". T_cnt se povećava za 1 kako ploča Basys 3 dovršava ciklus. Kad dosegne oznaku od 100 milijuna, poništit će se, a druga varijabla, "sec", povećat će se za 1. Ova "sec" varijabla predstavlja broj sekundi koje su prošle, a nakon što je ta varijabla jednaka 60, prošla je cijela minuta.

Kopirajte donji kôd u vhdl izvornu datoteku pod nazivom Timer.

entitet COUNT_8B je

port (RESET: u std_logic;

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

kraj COUNT_8B;

arhitektura moj_broj od COUNT_8B je

konstanta max_count: cijeli broj: = (100000000); --signal t_cnt: std_logic_vector (7 downto 0): = "00000000"; signal t_cnt: cijeli broj: = (0); početak procesa (CLK, RESET, t_cnt) varijabla sec: cijeli broj: = 0; start if (rise_edge (CLK)) then if (RESET = '1') then t_cnt <= (0); - očisti elsif (t_cnt = max_count) tada- max_count je 100 milijuna što je jednako 1 sekundi t_cnt <= (0); - Vraća unutarnji sat na 0 sek: = sec + 1; - Povećava naš 'spori sat' za 1 ako (sec = 60) tada- Kad dosegne 60 sekundi onda je doseglo maksimalno vrijeme sec: = 0; - Vraća "spor sat" na 0 T <= '1'; završi ako; else t_cnt <= t_cnt + 1; - povećava unutarnji sat T <= '0'; završi ako; završi ako; završetak procesa; završi moj_broj;

Korak 2: Optimizacija gumba

LED
LED

Budući da je frekvencija na Basys pločama toliko visoka (oko 100 MHz) kada pritisnete ono što mislite da je kratko vrijeme do Basys ploče, pritisnuli biste je 100 000 puta. Zbog toga svjetlo brzo treperi između stanja uključivanja i isključivanja. Pokušali smo optimizirati gumb stvaranjem dijagrama stanja kako bismo smanjili treperenje.

D-japanke će držati svako stanje, a zatim ćemo u izrazu procesa navesti prijelaze stanja.

Kopirajte donji kod u vhdl izvornu datoteku pod nazivom Button.

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

gumb entiteta je

Port (btn: u STD_LOGIC; clk: u STD_LOGIC; E: van STD_LOGIC); gumb za kraj;

arhitektura Ponašanje gumba je

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

početi

seq_proc: process (NS, clk) start if (rise_edge (clk)) then PS <= NS; završi ako; završi proces seq_proc;

ns_proc: proces (btn, PS)

početni slučaj PS je kada je NP => if (btn = '1') tada je NS <= PRITISAN; E <= '1'; inače NS <= NP; E ako je (btn = '0') tada je NS <= NP; E <= '0'; else NS <= PRITISANO; E <= '0'; završi ako; završni slučaj; završi proces ns_proc;

kraj Ponašanje;

Korak 3: LED

LED ima dva stanja: OFF (ili IDLE) i ON. Kao što je već rečeno, stanja su pohranjena u d-flip-flopu. Svjetlo će se uključiti ako senzor detektira kretanje (S = 1) ili kada se pritisne tipka (E = 1). LED će se automatski isključiti ako mjerač vremena dosegne 1 minutu (T = 1) ili ručno kada se pritisne tipka (E = 1).

Kopirajte donji kod u vhdl izvornu datoteku pod nazivom LED.

entitet motion_sensored_light je Port (S: u STD_LOGIC; - sesnor; Port JA10/Pin G3 E: u STD_LOGIC; - vanjski gumb za ručnu funkciju; Središnji gumb T: u STD_LOGIC; - kada mjerač dostigne maksimalno vrijeme; Iz LED tajmera: out STD_LOGIC; - svjetlo TRST: out STD_LOGIC; - resetira timer clk: u STD_LOGIC); - clk za japanke koje drže stanje na kraju motion_sensored_light;

arhitektura Bihevioralno kretanje_osjetljiva_svjetlost je

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

signal PS, NS: stanje_tip: = ST0; - SADAŠNJE I SLJEDEĆE DRŽAVE, počinje u ST0 IDLE

početi

- procesni blok flip flopa- ažurira stanje na rastućem rubu sata seq_proc: process (NS, clk) begin- d flip flop koji drži stanja if (rise_edge (clk)) then PS <= NS; završi ako; završi proces seq_proc;

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

početni slučaj PS je kada je ST0 => LED <= '0'; - izlazi za stanje mirovanja TRST <= '1'; if (S = '0' OR E = '1') then - ulazi za prijelaz sa st0 na st1 NS <= ST1; else NS LED <= '1'; - izlazi za stanje TRST <= '0'; if (E = '1' OR T = '1') then - ulazi u za prijelaz iz st1 u st0 NS <= ST0; inače NS <= ST1; završi ako; završni slučaj; završi proces ns_proc;

kraj Ponašanje;

Korak 4: Gornja datoteka

Sada ćemo sve ostale datoteke preslikati u jednu.

Kopirajte donji kod u vhdl izvornu datoteku pod nazivom Top_File.

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

entitet Top_File je

Port (S: in STD_LOGIC: = '1'; - sesnor; Port JA10/Pin G3 btn: in STD_LOGIC: = '0'; - vanjski gumb za ručnu funkciju; LED LED središnjeg gumba: out STD_LOGIC; - svjetlo clk: u STD_LOGIC); - clk za japanke koje drže stanja na vrhu Top_File;

arhitektura Ponašanje Top_File je

komponenta COUNT_8B je

port (RESET: u std_logic: = '0'; CLK: u std_logic; T: van std_logic: = '0'); krajnja komponenta; komponenta motion_sensored_light je Port (S: u STD_LOGIC; - isključen; Port JA10/Pin G3 E: u STD_LOGIC; - vanjski gumb za ručnu funkciju; Središnji gumb T: u STD_LOGIC; - kada mjerač vremena dostigne maksimalno vrijeme; Iz LED tajmera: out STD_LOGIC; - svjetlo TRST: out STD_LOGIC; - resetira timer clk: u STD_LOGIC); - clk za japanke koje drže komponentu stanja stanja; gumb komponente je Port (btn: u STD_LOGIC; clk: u STD_LOGIC; E: van STD_LOGIC); krajnja komponenta; signal t_reached_c: std_logic; - signal r_time_c: std_logic; - signal button_c: std_logic;

početi

mjerač vremena: COUNT_8B karta porta (RESET => r_time_c, CLK => CLK, T => t_reached_c); senzor pokreta: mapa ulaza luka kretanja (senzor kretanja) (S => S, E => gumb_c, T => t_dostig_c, LED => LED, TRST => r_time_c, clk => clk); button_controller: karta porta gumba (btn => btn, clk => clk, E => button_c); kraj Ponašanje;

Korak 5: Datoteka ograničenja

Sada moramo definirati gdje će naši ulazi i izlazi biti na ploči.

Kopirajte donji kod u datoteku s ograničenjima vhdl pod nazivom Ograničenja.

## Ova je datoteka opći.xdc za Basys3 rev B ploču ## Za korištenje u projektu: ## - raskomentirajte retke koji odgovaraju korištenim pinovima ## - preimenujte rabljene portove (u svakom retku, nakon get_ports) prema do naziva signala najviše razine u projektu

## Signal sata

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] ## Prekidači #set_property PACKAGE_PIN [V17 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 diode

#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_promocija POP [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 zaglavlje 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_property IOSTARD 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 zaglavlje 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]}] #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 zaglavlje 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 name = 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]}]

## Pmod zaglavlje 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 {JXADCAD] [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]}] ## Sch name = 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 konektor

#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

## USB-RS232 sučelje

#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_PartaPOSPRODAJA PS2

## Quad SPI Flash

## Imajte na umu da se CCLK_0 ne može postaviti u uređaje serije 7. Možete mu pristupiti pomoću ## STARTUPE2 primitiva. #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 IOSTBARD [ISTANDARD] }] #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]

Korak 6: Ožičenje PIR osjetnika pokreta

Ožičenje PIR senzora pokreta
Ožičenje PIR senzora pokreta
Ožičenje PIR senzora pokreta
Ožičenje PIR senzora pokreta

PIR senzor pokreta ima tri pina: napajanje, gnd i alarm (pogledajte prvu sliku). Senzor pokreta koji je predložen u ovom uputstvu može se spojiti izravno na ploču. No, za senzor koji smo koristili morali smo odrezati i ogoliti žice, a zatim lemiti izložene krajeve kako se ne bi pohabali. Na matičnoj ploči umetnite kratkospojnik žica -muškarac u žicu s napajanjem i uzemljenjem, a zatim uzastopno spojnicu žica -muškarac u nizu s iglom za alarm (pogledajte drugu sliku).

Korak 7: Ožičenje LED diode na pločici

Ožičenje LED diode na pločici
Ožičenje LED diode na pločici
Ožičenje LED diode na pločici
Ožičenje LED diode na pločici

Uključite LED diodu u ploču s kruhom. Umetnite crni kratkospojnik kabel muški do muški u kratkom spoju LED. Zatim priključite muški na muški kratkospojnik različitih boja u nizu s dugim vodičem LED diode.

Korak 8: Povezivanje Basys ploče

Priključci Basys ploče
Priključci Basys ploče

Spojite ženske krajeve PIR osjetnika pokreta u izvor napona od 5 volti na ploči baze. Zatim spojite mušku LED žicu za uzemljenje na masu bočnog ulaza, zatim žicu alarma s PIR osjetnika pokreta, a zatim LED ulaznu žicu (kao što je prikazano na slici).

Preporučeni: