Turinys:
- 1 žingsnis: laikmatis
- 2 žingsnis: mygtukų optimizavimas
- 3 žingsnis: šviesos diodas
- 4 žingsnis: viršutinis failas
- 5 veiksmas: apribojimų failas
- 6 žingsnis: PIR judesio jutiklio prijungimas
- 7 veiksmas: šviesos diodo prijungimas prie duonos lentos
- 8 veiksmas: „Basys Board“jungtys
Video: Judesio jutiklis: 8 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
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
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 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
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
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:
Nakties šviesos judesio ir tamsos jutiklis - be mikro: 7 žingsniai (su nuotraukomis)
Nakties šviesos judesio ir tamsos jutimas - nėra mikro: Šis nurodymas skirtas tam, kad vaikščiojant po tamsų kambarį būtų išvengta kojų pirštų įstrigimo. Galima sakyti, kad tai yra jūsų pačių saugumas, jei atsikeliate naktį ir bandote saugiai pasiekti duris. Žinoma, galite naudoti lempą prie lovos arba pagrindinę lempą
Nešiojamas judesio jutiklis: 4 žingsniai
Nešiojamasis judesio jutiklis: Sveiki, aš sukūriau nešiojamą bateriją maitinantį judesio jutiklį, kuriuo norėčiau pasidalinti su jumis. Ko jums reikės: „Arduino Uno Keyes“judesio jutiklis Laidų šviesos diodai (raudona, žalia mėlyna)
„Raspberry Pi“judesio jutiklis IFTTT: 4 žingsniai
„Raspberry Pi“judesio jutiklis IFTTT: Sveiki. Aš esu 4 klasės mokinys ir šiandien ketiname pagaminti IFTTT judesio jutiklį
ESP-01 judesio jutiklis su giliu miegu: 5 žingsniai
ESP-01 judesio jutiklis su giliu miego režimu: dirbau kurdamas naminius judesio jutiklius, kurie suaktyvina el. Laišką. Yra daug pavyzdinių nurodymų ir kitų pavyzdžių, kaip tai padaryti. Neseniai man reikėjo tai padaryti naudojant baterijomis valdomą PIR judesio jutiklį ir ESP
„Arduino“judesio jutiklis: 5 žingsniai
Judėjimo jutiklis „Arduino“lazeris: PASTABA: Šis projektas buvo sukurtas taip, kad visos dalys galėtų būti pakartotinai naudojamos būsimuose projektuose. Dėl to galutinis produktas yra mažiau stabilus, nei būtų, jei naudotumėte daugiau nuolatinių medžiagų, tokių kaip klijai, litavimas ir kt. &Hellip; Įspėjimas: nedarykite