Obsah:

Motion Sensored LED: 8 kroků
Motion Sensored LED: 8 kroků

Video: Motion Sensored LED: 8 kroků

Video: Motion Sensored LED: 8 kroků
Video: Arduino Step by Step Course by Robojax, Lesson 16: Using HS-SR501 Motion Sensor 2024, Červenec
Anonim
Image
Image

Pozadí:

Zapomněli jste někdy zhasnout světlo, než vyrazíte do třídy nebo do práce nebo než jdete spát? Tyto hodiny se rozsvícenými světly, když je nepoužíváte, mohou skutečně přispět k nákladům a ztrátám energie. Například podle solarcity.com, ponechání světla po celou noc po dobu jednoho týdne může přidat 25 $ k vašemu účtu za elektřinu! Pro náš projekt CPE133 navrhujeme světlo se senzorem pohybu, které lidem pomáhá šetřit energii ve svých domovech a efektivně využívat jejich světla.

Náš systém v praxi:

V praxi se světla zapnou pouze tehdy, když senzor detekuje pohyb v místnosti. Poté světla zůstanou zapnutá po nastavenou dobu, například asi 30 minut, a poté se automaticky vypnou. Ale řekněme, že jste jen procházeli nebo jste chtěli opustit místnost dřív, než uplyne nastavený čas. Pro tyto případy jsme nainstalovali tlačítko, pomocí kterého můžete světla zapnout nebo vypnout ručně. Světla zůstanou rozsvícená po dobu 30 minut, i když se světla zapnou ručně nebo automaticky (pokud světla nevypnete ručně).

Simulace na palubě:

Abychom viděli, že časovač funguje, změnili jsme časovač na 1 minutu.

Materiály:

  • 1 základní deska (jednu najdete zde od Digilent)
  • 1 snímač pohybu PIR (jeden najdete zde na Amazonu)
  • 1 prkénko a sada (doporučujeme použít tuto od Amazonu)
  • Ze sady výše

    • 1 LED
    • 3 propojovací kabely samice a samice
    • 6 propojovacích kabelů mezi mužem a mužem

Krok 1: Časovač

Aby LED svítila 1 minutu, musíme nejprve vytvořit časovač. Deska Basys 3 má vnitřní frekvenci 100 MHz, takže 100 milionů cyklů se rovná 1 sekundě. To se pak použije jako proměnná, která bude fungovat jako maximální počet pro „t_cnt“. T_cnt se zvyšuje o 1, když deska Basys 3 dokončí cyklus. Jakmile dosáhne hranice 100 milionů, resetuje se a další proměnná „s“se zvýší o 1. Tato proměnná „s“představuje počet uplynulých sekund a jakmile se tato proměnná rovná 60, uplynula celá minuta.

Zkopírujte níže uvedený kód do zdrojového souboru vhdl s názvem Timer.

entita COUNT_8B je

port (RESET: v std_logic;

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

konec COUNT_8B;

architektura my_count z COUNT_8B je

konstanta max_count: integer: = (100000000); --signál t_cnt: std_logic_vector (7 až 0): = "00000000"; signál t_cnt: integer: = (0); začít proces (CLK, RESET, t_cnt) proměnná sec: integer: = 0; begin if (rise_edge (CLK)) then if (RESET = '1') then t_cnt <= (0); - pak vymažte elsif (t_cnt = max_count)- max_count je 100 milionů, což se rovná 1 sekundě t_cnt <= (0); - Resetuje vnitřní hodiny na 0 s: = s + 1; - Zvyšuje naše 'pomalé hodiny' o 1, pokud (s = 60) pak- Jakmile dosáhne 60 sekund, pak dosáhne maximálního času s: = 0; - Resetuje „pomalé hodiny“na 0 T <= '1'; konec pokud; jinak t_cnt <= t_cnt + 1; - zvyšuje vnitřní hodiny T <= '0'; konec pokud; konec pokud; konečný proces; ukončit můj_čet;

Krok 2: Optimalizace tlačítek

VEDENÝ
VEDENÝ

Vzhledem k tomu, že frekvence na deskách Basys je tak vysoká (kolem 100 MHz), když stisknete to, co si myslíte, že je na desku Basys krátkou dobu, stisknete ji 100 000krát. To způsobí, že světlo rychle bliká mezi stavem zapnutí a vypnutí. Pokusili jsme se optimalizovat tlačítko vytvořením stavového diagramu, abychom omezili blikání.

Žabky d udrží každý stav a poté v příkazu procesu zadáme přechody stavů.

Zkopírujte níže uvedený kód do zdrojového souboru vhdl s názvem Button.

knihovna IEEE; použijte IEEE. STD_LOGIC_1164. ALL;

tlačítko entity je

Port (btn: in STD_LOGIC; clk: in STD_LOGIC; E: out STD_LOGIC); tlačítko ukončení;

architektura Chování tlačítka je

typ state_type je (PRESSED, NP); signál PS, NS: typ_stavu: = NP;

začít

seq_proc: process (NS, clk) begin if (rise_edge (clk)) then PS <= NS; konec pokud; ukončit proces seq_proc;

ns_proc: process (btn, PS)

začátek případu PS je, když NP => if (btn = '1') pak NS <= STISKNUTO; E <= '1'; jinak NS <= NP; E if (btn = '0') then NS <= NP; E <= '0'; jinak NS <= STISKNUTO; E <= '0'; konec pokud; koncový případ; ukončit proces ns_proc;

konec Behaviorální;

Krok 3: LED

LED má dva stavy: VYPNUTO (nebo VYPNUTO) a ZAPNUTO. Jak již bylo řečeno, stavy jsou uloženy v d-flip-flopu. Světlo se rozsvítí, pokud senzor detekuje pohyb (S = 1) nebo po stisknutí tlačítka (E = 1). LED dioda zhasne automaticky, pokud časovač dosáhne 1 minuty (T = 1), nebo ručně po stisknutí tlačítka (E = 1).

Zkopírujte níže uvedený kód do zdrojového souboru vhdl s názvem LED.

entita motion_sensored_light je Port (S: v STD_LOGIC; - sesnor; Port JA10/Pin G3 E: v STD_LOGIC; - externí tlačítko pro manuální funkci; Středové tlačítko T: v STD_LOGIC; - když časovač dosáhne maximálního času; Z LED časovače: out STD_LOGIC; - light TRST: out STD_LOGIC; - resetuje časovač clk: v STD_LOGIC); - clk pro flip flop, které drží konce států motion_sensored_light;

architektura Behavioral of motion_sensored_light is

typ state_type je (ST0, ST1); --ST0 = VOLNOBĚH, ST1 = LED VYSOKÁ

signál PS, NS: typ_stavu: = ST0; - SOUČASNÝ STAV A DALŠÍ STAV, začíná v ST0 IDLE

začít

- procesní blok flip flopu- stav aktualizace na stoupající hraně hodin seq_proc: process (NS, clk) begin- d flip flop, který drží stavy if (rise_edge (clk)) then PS <= NS; konec pokud; ukončit proces seq_proc;

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

začátek případu PS je, když ST0 => LED <= '0'; - výstupy pro klidový stav TRST <= '1'; if (S = '0' NEBO E = '1') then - vstupy pro přechod ze st0 do st1 NS <= ST1; jinak NS LED <= '1'; - výstupy pro stav TRST <= '0'; if (E = '1' NEBO T = '1') then - vstupy do přechodu ze st1 do st0 NS <= ST0; jinak NS <= ST1; konec pokud; koncový případ; ukončit proces ns_proc;

konec Behaviorální;

Krok 4: Horní soubor

Nyní budeme mapovat porty všechny naše ostatní soubory do jednoho.

Zkopírujte níže uvedený kód do zdrojového souboru vhdl s názvem Top_File.

knihovna IEEE; použijte IEEE. STD_LOGIC_1164. ALL;

entita Top_File je

Port (S: in STD_LOGIC: = '1'; - sesnor; Port JA10/Pin G3 btn: in STD_LOGIC: = '0'; - externí tlačítko pro manuální funkci; LED středového tlačítka: out STD_LOGIC; - light clk: ve STD_LOGIC); - clk pro flip flop, které drží konce stavů Top_File;

architektura Behavioral of Top_File is

komponenta COUNT_8B je

port (RESET: v std_logic: = '0'; CLK: v std_logic; T: out std_logic: = '0'); koncová složka; komponenta motion_sensored_light je Port (S: v STD_LOGIC; - sesnor; Port JA10/Pin G3 E: v STD_LOGIC; - externí tlačítko pro manuální funkci; Středové tlačítko T: v STD_LOGIC; - když časovač dosáhne maximálního času; Z LED časovače: out STD_LOGIC; - light TRST: out STD_LOGIC; - resetuje časovač clk: v STD_LOGIC); - clk pro flip flop, který drží koncovou komponentu států; tlačítko komponenty je Port (btn: v STD_LOGIC; clk: v STD_LOGIC; E: out STD_LOGIC); koncová složka; signál t_reached_c: std_logic; - signál r_time_c: std_logic; - signální tlačítko_c: std_logic;

začít

časovač: COUNT_8B mapa portu (RESET => r_time_c, CLK => CLK, T => t_reached_c); motion_sensor: mapa portu motion_sensored_light (S => S, E => button_c, T => t_reached_c, LED => LED, TRST => r_time_c, clk => clk); button_controller: mapa portů tlačítek (btn => btn, clk => clk, E => button_c); konec Behaviorální;

Krok 5: Soubor omezení

Nyní musíme definovat, kde budou naše vstupy a výstupy na desce.

Zkopírujte níže uvedený kód do souboru omezení vhdl s názvem Omezení.

## Tento soubor je obecný.xdc pro desku Basys3 rev B ## Chcete -li jej použít v projektu: ## - odkomentujte řádky odpovídající použitým pinům ## - přejmenujte použité porty (v každém řádku, po get_ports) podle na názvy signálů nejvyšší úrovně v projektu

## Hodinový signál

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] ## Switches #set_property PACKAGE_PIN V] 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 [_] #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 }] #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_P [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 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 diody

#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 }] #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 LVCMOS 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 LVCM 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 IOSTANDARDV 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_P [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_portperty PACKAGE_ {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 PACK [get_ports {led [15]}] #set_property IOSTANDARD LVCMOS33 [get_ports {led [15]}] ## 7 segmentový displej #set_property PACKAGE_PIN W7 [get_ports {seg [0]}] #set_property IOSTANDARD LVCMOS33 [get_ports {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] #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_P }] #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 }] #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]}]

## Tlačítka

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]

## Záhlaví 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]}] ## název = 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]}]AND_ 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] 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]

## Záhlaví Pmod 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 = 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]}]AND_ 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 IOSANDARD LM 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 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]}]AND_ 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 IOSTANDARDVM JC [7]}]

## Záhlaví 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_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 {JXADC = 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 {JXAD 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 = X3 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 [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 IOSTAND }] #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 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]}] STAND_pro 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 {vgaBlue_ 3] 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 {vgaGreen [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 P_19 Hsync] #set_property PACKAGE_PIN R19 [get_ports Vsync] #set_property IOSTANDARD LVCMOS33 [get_ports Vsync]

## Rozhraní 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]

## Quad SPI Flash

## Všimněte si, že CCLK_0 nelze umístit do zařízení řady 7. Můžete se k němu dostat pomocí primitivu ## 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]}] LAND_pro }] #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]}] 3]}] #set_property PACKAGE_PIN K19 [get_ports QspiCSn] #set_property IOSTANDARD LVCMOS33 [get_ports QspiCSn]

Krok 6: Zapojení snímače pohybu PIR

Zapojení snímače pohybu PIR
Zapojení snímače pohybu PIR
Zapojení snímače pohybu PIR
Zapojení snímače pohybu PIR

Snímač pohybu PIR má tři piny: napájení, GND a alarm (viz první obrázek). Pohybový senzor navržený v tomto pokynu se může připojit přímo k prkénku. Ale pro senzor, který jsme použili, jsme museli dráty přestřihnout a odizolovat a poté pájet odkryté konce, aby se neroztřepily. Na prkénko zapojte propojovací kabel mezi zástrčkou a zásuvkou v sérii s napájecími a uzemňovacími piny a poté propojovací kabel mezi mužem a mužem v sérii s alarmovým kolíkem (viz druhý obrázek).

Krok 7: Zapojení LED diody v Breadboardu

Zapojení LED diody v prkénku
Zapojení LED diody v prkénku
Zapojení LED diody v prkénku
Zapojení LED diody v prkénku

Zapojte LED do prkénka. Vložte černý propojovací kabel mezi mužem a mužem do série s krátkým vodičem LED. Poté zapojte různě barevný propojovací kabel mezi mužem a mužem v sérii s dlouhým přívodem LED.

Krok 8: Připojení základní desky

Připojení základní desky
Připojení základní desky

Zapojte vnitřní konce pohybového senzoru PIR do 5voltového zdroje napětí na základní desce. Poté připojte uzemňovací vodič LED zástrčky k uzemnění postranního portu, poté alarmový vodič ze snímače pohybu PIR a poté vstupní vodič LED (jak je vidět na obrázku).

Doporučuje: