Obsah:
- Krok 1: Časovač
- Krok 2: Optimalizácia tlačidiel
- Krok 3: LED dióda
- Krok 4: Najvyšší súbor
- Krok 5: Súbor obmedzení
- Krok 6: Zapojenie snímača pohybu PIR
- Krok 7: Zapojenie LED diódy v Breadboarde
- Krok 8: Pripojenia základnej dosky
Video: LED so senzorom pohybu: 8 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:00
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
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
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
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
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:
Náramok s teplotným senzorom a diódami LED: 5 krokov
Náramok so snímačom teploty a LED diódami: V tomto projekte som vyrobil náramok s teplotným snímačom so zapojenými LED svetlami
DIY automatické snímanie pohybu LED nočné svetlo: 6 krokov (s obrázkami)
DIY automatické snímanie pohybu LED nočné svetlo: Ahoj, priatelia, vítajte v ďalšom návode, ktorý vám vždy pomôže vo vašom každodennom živote a pridá vám pohodlie, ktoré vám uľahčí život. Niekedy to môže byť záchranca života v prípade starších ľudí, ktorí sa musia snažiť vstať z postele
Vylepšite svojpomocný zavlažovací hrniec pomocou WiFi na kutilský detektor pohybu s detekciou pohybu a sadbovačom: 17 krokov
Vylepšite svojpomocný zavlažovací kvetináč pomocou WiFi na kutilský detektor pohybu detektora pohybu : V tomto článku vám ukážeme, ako upgradovať svoj vlastný zavlažovací kvetináč s WiFi na samonavlažovací kvetináč s WiFi a alarmom detekcie pohybu. nečítali ste článok o tom, ako si postaviť svojpomocný zavlažovací hrniec pomocou WiFi, môžete
Arduino napájané, senzorom riadené blednúce svetelné pásy LED: 6 krokov (s obrázkami)
Arduino napájané, senzormi riadené blednúce LED svetelné pásy: Nedávno som nechal aktualizovať svoju kuchyňu a vedel som, že osvetlenie „zdvihne“vzhľad skriniek. Išiel som na „True Handless“, takže mám medzeru pod pracovnou plochou, ako aj kickboard, pod skrinku a na vrch skrín, ktoré sú k dispozícii, a
Senzor pohybu aktivovaný LED pásik s časovačom: 6 krokov (s obrázkami)
Senzor pohybu aktivovaný LED pásikom s časovačom: Ahoj všetci! Som veľmi rád, že práve teraz píšem ďalší návod. Tento projekt vznikol, keď ma pred niekoľkými mesiacmi kontaktoval kolega inštruktor (-er) (?!) (David @dducic) so žiadosťou o pomoc pri navrhovaní. Takže tu bola pôvodná špecifikácia: & q