Obsah:

LED so senzorom pohybu: 8 krokov
LED so senzorom pohybu: 8 krokov

Video: LED so senzorom pohybu: 8 krokov

Video: LED so senzorom pohybu: 8 krokov
Video: Svetelná upozornenie so senzorom pohybu 2024, Júl
Anonim
Image
Image

Pozadie:

Zabudli ste niekedy vypnúť svetlo predtým, ako odídete do triedy alebo do práce alebo pred spaním? Tieto hodiny so zapnutými svetlami, keď ich nepoužívate, môžu skutočne prispieť k nákladom a stratám energie. Napríklad podľa solarcity.com, ak necháte svetlá zapnuté celý týždeň, môže sa k vášmu účtu za elektrickú energiu pridať 25 dolárov! Pre náš projekt CPE133 navrhujeme svetlo so senzorom pohybu, ktoré ľuďom pomôže šetriť energiou vo svojich domovoch a efektívne využívať svoje svetlá.

Náš systém v praxi:

V praxi sa svetlá rozsvietia iba vtedy, keď snímač detekuje pohyb v miestnosti. Potom svetlá zostanú zapnuté po stanovenú dobu, napríklad asi 30 minút, a potom sa automaticky vypnú. Povedzme však, že ste len prechádzali alebo ste chceli opustiť miestnosť skôr, ako uplynie nastavený čas. V týchto prípadoch sme nainštalovali tlačidlo, pomocou ktorého môžete svetlá zapnúť alebo vypnúť ručne. Svetlá zostanú zapnuté 30 minút, aj keď sa svetlá zapnú ručne alebo automaticky (pokiaľ sa svetlá nevypnú ručne).

Simulácia na palube:

Aby sme zistili, že časovač funguje, zmenili sme časovač na 1 minútu.

Materiály:

  • 1 základná doska (jednu nájdete tu od spoločnosti Digilent)
  • 1 snímač pohybu PIR (nájdete ho tu na Amazone)
  • 1 doska a súprava (odporúčame použiť túto z Amazonu)
  • Zo súpravy vyššie

    • 1 LED dióda
    • 3 prepojovacie káble
    • 6 prepojovacích káblov medzi mužom a mužom

Krok 1: Časovač

Aby dióda LED zostala svietiť 1 minútu, musíme si najskôr vytvoriť časovač. Doska Basys 3 má vnútornú frekvenciu 100 MHz, čo znamená, že 100 miliónov cyklov sa rovná 1 sekunde. Potom sa použije ako premenná, ktorá bude fungovať ako maximálny počet pre „t_cnt“. T_cnt sa zvýši o 1, keď doska Basys 3 dokončí cyklus. Akonáhle dosiahne hranicu 100 miliónov, resetuje sa a ďalšia premenná „s“sa zvýši o 1. Táto premenná „s“predstavuje počet uplynulých sekúnd a akonáhle sa táto premenná rovná 60, uplynula celá minúta.

Skopírujte nižšie uvedený kód do zdrojového súboru vhdl s názvom Timer.

entita COUNT_8B je

port (RESET: v std_logic;

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

koniec COUNT_8B;

architektúra môj_počet je COUNT_8B

konštanta max_count: celé číslo: = (100000000); -signál t_cnt: std_logic_vector (7 až 0): = "00000000"; signál t_cnt: celé číslo: = (0); začať proces (CLK, RESET, t_cnt) premenná sek: celé číslo: = 0; begin if (rise_edge (CLK)) then if (RESET = '1') then t_cnt <= (0); - potom zrušte začiarknutie (t_cnt = max_count)- max_count je 100 miliónov, čo sa rovná 1 sekunde t_cnt <= (0); - Vynuluje vnútorné hodiny na 0 s: = s + 1; - Zvyšuje naše „pomalé hodiny“o 1, ak (s = 60), potom- Keď dosiahne 60 sekúnd, potom dosiahne maximálny čas s: = 0; - Resetuje „pomalé hodiny“na 0 T <= '1'; koniec Ak; inak t_cnt <= t_cnt + 1; - zvyšuje vnútorné hodiny T <= '0'; koniec Ak; koniec Ak; konečný proces; ukončiť môj_počet;

Krok 2: Optimalizácia tlačidiel

LED
LED

Pretože frekvencia v doskách Basys je taká vysoká (okolo 100 MHz), keď tlačíte to, čo si myslíte, že je na dosku Basys krátku dobu, stlačíte to 100 000 krát. To spôsobuje, že svetlo rýchlo bliká medzi zapnutým a vypnutým stavom. Pokúsili sme sa optimalizovať tlačidlo vytvorením stavového diagramu na zníženie blikania.

Žabky d podržia každý stav a potom v príkaze procesu zadáme prechody stavov.

Skopírujte nižšie uvedený kód do zdrojového súboru vhdl s názvom Button.

knižnica IEEE; použite IEEE. STD_LOGIC_1164. ALL;

tlačidlo entity je

Port (btn: in STD_LOGIC; clk: in STD_LOGIC; E: out STD_LOGIC); tlačidlo ukončenia;

architektúra Správanie tlačidla je

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

začať

seq_proc: process (NS, clk) begin if (rise_edge (clk)) then PS <= NS; koniec Ak; ukončiť proces seq_proc;

ns_proc: process (btn, PS)

začiatok prípadu PS je, keď NP => if (btn = '1') potom NS <= STLAČENÉ; E <= '1'; inak NS <= NP; E ak (btn = '0') potom NS <= NP; E <= '0'; inak NS <= TLAČENÉ; E <= '0'; koniec Ak; koncový prípad; ukončiť proces ns_proc;

koniec Behaviorálne;

Krok 3: LED dióda

LED dióda má dva stavy: VYPNUTÉ (alebo VYPNUTÉ) a ZAPNUTÉ. Ako už bolo povedané, stavy sú uložené v d-flip-flope. Svetlo sa rozsvieti, ak snímač detekuje pohyb (S = 1) alebo po stlačení tlačidla (E = 1). LED dióda sa vypne automaticky, ak časovač dosiahne 1 minútu (T = 1) alebo manuálne po stlačení tlačidla (E = 1).

Skopírujte nižšie uvedený kód do zdrojového súboru vhdl s názvom LED.

entita motion_sensored_light je Port (S: v STD_LOGIC; - sesnor; Port JA10/Pin G3 E: v STD_LOGIC; - externé tlačidlo pre manuálnu funkciu; Stredové tlačidlo T: v STD_LOGIC; - keď časovač dosiahne maximálny čas; LED diódy časovača: out STD_LOGIC; - svetlo TRST: out STD_LOGIC; - resetuje časovač clk: v STD_LOGIC); - clk pre flip flop, ktoré držia konce štátov motion_sensored_light;

architektúra Správanie objektu motion_sensored_light je

typ state_type je (ST0, ST1); --ST0 = VOLNOTA, ST1 = LED VYSOKÁ

signál PS, NS: typ_stavu: = ST0; - SÚČASNÝ ŠTÁT A ĎALŠÍ ŠTÁT, začína v ST0 IDLE

začať

- procesný blok flip flopu- stav aktualizácie na stúpajúcej hrane hodín seq_proc: process (NS, clk) begin- d flip flop, ktorý drží stavy if (rise_edge (clk)) then PS <= NS; koniec Ak; ukončiť proces seq_proc;

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

začiatok prípadu PS je, keď ST0 => LED <= '0'; - výstupy pre pokojový stav TRST <= '1'; ak (S = '0' ALEBO E = '1') potom - vstupy na prechod z st0 do st1 NS <= ST1; inak NS LED <= '1'; - výstupy pre stav TRST <= '0'; ak (E = '1' ALEBO T = '1') potom - vstupy na prechod z st1 do st0 NS <= ST0; inak NS <= ST1; koniec Ak; koncový prípad; ukončiť proces ns_proc;

koniec Behaviorálne;

Krok 4: Najvyšší súbor

Teraz prejdeme k mape portov všetkých našich ostatných súborov do jedného.

Skopírujte nižšie uvedený kód do zdrojového súboru vhdl s názvom Top_File.

knižnica IEEE; použite 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čidlo pre manuálnu funkciu; LED dióda stredového tlačidla: out STD_LOGIC; - light clk: v STD_LOGIC); - clk pre flip flop, ktoré držia konce štátov Top_File;

architektúra Behaviorálne z Top_File je

komponent COUNT_8B je

port (RESET: v std_logic: = '0'; CLK: v std_logic; T: out std_logic: = '0'); koncová zložka; komponent motion_sensored_light je Port (S: v STD_LOGIC; - sesnor; Port JA10/Pin G3 E: v STD_LOGIC; - externé tlačidlo pre manuálnu funkciu; Stredové tlačidlo T: v STD_LOGIC; - keď časovač dosiahne maximálny čas; LED diódy časovača: out STD_LOGIC; - svetlo TRST: out STD_LOGIC; - resetuje časovač clk: v STD_LOGIC); - clk pre žabky, ktoré držia koncovú zložku stavov; komponentné tlačidlo je Port (btn: v STD_LOGIC; clk: v STD_LOGIC; E: out STD_LOGIC); koncová zložka; signál t_reached_c: std_logic; - signál r_time_c: std_logic; - signálne tlačidlo_c: std_logic;

začať

časovač: COUNT_8B mapa portu (RESET => r_time_c, CLK => CLK, T => t_reached_c); motion_sensor: mapa pohybu motion_sensored_light (S => S, E => button_c, T => t_reached_c, LED => LED, TRST => r_time_c, clk => clk); button_controller: mapa portov tlačidiel (btn => btn, clk => clk, E => button_c); koniec Behaviorálne;

Krok 5: Súbor obmedzení

Teraz musíme definovať, kde budú naše vstupy a výstupy na doske.

Skopírujte nižšie uvedený kód do súboru obmedzení vhdl s názvom Obmedzenia.

## Tento súbor je všeobecný.xdc pre dosku Basys3 rev B ## Ak ho chcete použiť v projekte: ## - odkomentujte riadky zodpovedajúce použitým kolíkom ## - premenujte použité porty (v každom riadku, po get_ports) podľa na názvy signálov najvyššej úrovne v projekte

## 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 diódy

#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 1 }] #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_portperPACK_P {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 segmentový displej #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] #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čidlá

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]

## Hlavička 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ázov = 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]

## Hlavička 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 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]}]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 IOSTANDARD LM JB [7]}]

## Hlavička Pmod 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]}] ## názov = 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 IOSTANDARD LM JC [7]}]

## Hlavička 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]} IOST_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 P19 [get Hsync] #set_property PACKAGE_PIN R19 [get_ports Vsync] #set_property IOSTANDARD LVCMOS33 [get_ports Vsync]

## Rozhranie 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

## Upozorňujeme, že CCLK_0 nemožno umiestniť do zariadení radu 7. Prístup k nemu získate pomocou 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_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] }_set33 3]}] #set_property PACKAGE_PIN K19 [get_ports QspiCSn] #set_property IOSTANDARD LVCMOS33 [get_ports QspiCSn]

Krok 6: Zapojenie snímača pohybu PIR

Zapojenie snímača pohybu PIR
Zapojenie snímača pohybu PIR
Zapojenie snímača pohybu PIR
Zapojenie snímača pohybu PIR

Pohybový snímač PIR má tri kolíky: napájanie, GND a alarm (pozri prvý obrázok). Senzor pohybu navrhnutý v tomto návode sa môže pripojiť priamo k doske na chlieb. Ale pre snímač, ktorý sme použili, sme museli drôty odstrihnúť a odizolovať a potom spájkovať odkryté konce, aby sa nestratili. Na prepájaciu dosku zapojte prepojovací kábel z mužského do ženského konektora v sérii s napájacími a uzemňovacími kolíkmi a potom prepojovací kábel z mužského do mužského zdroja do série s výstražným kolíkom (pozri druhý obrázok).

Krok 7: Zapojenie LED diódy v Breadboarde

Zapojenie LED diódy v Breadboarde
Zapojenie LED diódy v Breadboarde
Zapojenie LED diódy v Breadboarde
Zapojenie LED diódy v Breadboarde

Zapojte diódu LED do nepájivého poľa. Pripojte čierny prepojovací kábel medzi mužmi a mužmi v sérii s krátkym káblom LED. Potom zapojte do série rôznofarebný prepojovací kábel medzi mužmi a mužmi s dlhým káblom LED.

Krok 8: Pripojenia základnej dosky

Pripojenia základnej dosky
Pripojenia základnej dosky

Pripojte vnútorné konce snímača pohybu PIR k 5 -voltovému zdroju napätia na základnej doske. Potom zapojte uzemňovací vodič LED samca do uzemnenia bočného portu, potom poplachový vodič zo snímača pohybu PIR a potom vstupný vodič LED (ako je vidieť na obrázku).

Odporúča: