Turinys:

Judesio jutiklis: 8 žingsniai
Judesio jutiklis: 8 žingsniai

Video: Judesio jutiklis: 8 žingsniai

Video: Judesio jutiklis: 8 žingsniai
Video: Kurį PIR judesio jutiklį rinktis? Koks yra geriausias judesio jutiklis? EP53 / BK Grupė 2024, Liepa
Anonim
Image
Image

Fonas:

Ar kada nors pamirštate išjungti šviesą prieš eidami į pamoką ar darbą ar prieš eidami miegoti? Tos valandos su įjungtomis lemputėmis, kai jų nenaudojate, tikrai gali padidinti išlaidas ir energijos nuostolius. Pavyzdžiui, pagal solarcity.com, savaitei visą naktį įjungus šviesą, jūsų sąskaita už elektrą gali padidėti 25 USD! Savo CPE133 projektui mes kuriame judesio jutiklio lemputę, padedančią žmonėms taupyti energiją namuose ir efektyviai naudoti savo žibintus.

Mūsų sistema praktiškai:

Praktiškai žibintai įsijungtų tik tada, kai jutiklis aptinka judėjimą patalpoje. Tada lemputės degs tam tikrą laiką, pvz., Apie 30 minučių, ir tada automatiškai išsijungs. Bet tarkime, kad jūs tiesiog praėjote pro šalį arba norėjote išeiti iš kambario anksčiau, nei pasibaigė nustatytas laikas. Tokiais atvejais mes įdiegėme mygtuką, kuriuo galite rankiniu būdu įjungti arba išjungti šviesą. Atminkite, kad lemputės degs 30 minučių, net jei žibintai įjungiami rankiniu būdu arba automatiškai (nebent žibintai išjungiami rankiniu būdu).

Modeliavimas laive:

Norėdami pamatyti, kad laikmatis veikia, mes pakeitėme laikmatį į 1 minutę.

Medžiagos:

  • 1 „Basys“lenta (ją rasite čia iš „Digilent“)
  • 1 PIR judesio jutiklis (jį galite rasti čia „Amazon“)
  • 1 duonos lenta ir rinkinys (siūlome naudoti šį „Amazon“)
  • Iš aukščiau esančio rinkinio

    • 1 šviesos diodas
    • 3 jungiamieji kabeliai nuo moterų iki vyrų
    • 6 jungiamieji kabeliai nuo vyrų iki vyrų

1 žingsnis: laikmatis

Kad šviesos diodas liktų įjungtas 1 minutę, pirmiausia turime sukurti laikmatį. „Basys 3“plokštės vidinis dažnis yra 100 MHz, todėl 100 milijonų ciklų prilygsta 1 sekundei. Tada jis naudojamas kaip kintamasis, kuris veiks kaip didžiausias „t_cnt“skaičius. „T_cnt“padidėja 1, kai „Basys 3“plokštė užbaigia ciklą. Kai jis pasieks 100 milijonų ženklą, jis bus atstatytas, o kitas kintamasis, „sec“, padidės 1. Šis „sec“kintamasis parodo praleistų sekundžių skaičių, o kai šis kintamasis yra lygus 60, praėjo visa minutė.

Nukopijuokite žemiau esantį kodą į „vhdl“šaltinio failą, pavadintą „Timer“.

subjektas COUNT_8B yra

prievadas (RESET: std_logic;

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

pabaiga COUNT_8B;

architektūra „my_count“yra COUNT_8B

pastovus maks. skaičius: sveikasis skaičius: = (100000000); --signalo t_cnt: std_logic_vector (7 iki 0): = "00000000"; signalas t_cnt: sveikasis skaičius: = (0); pradėti procesą (CLK, RESET, t_cnt) kintamasis sek: sveikasis skaičius: = 0; pradėti, jei (kylančioji briauna (CLK)), tada, jei (RESET = '1'), tada t_cnt <= (0); - išvalykite elsif (t_cnt = max_count), tada- max_count yra 100 milijonų, tai yra lygu 1 sekundei t_cnt <= (0); - Nustato vidinį laikrodį į 0 sek.: = sek + 1; - Padidina mūsų „lėtą laikrodį“1, jei (sek = 60) tada- Kai jis pasiekia 60 sekundžių, jis pasiekia maksimalų laiką sek: = 0; - „Lėtas laikrodis“nustatomas į 0 T <= '1'; pabaiga, jei; kitaip t_cnt <= t_cnt + 1; - padidina vidinį laikrodį T <= '0'; pabaiga, jei; pabaiga, jei; pabaigos procesas; end my_count;

2 žingsnis: mygtukų optimizavimas

LED
LED

Kadangi „Basys“plokštėse dažnis yra toks didelis (apie 100 MHz), kai paspaudžiate, kaip manote, trumpą laiką prie „Basys“plokštės, paspausite ją 100 000 kartų. Dėl to šviesa greitai mirksi tarp įjungimo ir išjungimo būsenos. Mes bandėme optimizuoti mygtuką, sukurdami būsenos diagramą, kad sumažėtų mirgėjimas.

„D-flip-flops“laikys kiekvieną būseną, o tada proceso pareiškime nurodysime būsenos perėjimus.

Nukopijuokite žemiau esantį kodą į „vhdl“šaltinio failą, pavadintą „Button“.

biblioteka IEEE; naudokite IEEE. STD_LOGIC_1164. ALL;

esybės mygtukas yra

Uostas (btn: STD_LOGIC; clk: STD_LOGIC; E: out STD_LOGIC); pabaigos mygtukas;

architektūra Mygtuko elgsena yra

tipas state_type is (PRESSED, NP); signalas PS, NS: būsenos_ tipas: = NP;

pradėti

seq_proc: procesas (NS, clk) prasideda, jei (kylančioji briauna (clk)) tada PS <= NS; pabaiga, jei; pabaigos procesas seq_proc;

ns_proc: procesas (btn, PS)

pradžios atvejis PS yra tada, kai NP => jei (btn = '1'), tada NS <= PRESSED; E <= '1'; kitaip NS <= NP; E jei (btn = '0'), tada NS <= NP; E <= '0'; else NS <= PRESSED; E <= '0'; pabaiga, jei; pabaigos atvejis; pabaigos procesas ns_proc;

pabaiga Elgesys;

3 žingsnis: šviesos diodas

Šviesos diodas turi dvi būsenas: OFF (arba IDLE) ir ON. Kaip minėta anksčiau, būsenos saugomos „d-flip-flop“. Šviesa įsijungs, jei jutiklis aptiks judesį (S = 1) arba paspaudus mygtuką (E = 1). Šviesos diodas automatiškai išsijungs, jei laikmatis pasieks 1 minutę (T = 1) arba rankiniu būdu, kai bus paspaustas mygtukas (E = 1).

Nukopijuokite žemiau esantį kodą į „vhdl“šaltinio failą, pavadintą LED.

subjektas motion_sensored_light yra prievadas (S: STD_LOGIC; - sesnor; prievadas JA10/PIN G3 E: STD_LOGIC; - išorinis rankinio veikimo mygtukas; Centrinis mygtukas T: STD_LOGIC; - kai laikmatis pasiekia maksimalų laiką; Iš laikmačio šviesos diodo: iš STD_LOGIC; - šviesa TRST: iš STD_LOGIC; - iš naujo nustato laikmatį clk: STD_LOGIC); - clk flip flop, kuriame yra būsenos end motion_sensored_light;

architektūra „Motion_sensored_light“elgsena yra

tipas state_type is (ST0, ST1); --ST0 = tuščiąja eiga, ST1 = šviesos diodas AUKŠTAS

signalas PS, NS: būsenos_ tipas: = ST0; - BŪTINA BŪSENA IR KITA VALSTYBĖ, prasideda ST0 IDLE

pradėti

- „flip flop“proceso blokas- atnaujinama būsena kylančiame laikrodžio krašte seq_proc: process (NS, clk) begin- d flip flop, kuriame yra būsenos, jei (kylančioji briauna (clk)) tada PS <= NS; pabaiga, jei; pabaigos procesas seq_proc;

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

pradžios atvejis PS yra tada, kai ST0 => LED <= '0'; - išėjimai tuščiosios eigos būsenai TRST <= '1'; jei (S = '0' AR E = '1'), tada - įėjimai pereiti nuo st0 prie st1 NS <= ST1; else NS LED <= '1'; - būsenos TRST išėjimai <= '0'; jei (E = '1' AR T = '1'), tada - įvestys į perėjimą iš st1 į st0 NS <= ST0; kitaip NS <= ST1; pabaiga, jei; pabaigos atvejis; pabaigos procesas ns_proc;

pabaiga Elgesys;

4 žingsnis: viršutinis failas

Dabar mes sujungsime visus kitus failus į vieną.

Nukopijuokite žemiau esantį kodą į „vhdl“šaltinio failą pavadinimu „Top_File“.

biblioteka IEEE; naudokite IEEE. STD_LOGIC_1164. ALL;

subjektas „Top_File“yra

Prievadas (S: STD_LOGIC: = '1'; - sesnor; prievadas JA10/kaištis G3 btn: STD_LOGIC: = '0'; - išorinis rankinio veikimo mygtukas; Centrinio mygtuko šviesos diodas: išjungtas STD_LOGIC; - šviesos lemputė: STD_LOGIC); - clk flip flopui, kuris turi būsenas Top_File;

architektūra „Top_File“elgsena yra

komponentas COUNT_8B yra

prievadas (RESET: std_logic: = '0'; CLK: std_logic; T: out std_logic: = '0'); galinis komponentas; komponentas motion_sensored_light yra prievadas (S: STD_LOGIC; - sesnor; prievadas JA10/kaištis G3 E: STD_LOGIC; - išorinis rankinio veikimo mygtukas; Centrinis mygtukas T: STD_LOGIC; - kai laikmatis pasiekia maksimalų laiką; iš laikmačio LED: iš STD_LOGIC; - šviesa TRST: iš STD_LOGIC; - iš naujo nustato laikmatį clk: STD_LOGIC); - clk flip flop, kuriame yra būsenos pabaigos komponentas; komponento mygtukas yra prievadas (btn: STD_LOGIC; clk: STD_LOGIC; E: out STD_LOGIC); galinis komponentas; signalas t_reaches_c: std_logic; - signalas r_time_c: std_logic; - signalo mygtukas_c: std_logic;

pradėti

laikmatis: COUNT_8B prievado žemėlapis (RESET => r_time_c, CLK => CLK, T => t_reaches_c); motion_sensor: motion_sensored_light uosto žemėlapis (S => S, E => button_c, T => t_reaches_c, LED => LED, TRST => r_time_c, clk => clk); mygtuko valdiklis: mygtukų prievadų žemėlapis (btn => btn, clk => clk, E => button_c); pabaiga Elgesys;

5 veiksmas: apribojimų failas

Dabar turime apibrėžti, kur mūsų įėjimai ir išėjimai bus lentoje.

Nukopijuokite žemiau esantį kodą į „vhdl“apribojimų failą pavadinimu „Apribojimai“.

## Šis failas yra bendras.xdc, skirtas „Basys3 rev B“lentai į aukščiausio lygio signalo pavadinimus projekte

## Laikrodžio signalas

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 #17 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] #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 [gauti]}] #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 {swACK [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_ARD Property I 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 [gauti] #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]}]

## šviesos diodai

#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 [gauti] }] #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 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 LVCMOS vedė [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 LVC 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 U [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 {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 P1 [get_ports {led [15]}] #set_property IOSTANDARD LVCMOS33 [get_ports {led [15]}] ## 7 segmentų ekranas #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 [gauti] }] #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 [gauti] }] #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]}]

## Mygtukai

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]

## „Pmod“antraštė 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_ARD Property I 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“antraštė 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 pavadinimas = 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]}] IET_ARD_ 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 IOSTAND [gauti] LVMport JB [7]}]

## „Pmod“antraštė 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 pavadinimas = 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]}] IET_ARD 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 IOSTAND [gauti] LVMport JC [7]}]

## „Pmod“antraštė 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 {JXAD #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_port_Produktas] 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 = XAproperty 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_ARDPoperty [get_ports {JXADC [7]}]

## VGA jungtis

#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_OSARD }] #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_ARDRPports I 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] LV_SET] „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 {vga} IPL [_] 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_pr] 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 POP [get_port] Hsync] #set_property PACKAGE_PIN R19 [get_ports Vsync] #set_property IOSTANDARD LVCMOS33 [get_ports Vsync]

## USB-RS232 sąsaja

#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 PS2_PAP_DATA]

## „Quad SPI Flash“

## Atminkite, kad CCLK_0 negalima įdėti į 7 serijos įrenginius. Ją galite pasiekti naudodami ## STARTUPE2 primityvą. #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 [LV_Pr. }] #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_PARD 3]}] #set_property PACKAGE_PIN K19 [get_ports QspiCSn] #set_property IOSTANDARD LVCMOS33 [get_ports QspiCSn]

6 žingsnis: PIR judesio jutiklio prijungimas

PIR judesio jutiklio prijungimas
PIR judesio jutiklio prijungimas
PIR judesio jutiklio prijungimas
PIR judesio jutiklio prijungimas

PIR judesio jutiklis turi tris kaiščius: atitinkamai maitinimo, gnd ir aliarmo (žr. Pirmąjį paveikslėlį). Šioje instrukcijoje siūlomas judesio jutiklis gali būti prijungtas tiesiai prie duonos lentos. Tačiau mūsų naudojamam jutikliui turėjome nupjauti ir nuimti laidus, o po to lituoti atvirus galus, kad jie nesudrūktų. Ant duonos lentos su maitinimo ir įžeminimo kaiščiais iš eilės įkiškite jungiamąjį laidą iš patelės į moterį, o po to - su jungiamuoju kaiščiu į jungtį su vyrišku ir vyrišku (žr. Antrą paveikslėlį).

7 veiksmas: šviesos diodo prijungimas prie duonos lentos

Šviesos diodo prijungimas prie duonos lentos
Šviesos diodo prijungimas prie duonos lentos
Šviesos diodo prijungimas prie duonos lentos
Šviesos diodo prijungimas prie duonos lentos

Prijunkite šviesos diodą prie duonos lentos. Į trumpą šviesos diodo laidą nuosekliai įkiškite trumpą laidą nuo patelės iki vyriškos lyties. Tada nuosekliai prijunkite skirtingų spalvų kištukinį kabelį su vyrišku kabeliu su ilgu šviesos diodo laidu.

8 veiksmas: „Basys Board“jungtys

„Basys“plokštės jungtys
„Basys“plokštės jungtys

Prijunkite PIR judesio jutiklio vidinius galus prie 5 voltų įtampos šaltinio pagrindinėje plokštėje. Tada prijunkite LED įžeminimo laidą prie šoninio prievado įžeminimo, tada signalizacijos laidą iš PIR judesio jutiklio ir tada LED įvesties laidą (kaip parodyta paveikslėlyje).

Rekomenduojamas: