Tartalomjegyzék:

Mozgásérzékelt LED: 8 lépés
Mozgásérzékelt LED: 8 lépés

Videó: Mozgásérzékelt LED: 8 lépés

Videó: Mozgásérzékelt LED: 8 lépés
Videó: Ezért Válassz Napelemes Mozgásérzékelős Utcai Lámpát -Perfectled- 2024, November
Anonim
Image
Image

Háttér:

Elfelejtette valaha lekapcsolni a villanyt, mielőtt az osztályba vagy a munkába indul, vagy lefekvés előtt? Azok az órák, amikor a lámpák fel vannak kapcsolva, amikor nem használja őket, valóban növelhetik a költségeket és az energiaveszteséget. Például a solarcity.com szerint, ha a lámpákat egész héten át égve hagyjuk, egy dollárral 25 dollárral növelhetjük a villanyszámlát! CPE133 projektünkhöz olyan mozgásérzékelő lámpát tervezünk, amely segíti az embereket az otthoni energiatakarékosságban és a fények hatékony használatában.

Rendszerünk a gyakorlatban:

A gyakorlatban a lámpák csak akkor kapcsolnak be, ha egy érzékelő mozgást észlel a szobában. Ezután a lámpák meghatározott ideig, például körülbelül 30 percig égnek, majd automatikusan kikapcsolnak. De tegyük fel, hogy éppen átutazott, vagy korán el akarta hagyni a szobát, mielőtt a meghatározott idő letelt volna. Ezekben az esetekben telepítettünk egy gombot, amellyel manuálisan kapcsolhatja be vagy ki a lámpákat. Ne feledje, hogy a lámpák 30 percig égnek akkor is, ha manuálisan vagy automatikusan kapcsolják be a lámpákat (kivéve, ha a lámpákat manuálisan kapcsolják ki).

Szimuláció a fedélzeten:

Annak érdekében, hogy az időzítő működjön, megváltoztattuk az időzítőt 1 percre.

Anyagok:

  • 1 Basys tábla (itt talál egyet a Digilent -től)
  • 1 PIR mozgásérzékelő (itt találhat egyet az Amazon -on)
  • 1 kenyérlap és készlet (javasoljuk, hogy ezt használja az Amazon -tól)
  • A fenti készletből

    • 1 LED
    • 3 hüvely -férfi áthidaló kábel
    • 6 hüvely -férfi áthidaló kábel

1. lépés: Időzítő

Annak érdekében, hogy a LED 1 percig világítson, először létre kell hoznia egy időzítőt. A Basys 3 kártya belső frekvenciája 100 MHz, így 100 millió ciklus 1 másodperccel egyenlő. Ezt a változót használják, amely a t_cnt maximális számaként fog működni. A t_cnt 1 -gyel nő, ahogy a Basys 3 tábla befejezi a ciklust. Amint eléri a 100 milliós határt, alaphelyzetbe áll, és egy másik, „sec” változó 1 -gyel növekszik. Ez a „sec” változó az eltelt másodpercek számát jelzi, és ha ez a változó 60, akkor egy teljes perc telt el.

Másolja ki az alábbi kódot egy vhdl forrásfájlba, melynek neve Timer.

a COUNT_8B entitás

port (RESET: std_logic -ban;

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

vége COUNT_8B;

az architektúrám COUNT_8B saját_száma

állandó max_count: integer: = (100000000); -jel t_cnt: std_logic_vector (7-től 0-ig): = "00000000"; jel t_cnt: egész: = (0); start process (CLK, RESET, t_cnt) változó sec: integer: = 0; start if (emelkedő szél (CLK)), majd ha (RESET = '1'), akkor t_cnt <= (0); - törölje elsif (t_cnt = max_count), akkor- max_count 100 millió, ami egyenlő 1 másodperc t_cnt <= (0); - Visszaállítja a belső órát 0 mp-re: = sec + 1; - Növeli a „lassú órát” 1-gyel, ha (sec = 60), akkor- Ha eléri a 60 másodpercet, akkor elérte a maximális időt sec: = 0; - Visszaállítja a "lassú órát" 0 T <= '1' -re; fejezze be, ha; egyébként t_cnt <= t_cnt + 1; - növeli a belső órát T <= '0'; fejezze be, ha; fejezze be, ha; folyamat befejezése; end my_count;

2. lépés: Gomboptimalizálás

VEZETTE
VEZETTE

Mivel a Basys tábla frekvenciája olyan magas (körülbelül 100 MHz), ha a Basys táblához rövid idő alatt megnyomja a véleményét, 100 000 alkalommal nyomja meg. Ez azt eredményezi, hogy a fény gyorsan villog a be- és kikapcsolt állapot között. Megpróbáltuk optimalizálni a gombot egy állapotdiagram létrehozásával, hogy csökkentsük a villódzást.

A d-flip-flopok minden állapotot megtartanak, majd az állapotátmeneteket a folyamat utasításban határozzuk meg.

Másolja az alábbi kódot egy Button nevű vhdl forrásfájlba.

könyvtár IEEE; használja az IEEE. STD_LOGIC_1164. ALL;

entitás gomb

Port (btn: STD_LOGIC; clk: STD_LOGIC; E: out STD_LOGIC); vége gomb;

architektúra A gomb viselkedése

type state_type is (PRESSED, NP); jel PS, NS: állapot_típus: = NP;

kezdődik

seq_proc: folyamat (NS, clk) akkor kezdődik, ha (emelkedő szél (clk)), akkor PS <= NS; fejezze be, ha; vége folyamat seq_proc;

ns_proc: folyamat (btn, PS)

a PS kezdet esete, amikor NP => if (btn = '1'), akkor NS <= PRESSED; E <= '1'; más NS <= NP; E ha (btn = '0'), akkor NS <= NP; E <= '0'; else NS <= PRESSED; E <= '0'; fejezze be, ha; vég tok; folyamat befejezése ns_proc;

vége Viselkedés;

3. lépés: LED

A LED -nek két állapota van: OFF (vagy IDLE) és ON. Mint korábban említettük, az állapotokat egy d-flip-flopban tároljuk. A fény akkor világít, ha az érzékelő mozgást észlel (S = 1), vagy ha megnyom egy gombot (E = 1). A LED automatikusan kikapcsol, ha az időzítő eléri az 1 percet (T = 1), vagy manuálisan, amikor megnyom egy gombot (E = 1).

Másolja az alábbi kódot egy LED nevű vhdl forrásfájlba.

entitás motion_sensored_light a Port (S: STD_LOGIC -ban; - sesnor; JA10 -es port/G3 E -tű: STD_LOGIC -ban; - külső gomb a kézi funkcióhoz; T középső gomb: STD_LOGIC; - amikor az időzítő eléri a maximális időt; Az időzítő LED -jéről: ki STD_LOGIC; - világos TRST: ki STD_LOGIC; - visszaállítja az időzítő clk -t: STD_LOGIC -ban); - clk a flip flophoz, amelyek az állapotok végét mozgatják_érzékelt_fény;

architektúra A motion_sensored_light is viselkedése

type state_type is (ST0, ST1); --ST0 = IDLE, ST1 = LED HIGH

jel PS, NS: állapot_típus: = ST0; - JELEN ÁLLAPOT ÉS KÖVETKEZŐ ÁLLAPOT, ST0 IDLE-ben kezdődik

kezdődik

- flip flop folyamatblokk- frissíti az állapotot az óra emelkedő szélén seq_proc: folyamat (NS, clk) kezdődik- d flip flop, amely az if (emelkedő_szél (clk)), majd PS <= NS állapotokat tartja meg fejezze be, ha; vége folyamat seq_proc;

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

a PS kezdete, amikor ST0 => LED <= '0'; - kimenetek üresjáratban TRST <= '1'; ha (S = '0' VAGY E = '1') akkor - bemenetek az st0 -ról az st1 -re való átmenetre NS <= ST1; else NS LED <= '1'; - kimenetek a TRST állapothoz <= '0'; ha (E = '1' VAGY T = '1') akkor - bemenet az st1 -ről az st0 -ra való átmenetre NS <= ST0; egyébként NS <= ST1; fejezze be, ha; vég tok; folyamat befejezése ns_proc;

vége Viselkedés;

4. lépés: Felső fájl

Most az összes többi fájlunkat egybe portoljuk.

Másolja az alábbi kódot egy Top_File nevű vhdl forrásfájlba.

könyvtár IEEE; használja az IEEE. STD_LOGIC_1164. ALL;

entitás Top_File is

Port (S: STD_LOGIC -ban: = '1'; - sesnor; JA10 -es port/G3 -as btn: STD_LOGIC -ban: = '0'; - külső gomb a kézi működéshez; Középső gomb LED: ki STD_LOGIC; - fényjelzés: a STD_LOGIC -ban); - clk flip flop esetén, amely a Top_File állapotok végét tartja;

architektúra A Top_File viselkedése is

a COUNT_8B komponens az

port (RESET: std_logic: = '0'; CLK: std_logic; T: out std_logic: = '0'); végkomponens; a motion_sensored_light komponens a Port (S: STD_LOGIC -ban; - sesnor; JA10 -es/G3 -as érintkező: STD_LOGIC; - külső gomb a kézi funkcióhoz; T középső gomb: STD_LOGIC; - amikor az időzítő eléri a maximális időt; Az időzítő LED -jéről: ki STD_LOGIC; - világos TRST: ki STD_LOGIC; - visszaállítja az időzítő clk -t: STD_LOGIC -ban); - clk flip flop esetén, amely az állapotok végösszetevőjét tartja; komponens gomb Port (btn: az STD_LOGIC -ban; clk: az STD_LOGIC -ban; E: out STD_LOGIC); végkomponens; jel t_reaches_c: std_logic; - jel r_time_c: std_logic; - jelzőgomb_c: std_logic;

kezdődik

időzítő: COUNT_8B porttérkép (RESET => r_time_c, CLK => CLK, T => t_reyed_c); motion_sensor: motion_sensored_light porttérkép (S => S, E => button_c, T => t_reaches_c, LED => LED, TRST => r_time_c, clk => clk); gombvezérlő: gombport térkép (btn => btn, clk => clk, E => button_c); vége Viselkedés;

5. lépés: Kényszerfájl

Most meg kell határoznunk, hogy a be- és kimenetek hol lesznek a táblán.

Másolja az alábbi kódot egy vhdl kényszerfájlba.

## Ez a fájl egy általános.xdc fájl a Basys3 rev B táblához a projekt legfelső szintű jelneveire

## Órajel

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_port}] #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 [get]}] #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 WAP [get] [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 [get_port}] #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 -ek

#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_port Property] }] #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 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 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

#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_port] }] #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]}]

## Gombok

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 fejléc 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 IAND 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 fejléc 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]}] 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 LVCport JB [7]}]

## Pmod fejléc 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]}] 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 LVCport JC [7]}]

## Pmod fejléc 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_Sport] JX 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 nameN_pr3 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_LET_tulajdon [get_ports {JXADC [7]}]

## VGA csatlakozó

#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_propertySOS33 }] #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_ARDRportsOS 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] {1} 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} Ib [_] 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 {vgayreen] 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 P19s [get_port] Hsync] #set_property PACKAGE_PIN R19 [get_ports Vsync] #set_property IOSTANDARD LVCMOS33 [get_ports Vsync]

## USB-RS232 interfész

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

## Quad SPI Flash

## Vegye figyelembe, hogy a CCLK_0 nem helyezhető el 7 sorozatú eszközben. Hozzáférhet a ## STARTUPE2 primitív használatával. #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 [LEVELT] }] #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]

6. lépés: A PIR mozgásérzékelő bekötése

A PIR mozgásérzékelő bekötése
A PIR mozgásérzékelő bekötése
A PIR mozgásérzékelő bekötése
A PIR mozgásérzékelő bekötése

A PIR mozgásérzékelőnek három érintkezője van: tápellátás, gnd és riasztás (lásd az első képet). Az ebben az utasításban javasolt mozgásérzékelő közvetlenül csatlakoztatható a kenyértáblához. De az általunk használt érzékelőhöz levágtuk és lecsupaszítottuk a vezetékeket, majd forrasztottuk a szabadon lévő végeket, hogy ne kopjanak el. A kenyértáblára illesszen sorba egy hüvely -női áthidaló vezetéket a tápfeszültséggel és a földelőcsapokkal, majd egy soros hüvely -férfi áthidaló vezetéket a riasztótüskével (lásd a második képet).

7. lépés: A LED bekötése a kenyértáblán

A LED bekötése a kenyértáblán
A LED bekötése a kenyértáblán
A LED bekötése a kenyértáblán
A LED bekötése a kenyértáblán

Csatlakoztassa a LED -et a kenyértáblához. Csatlakoztasson sorban egy fekete dugasz -dugó kábelt a LED rövid vezetékével. Ezután csatlakoztassa a különböző színű dugó -férfi áthidaló kábelt sorba a LED hosszú vezetékével.

8. lépés: Basys Board kapcsolatok

Basys Board kapcsolatok
Basys Board kapcsolatok

Csatlakoztassa a PIR mozgásérzékelő hüvelyi végeit a basys -panel 5 voltos feszültségforrásához. Ezután csatlakoztassa a férfi LED földelővezetéket az oldalsó port földeléséhez, majd a riasztóvezetéket a PIR mozgásérzékelőből, majd a LED bemeneti vezetéket (amint az a képen is látható).

Ajánlott: