Съдържание:

LED сензор за движение: 8 стъпки
LED сензор за движение: 8 стъпки

Видео: LED сензор за движение: 8 стъпки

Видео: LED сензор за движение: 8 стъпки
Видео: Датчик движения и датчик света, зачем они, какие есть? Не покупай датчики пока не посмотришь видео!! 2024, Ноември
Anonim
Image
Image

Заден план:

Забравяте ли някога да изключите лампата, преди да тръгнете на час или работа или преди да си легнете? Тези часове с включени светлини, когато не ги използвате, наистина могат да увеличат разходите и загубата на енергия. Например, според solarcity.com, оставянето на осветените цяла нощ за една седмица може да добави 25 долара към сметката ви за електричество! За нашия проект CPE133 ние проектираме светлина със сензор за движение, за да помогнем на хората да пестят енергия в домовете си и да използват ефективно техните светлини.

Нашата система на практика:

На практика светлините биха се включили само когато сензор засече движение в стаята. След това светлините ще останат включени за определен период от време, например около 30 минути, и след това ще се изключат автоматично. Но да речем, че просто сте минавали или сте искали да напуснете стаята по -рано, преди да изтече определеното време. За тези случаи инсталирахме бутон, където можете да включвате или изключвате светлините ръчно. Обърнете внимание, че светлините ще останат включени 30 минути, дори когато светлините се включват ръчно или автоматично (освен ако светлините не се изключват ръчно).

Симулация на борда:

За да видим, че таймерът работи, сменихме таймера на 1 минута.

Материали:

  • 1 Basys борд (можете да го намерите тук от Digilent)
  • 1 PIR сензор за движение (можете да го намерите тук на Amazon)
  • 1 макет и комплект (предлагаме да използвате този от Amazon)
  • От горния комплект

    • 1 светодиод
    • 3 джъмперни кабела от женски към мъжки
    • 6 джъмперни кабела от мъжки към мъжки

Стъпка 1: Таймер

За да може светодиодът да свети 1 минута, първо трябва да създадем таймер. Платката Basys 3 има вътрешна честота 100MHz, което прави 100 милиона цикъла равни на 1 секунда. След това се използва като променлива, която ще действа като максимален брой за „t_cnt“. T_cnt се увеличава с 1, когато платката Basys 3 завърши цикъл. След като достигне марката от 100 милиона, тя ще се нулира и друга променлива, „sec“, ще се увеличи с 1. Тази „sec“променлива представлява броя на изминатите секунди и след като тази променлива е равна на 60, е изминала цяла минута.

Копирайте кода по -долу във vhdl изходен файл с име Timer.

обект COUNT_8B е

порт (RESET: в std_logic;

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

край COUNT_8B;

архитектура my_count от COUNT_8B е

постоянен макс_ брой: цяло число: = (100000000); --signal t_cnt: std_logic_vector (7 downto 0): = "00000000"; сигнал t_cnt: цяло число: = (0); start process (CLK, RESET, t_cnt) променлива sec: integer: = 0; start if (rise_edge (CLK)) then if (RESET = '1') then t_cnt <= (0); - изчистване на elsif (t_cnt = max_count) след това- max_count е 100 милиона, което е равно на 1 секунда t_cnt <= (0); - Нулира вътрешния часовник на 0 сек: = сек + 1; - Увеличава нашия „бавен часовник“с 1, ако (sec = 60) тогава- След като достигне 60 секунди, значи е достигнал максималното време sec: = 0; - Нулира "бавния часовник" на 0 T <= '1'; край ако; иначе t_cnt <= t_cnt + 1; - увеличава вътрешния часовник T <= '0'; край ако; край ако; краен процес; прекрати my_count;

Стъпка 2: Оптимизиране на бутоните

LED
LED

Тъй като честотата в платките на Basys е толкова висока (около 100 MHz), когато натиснете за това, което мислите, че е кратко време до платката Basys, ще я натиснете 100 000 пъти. Това кара светлината да мига бързо между състоянието на включване и изключване. Опитахме се да оптимизираме бутона, като създадохме диаграма на състоянието, за да намалим трептенето.

D-джапанките ще държат всяко състояние и след това ще посочим преходите на състояния в израза на процеса.

Копирайте кода по -долу във vhdl изходен файл с име Button.

библиотека IEEE; използвайте IEEE. STD_LOGIC_1164. ALL;

бутонът обект е

Порт (btn: в STD_LOGIC; clk: в STD_LOGIC; E: изход STD_LOGIC); бутон за край;

архитектура Поведението на бутона е

тип state_type е (PRESSED, NP); сигнал PS, NS: състояние_тип: = NP;

започнете

seq_proc: process (NS, clk) start if (rise_edge (clk)) then PS <= NS; край ако; край процес seq_proc;

ns_proc: процес (btn, PS)

начален случай PS е, когато NP => if (btn = '1'), тогава NS <= PRESSED; E <= '1'; иначе NS <= NP; E, ако (btn = '0'), тогава NS <= NP; E <= '0'; else NS <= ПРЕСЕН; E <= '0'; край ако; краен случай; краен процес ns_proc;

край Поведенчески;

Стъпка 3: LED

Светодиодът има две състояния: OFF (или IDLE) и ON. Както беше казано по-горе, състоянията се съхраняват в d-джапанка. Светлината ще се включи, ако сензорът засече движение (S = 1) или когато е натиснат бутон (E = 1). Светодиодът ще се изключи автоматично, ако таймерът достигне 1 минута (T = 1) или ръчно при натискане на бутон (E = 1).

Копирайте кода по -долу във vhdl изходен файл с име LED.

обект motion_sensored_light е Порт (S: в STD_LOGIC; - ssnor; Порт JA10/Pin G3 E: в STD_LOGIC; - външен бутон за ръчна функция; Централен бутон T: в STD_LOGIC; - когато таймерът достигне максимално време; От таймера LED: out STD_LOGIC; - светлина TRST: out STD_LOGIC; - нулира таймера clk: в STD_LOGIC); - clk за джапанки, които държат края на състоянията motion_sensored_light;

архитектура Поведението на motion_sensored_light е

тип state_type е (ST0, ST1); --ST0 = IDLE, ST1 = LED HIGH

сигнал PS, NS: състояние_тип: = ST0; - НАСТОЯЩО ДЪРЖАВО И СЛЕДВАЩО ДЪРЖАВО, започва в ST0 IDLE

започнете

- процесния блок на джапанки- актуализира състоянието на нарастващия ръб на часовника seq_proc: процес (NS, clk) start- d джапанка, който държи състояния if (rise_edge (clk)) тогава PS <= NS; край ако; край процес seq_proc;

ns_proc: процес (S, E, T, PS)

начален случай PS е когато ST0 => LED <= '0'; - изходи за състояние на празен ход TRST <= '1'; if (S = '0' OR E = '1') then - входове за преход от st0 към st1 NS <= ST1; else NS LED <= '1'; - изходи за състояние TRST <= '0'; if (E = '1' OR T = '1') then - входове към за преход от st1 към st0 NS <= ST0; иначе NS <= ST1; край ако; краен случай; краен процес ns_proc;

край Поведенчески;

Стъпка 4: Топ файл

Сега ще прехвърлим всички наши файлове в един.

Копирайте кода по -долу във vhdl изходен файл с име Top_File.

библиотека IEEE; използвайте IEEE. STD_LOGIC_1164. ALL;

обект Top_File е

Порт (S: в STD_LOGIC: = '1'; - ssnor; Порт JA10/Pin G3 btn: в STD_LOGIC: = '0'; - външен бутон за ръчна функция; LED бутон на централния бутон: изход STD_LOGIC; - светлинен клик: в STD_LOGIC); - clk за джапанки, които държат състоянията край Top_File;

архитектура Поведението на Top_File е

компонент COUNT_8B е

порт (RESET: в std_logic: = '0'; CLK: в std_logic; T: out std_logic: = '0'); краен компонент; компонент motion_sensored_light е Порт (S: в STD_LOGIC; - ssnor; Порт JA10/Pin G3 E: в STD_LOGIC; - външен бутон за ръчна функция; Централен бутон T: в STD_LOGIC; - когато таймерът достигне максимално време; От таймера LED: out STD_LOGIC; - светлина TRST: out STD_LOGIC; - нулира таймера clk: в STD_LOGIC); - clk за джапанки, които държат крайния компонент на състоянията; компонентният бутон е Port (btn: в STD_LOGIC; clk: в STD_LOGIC; E: out STD_LOGIC); краен компонент; сигнал t_reached_c: std_logic; - сигнал r_time_c: std_logic; - сигнал button_c: std_logic;

започнете

таймер: COUNT_8B карта на порта (RESET => r_time_c, CLK => CLK, T => t_reached_c); сензор за движение: карта за пристанище за движение на движение (S => S, E => button_c, T => t_reached_c, LED => LED, TRST => r_time_c, clk => clk); button_controller: карта на портовете на бутоните (btn => btn, clk => clk, E => button_c); край Поведенчески;

Стъпка 5: Файл с ограничения

Сега трябва да определим къде нашите входове и изходи ще бъдат на дъската.

Копирайте кода по -долу във vhdl файл с ограничения, наречен Constraints.

## Този файл е общ.xdc за Basys3 rev B борда ## За да го използвате в проект: ## - разкомментирайте редовете, съответстващи на използваните пинове ## - преименувайте използваните портове (във всеки ред, след get_ports) според към имената на сигнали от най -високо ниво в проекта

## Часовник сигнал

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] ## Превключватели #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_ports {sw [2] #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_ports sw 4]}] #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 W14 [get_ports { [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 IOSTANDARD 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_ports {sw [13] #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_ports sw [15]}] #set_property IOSTANDARD LVCMOS33 [get_ports {sw [15]}]

## светодиоди

#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 сегментен дисплей #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]}]

##Бутони

set_property PACKAGE_PIN U18 [get_ports btn] set_property IOSTANDARD LVCMOS33 [get_ports btn] #set_property IOSTANDARD LVCMOS33 [get_ports btnU] #set_property PACK_PIN_PACK_PIN_PACK_PACK [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]

## PA Header 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 име = 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 Header 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 име = 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 IOSTAND 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 | JB [7]}]

## Pmod Header 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 име = 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 {JC [6]} JC [7]}]

## Заглавка на 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_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 {JXADCARD] 4PRO] 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 конектор

#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 IOSTANDARD LVC

## 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] #set_property IOSTANDARD LVCMOS33 [get_ports PS2Clk] #set_property PULLUP true [get_ports PS2Clk] #set_property PACKAGE_PIN B17 [get_ports PS2Data] #set_Porta IPS

## Quad SPI Flash

## Обърнете внимание, че CCLK_0 не може да бъде поставен в устройства от серия 7. Можете да получите достъп до него, като използвате примитива ## 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 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 [IOS33] 3]}] #set_property PACKAGE_PIN K19 [get_ports QspiCSn] #set_property IOSTANDARD LVCMOS33 [get_ports QspiCSn]

Стъпка 6: Свържете PIR сензора за движение

Окабеляване на PIR сензор за движение
Окабеляване на PIR сензор за движение
Окабеляване на PIR сензор за движение
Окабеляване на PIR сензор за движение

PIR сензорът за движение има три пина: съответно захранване, gnd и аларма (вижте първата снимка). Сензорът за движение, предложен в тази инструкция, може да се свърже директно към макета. Но за сензора, който използвахме, трябваше да отрежем и оголим проводниците и след това да запояваме откритите краища, за да ги предпазим от износване. На макета вмъкнете последователно джъмпер от мъжки към женски проводници със захранването и заземяващите щифтове, а след това от джъмпер от мъжки към мъжки последователно с алармения щифт (вижте втората снимка).

Стъпка 7: Окабеляване на светодиода в макета

Окабеляване на светодиода в платката
Окабеляване на светодиода в платката
Окабеляване на светодиода в платката
Окабеляване на светодиода в платката

Включете светодиода в платката. Поставете черен джъмпер от мъжки към мъжки кабел последователно с късата жица на светодиода. След това включете последователно джъмперния кабел от различен цвят с дълъг проводник на светодиода.

Стъпка 8: Връзки на Basys Board

Връзки на Basys Board
Връзки на Basys Board

Свържете женските краища на PIR сензора за движение към 5 -волтовия източник на напрежение на базовата платка. След това свържете мъжкия LED заземен проводник към земята на страничния порт, след това алармения проводник от PIR сензора за движение и след това LED входния проводник (както се вижда на снимката).

Препоръчано: