Sadržaj:
- Korak 1: Tajmer
- Korak 2: Optimizacija dugmeta
- Korak 3: LED
- Korak 4: Gornja datoteka
- Korak 5: Datoteka ograničenja
- Korak 6: Ožičenje PIR senzora pokreta
- Korak 7: Ožičenje LED diode na pločici
- Korak 8: Povezivanje Basys Board -a
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Pozadina:
Jeste li ikada zaboravili ugasiti svjetlo prije nego što krenete na nastavu ili posao ili prije nego što odete u krevet? Ti sati sa upaljenim svjetlima kada ih ne koristite mogu zaista povećati troškove i gubitak energije. Na primjer, prema solarcity.com, ako ostavite svjetla uključena cijelu noć tokom jedne sedmice, to može dodati 25 USD na vaš račun za struju! Za naš CPE133 projekt, dizajnirali smo svjetlo senzora pokreta kako bismo pomogli ljudima da uštede energiju u svojim domovima i efikasno koriste svjetla.
Naš sistem u praksi:
U praksi bi se svjetla uključivala samo kada senzor detektira kretanje u prostoriji. Tada će svjetla ostati uključena određeno vrijeme, na primjer oko 30 minuta, a zatim će se automatski isključiti. Ali recimo da ste samo prolazili ili ste htjeli izaći iz sobe prije nego što je prošlo zadano vrijeme. U tim slučajevima smo instalirali dugme na kojem možete ručno uključiti ili isključiti svjetlo. Imajte na umu da će svjetla ostati uključena 30 minuta čak i kada se svjetla uključuju ručno ili automatski (osim ako se svjetla ne isključuju ručno).
Simulacija na brodu:
Da bismo vidjeli da tajmer radi, promijenili smo ga na 1 minutu.
Materijali:
- 1 Basys ploča (jednu možete pronaći ovdje sa Digilenta)
- 1 PIR senzor pokreta (jedan možete pronaći ovdje na Amazonu)
- 1 ploča i komplet (predlažemo da koristite ovaj s Amazona)
- Iz gornjeg kompleta
- 1 LED
- 3 ženska spojna kabela
- 6 muških kratkospojnih kabela
Korak 1: Tajmer
Kako bi LED dioda ostala svijetliti 1 minutu, prvo moramo stvoriti mjerač vremena. Ploča Basys 3 ima internu frekvenciju od 100 MHz, pa čini 100 miliona ciklusa jednakim 1 sekundi. Ovo se tada koristi kao varijabla koja će djelovati kao maksimalni broj za “t_cnt”. T_cnt se povećava za 1 kako Basys 3 ploča završava ciklus. Kada dosegne oznaku od 100 miliona, vratit će se na zadano, a druga varijabla, "sec", će se povećati za 1. Ova "sec" varijabla predstavlja broj sekundi koje su prošle i kada je ta varijabla jednaka 60, prošla je cijela minuta.
Kopirajte donji kod u vhdl izvornu datoteku pod nazivom Timer.
entitet COUNT_8B je
port (RESET: u std_logic;
CLK: u std_logic; T: out std_logic: = '0');
kraj COUNT_8B;
arhitektura my_count od COUNT_8B je
konstanta max_count: integer: = (100000000); --signal t_cnt: std_logic_vector (7 downto 0): = "00000000"; signal t_cnt: cijeli broj: = (0); početak procesa (CLK, RESET, t_cnt) varijabla sec: integer: = 0; start if (rise_edge (CLK)) then if (RESET = '1') then t_cnt <= (0); - očisti elsif (t_cnt = max_count) zatim- max_count je 100 miliona što je jednako 1 sekundi t_cnt <= (0); - Vraća unutrašnji sat na 0 sek: = sec + 1; - Povećava naš 'spor sat' za 1 ako (sec = 60) tada- Kada dosegne 60 sekundi, onda je dostiglo maksimalno vrijeme sec: = 0; - Vraća "spor sat" na 0 T <= '1'; end if; else t_cnt <= t_cnt + 1; - povećava interni sat T <= '0'; end if; end if; završni proces; end my_count;
Korak 2: Optimizacija dugmeta
Budući da je frekvencija na Basys pločama toliko visoka (oko 100 MHz) kada pritisnete ono što mislite da je kratko vrijeme do Basys ploče, pritisnuli biste je 100 000 puta. Zbog toga svjetlo brzo treperi između stanja uključivanja i isključivanja. Pokušali smo optimizirati dugme stvaranjem dijagrama stanja kako bismo smanjili treperenje.
D-japanke će držati svako stanje, a zatim ćemo navesti prijelaze stanja u izrazu procesa.
Kopirajte donji kôd u vhdl izvornu datoteku pod nazivom Button.
biblioteka IEEE; koristite IEEE. STD_LOGIC_1164. ALL;
dugme entiteta je
Port (btn: u STD_LOGIC; clk: u STD_LOGIC; E: van STD_LOGIC); dugme za kraj;
arhitektura Ponašanje dugmeta je
tip state_type je (PRESSED, NP); signal PS, NS: stanje_tip: = NP;
početi
seq_proc: proces (NS, clk) počinje ako (rastući_izvod (clk)) tada je PS <= NS; end if; završi proces seq_proc;
ns_proc: proces (btn, PS)
početni slučaj PS je kada je NP => if (btn = '1') tada je NS <= PRITISAN; E <= '1'; inače NS <= NP; E ako je (btn = '0') tada je NS <= NP; E <= '0'; else NS <= PRESSED; E <= '0'; end if; završni slučaj; završi proces ns_proc;
end Behavioral;
Korak 3: LED
LED ima dva stanja: OFF (ili IDLE) i ON. Kao što je već rečeno, stanja su pohranjena u d-flip-flopu. Svjetlo će se uključiti ako senzor detektira kretanje (S = 1) ili kada se pritisne tipka (E = 1). LED lampica će se automatski isključiti ako tajmer dosegne 1 minutu (T = 1) ili ručno kada se pritisne dugme (E = 1).
Kopirajte donji kod u vhdl izvornu datoteku pod nazivom LED.
entitet motion_sensored_light je port (S: u STD_LOGIC; - ssnor; port JA10/Pin G3 E: u STD_LOGIC; - vanjsko dugme za ručnu funkciju; centralno dugme T: u STD_LOGIC; - kada tajmer dostigne maksimalno vrijeme; sa LED tajmera: out STD_LOGIC; - svjetlo TRST: out STD_LOGIC; - resetira tajmer clk: u STD_LOGIC); - clk za japanke koje drže kraj stanja motion_sensored_light;
arhitektura Bihevioralno kretanje_osjetljiva_svjetlost je
tip state_type je (ST0, ST1); --ST0 = IDLE, ST1 = LED HIGH
signal PS, NS: stanje_tip: = ST0; - SADAŠNJE I SLEDEĆE DRŽAVE, počinje u ST0 IDLE
početi
- procesni blok flip flopa- ažurira stanje na rastućoj ivici sata seq_proc: proces (NS, clk) počinje- d flip flop koji sadrži stanja if (rastući_izvod (clk)) onda je PS <= NS; end if; završi proces seq_proc;
ns_proc: proces (S, E, T, PS)
početni slučaj PS je kada je ST0 => LED <= '0'; - izlazi za stanje mirovanja TRST <= '1'; if (S = '0' OR E = '1') then - ulazi za prijelaz sa st0 na st1 NS <= ST1; else NS LED <= '1'; - izlazi za stanje TRST <= '0'; if (E = '1' OR T = '1') then - ulazi u za prelazak sa st1 na st0 NS <= ST0; else NS <= ST1; end if; završni slučaj; završi proces ns_proc;
end Behavioral;
Korak 4: Gornja datoteka
Sada ćemo sve ostale datoteke preslikati u jednu.
Kopirajte donji kôd u vhdl izvornu datoteku pod nazivom Top_File.
biblioteka IEEE; koristite IEEE. STD_LOGIC_1164. ALL;
entitet Top_File je
Priključak (S: u STD_LOGIC: = '1'; - isključen; Port JA10/Pin G3 btn: u STD_LOGIC: = '0'; - vanjsko dugme za ručnu funkciju; LED centralnog dugmeta: van STD_LOGIC; - svjetlo clk: u STD_LOGIC); - clk za flip flop koji drži stanja na vrhu Top_File;
arhitektura Ponašanje Top_File -a je
komponenta COUNT_8B je
port (RESET: u std_logic: = '0'; CLK: u std_logic; T: van std_logic: = '0'); krajnja komponenta; komponenta motion_sensored_light je Port (S: u STD_LOGIC; - sesnor; Port JA10/Pin G3 E: u STD_LOGIC; - vanjsko dugme za ručnu funkciju; Središnje dugme T: u STD_LOGIC; - kada tajmer dostigne maksimalno vrijeme; Sa LED tajmera: out STD_LOGIC; - svjetlo TRST: out STD_LOGIC; - resetira tajmer clk: u STD_LOGIC); - clk za japanke koje drže komponentu kraja stanja; dugme komponente je Port (btn: u STD_LOGIC; clk: u STD_LOGIC; E: van STD_LOGIC); krajnja komponenta; signal t_reached_c: std_logic; - signal r_time_c: std_logic; - signal button_c: std_logic;
početi
tajmer: COUNT_8B karta porta (RESET => r_time_c, CLK => CLK, T => t_reached_c); senzor kretanja: mapa portova svjetlosnog senzora kretanja (S => S, E => button_c, T => t_reached_c, LED => LED, TRST => r_time_c, clk => clk); button_controller: mapa porta dugmeta (btn => btn, clk => clk, E => button_c); end Behavioral;
Korak 5: Datoteka ograničenja
Sada moramo definirati gdje će naši ulazi i izlazi biti na ploči.
Kopirajte donji kôd u vhdl datoteku ograničenja pod nazivom Constraints.
## Ova datoteka je opći.xdc za Basys3 rev B ploču ## Da biste je koristili u projektu: ## - raskomentirajte redove koji odgovaraju korištenim pinovima ## - preimenujte korištene portove (u svakom retku, nakon get_ports) prema do naziva signala najvišeg nivoa u projektu
## Signal sata
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] ## Prekidači #set_property PACKAGE_PIN [V17
## LED diode
#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_ports {led] }] #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_ports {led_ports | 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 LVCMOS33 [get_ports 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 LVCMOS33 [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 U3 [get_ports [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 N3 [get_ports {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_PIN L1 [get_ports {led [15]}] #set_property IOSTANDARD LVCMOS33 [get_ports {led [15]}] ## 7 segmentni prikaz #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 [get_ports | }] #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_ports {an [2] }] #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]}]
## Dugmad
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 #PIN_PACK_PIN_BACK_PACK_PORT_PART_POZEMA [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 zaglavlje 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_property IOSTARD 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 zaglavlje 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]}] #set_property IOSTARD 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 LVCMOS33 [get_ports IOSTANDARD LVCMOS33 [get_ports IOSTANDARD LVCMOS33 JB [7]}]
## Pmod zaglavlje 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]}] #set_property IOSTAND 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 LVCMOS33 [get_ports IOSTANDARD LVCMOS33 [get_ports IOSTANDARD LVCMOS33 [get_ports IOSTANDARD LVCMOS33 JC [7]}]
## Pmod zaglavlje 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_ports {JXC] #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 [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_ports {JXADC 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 = XA3_N # 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 IOSTAND [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 IOSTANDARD [LVCMOS] 1 }] #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 IOSTANDRED [LEGO] [ISTANDRED] 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]}] #set_property IOSANDARD LOST33 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]}] #set_VS IPS 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]} Iset # 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_ports HVSS IPS] Hsync] #set_property PACKAGE_PIN R19 [get_ports Vsync] #set_property IOSTANDARD LVCMOS33 [get_ports Vsync]
## USB-RS232 sučelje
#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 PS2Data] #set_PartaPOS [PS2]
## Quad SPI Flash
## Imajte na umu da se CCLK_0 ne može postaviti na uređaje serije 7. Možete mu pristupiti pomoću ## STARTUPE2 primitiva. #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 IOSTBARD [ISTANDARD] }] #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_property QPOS [IOSAND] 3]}] #set_property PACKAGE_PIN K19 [get_ports QspiCSn] #set_property IOSTANDARD LVCMOS33 [get_ports QspiCSn]
Korak 6: Ožičenje PIR senzora pokreta
PIR senzor pokreta ima tri pina: napajanje, gnd i alarm (pogledajte prvu sliku). Senzor pokreta koji je predložen u ovom uputstvu može se povezati direktno na matičnu ploču. Ali za senzor koji smo koristili morali smo presjeći i ogoliti žice, a zatim lemiti izložene krajeve kako se ne bi pohabali. Na matičnoj ploči umetnite kratkospojnu žicu za muški i ženski spoj s pinovima za napajanje i uzemljenje, a zatim za žicu kratkospojnika za muškarce za serijsku vezu sa iglom za alarm (pogledajte drugu sliku).
Korak 7: Ožičenje LED diode na pločici
Uključite LED u matičnu ploču. Umetnite crni kratkospojnik sa muškim na muški kabel u nizu s kratkim vodičem LED diode. Zatim ukopčajte kratkospojnik različitih boja u muški kabel u dugi LED diode.
Korak 8: Povezivanje Basys Board -a
Spojite ženske krajeve PIR senzora pokreta u izvor napona od 5 volti na ploči baze. Zatim spojite mušku LED uzemljenu žicu na masu bočnog ulaza, zatim žicu alarma s PIR senzora pokreta, a zatim LED ulaznu žicu (kao što je prikazano na slici).
Preporučuje se:
Prijenosni senzor pokreta: 4 koraka
Prijenosni senzor pokreta: Pozdrav, Napravio sam prijenosni senzor pokreta s baterijskim napajanjem koji želim podijeliti s vama.Šta će vam trebati: Arduino Uno Keyes senzor pokreta Žice LED (crvena, zelena plava) Breadboard
Senzor pokreta s vodom iz arduina i elektromagnetnog ventila - Uradi sam: 6 koraka
Slavina za vodu sa senzorom pokreta pomoću Arduina i elektromagnetnog ventila - Uradi sam: U ovom projektu ću vam pokazati kako izgraditi slavinu za vodu sa senzorom pokreta pomoću solenoidnog ventila. Ovaj projekt vam može pomoći da svoju postojeću ručnu slavinu za vodu pretvorite u slavinu koja se može kontrolirati na temelju detekcije pokreta. Korišćenjem interfejsa IC senzora
Raspberry Pi senzor pokreta IFTTT: 4 koraka
Raspberry Pi senzor pokreta IFTTT: Zdravo. Ja sam učenik 4. razreda i danas ćemo napraviti IFTTT senzor pokreta
ESP-01 Senzor pokreta s dubokim mirovanjem: 5 koraka
ESP-01 Senzor pokreta s dubokim mirovanjem: Radio sam na izradi domaćih senzora pokreta koji šalju poruku e-pošte kada se aktiviraju. Postoji mnogo primjera instrukcija i drugih primjera kako se to radi. Nedavno sam to trebao učiniti s PIR senzorom pokreta na baterije i ESP -om
Vodič: Kako koristiti Mini PIR senzor pokreta HC-SR 505 s Arduino UNO: 3 koraka
Vodič: Kako koristiti Mini PIR senzor pokreta HC-SR 505 s Arduino UNO: Opis: Ovaj vodič će vam pokazati nekoliko jednostavnih koraka o tome kako koristiti modul senzora pokreta pomoću Arduino Uno. Na kraju ovog vodiča dobit ćete rezultat usporedbe kada senzor može otkriti kretanje, a nije mogao otkriti nijedan pokret