Мазмуну:

Motion Sensor LED: 8 кадам
Motion Sensor LED: 8 кадам

Video: Motion Sensor LED: 8 кадам

Video: Motion Sensor LED: 8 кадам
Video: stair lighting connection with motion sensors wiring diagram 2024, Ноябрь
Anonim
Image
Image

Фон:

Сабакка же жумушка же жатар алдында жарыкты өчүрүүнү унутуп калдыңызбы? Сиз колдонбогон учурда жарык күйгөн ошол сааттар чындыгында наркты жана энергияны жоготууга алып келиши мүмкүн. Мисалы, solarcity.com маалыматы боюнча, бир жума бою түнкүсүн жарыкты өчүрүү электрдик эсепке 25 доллар кошо алат! Биздин CPE133 долбоору үчүн, биз адамдарга үйлөрүндө энергияны үнөмдөөгө жана жарыгын эффективдүү колдонууга жардам берүү үчүн кыймыл сенсорунун жарыгын иштеп чыгабыз.

Биздин система иш жүзүндө:

Иш жүзүндө, жарык сенсор бөлмөдө кыймылды аныктаганда гана күймөк. Андан кийин жарыктар болжол менен 30 мүнөткө чейин күйүп, анан автоматтык түрдө өчөт. Айталы, сиз жөн эле өтүп бара жаттыңыз же белгиленген убакыт бүтө электе бөлмөдөн эрте чыгып кетүүнү кааладыңыз дейли. Андай учурларда биз жарыкты кол менен күйгүзүп же өчүрө турган баскычты орноттук. Көңүл буруңуз, жарыктар кол менен же автоматтык түрдө күйгүзүлгөндө да (жарыктар кол менен өчүрүлбөсө) 30 мүнөт күйүп турат.

Борттогу симуляция:

Таймердин иштешин көрүү үчүн таймерди 1 мүнөткө алмаштырдык.

Материалдар:

  • 1 Basys тактасы (бул жерден Digilentтен таба аласыз)
  • 1 PIR кыймыл сенсору (сиз Amazonдон бул жерден таба аласыз)
  • 1 нан жана комплект (биз муну Amazonдон колдонууну сунуштайбыз)
  • Жогорудагы комплекттен

    • 1 LED
    • 3 аялдан эркекке секирүүчү кабель
    • 6 эркектен эркекке секирүүчү кабель

1 -кадам: Таймер

LED 1 мүнөт күйүп турушу үчүн, адегенде таймерди түзүшүбүз керек. Basys 3 тактасы 100МГц ички жыштыгына ээ, ошону менен 100 миллион циклди 1 секундга барабар кылат. Бул андан кийин "t_cnt" үчүн максималдуу сан катары иштей турган өзгөрмө катары колдонулат. T_cnt 1ге көбөйөт, анткени Basys 3 тактасы циклди аяктайт. 100 миллион белгиге жеткенде ал баштапкы абалга келет жана "сек" 1ге көбөйөт. Бул "сек" өзгөрмөсү өткөн секунддардын санын билдирет жана бул өзгөрмө 60ка барабар болгондо, толук мүнөт өттү.

Төмөндөгү кодду Таймер аттуу vhdl булак файлына көчүрүңүз.

COUNT_8B объектиси

порт (RESET: std_logic ичинде;

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

аяктоо COUNT_8B;

архитектура my_count COUNT_8B болуп саналат

туруктуу max_count: бүтүн сан: = (100000000); -белги t_cnt: std_logic_vector (0го чейин 7): = "00000000"; сигнал t_cnt: integer: = (0); процессти баштоо (CLK, RESET, t_cnt) өзгөрмө сек: integer: = 0; баштоо if (жогорулатуу_чеги (CLK)) анда if (RESET = '1') анда t_cnt <= (0); - clear elsif (t_cnt = max_count) анда- max_count 100 миллион, бул 1 секундга барабар t_cnt <= (0); - Ички саатты 0 сек абалга келтирет: = сек + 1; - Биздин "жай саатыбызды" 1ге көбөйтөт, эгерде (сек = 60), анда- 60 секундга жеткенде, ал максималдуу убакытка жетет: = 0; - "жай саатты" баштапкы абалга келтирет 0 T <= '1'; эгерде бүтсө; else t_cnt <= t_cnt + 1; - ички саатты көбөйтөт T <= '0'; эгерде бүтсө; эгерде бүтсө; процессти аяктоо; my_count аяктоо;

2 -кадам: Баскычтарды оптималдаштыруу

LED
LED

Basys такталарындагы жыштык ушунчалык жогору болгондуктан (100 МГцтин тегерегинде), сиз ойлогонуңуз үчүн бассаңыз, Basys тактасына кыска убакыт, аны 100 000 жолу басмаксыз. Бул жарыктын күйүү жана өчүрүү абалынын ортосунда тезирээк өчүшүнө алып келет. Биз жаркылдатууну азайтуу үчүн абал диаграммасын түзүү менен баскычты оптималдаштырууга аракет кылдык.

D-flip-flops ар бир абалды кармап турат, андан кийин процесстин билдирүүсүндө абалдын өтүшүн белгилейбиз.

Төмөндөгү кодду Button аттуу vhdl булак файлына көчүрүңүз.

китепкана IEEE; колдонуу IEEE. STD_LOGIC_1164. ALL;

жактын баскычы

Порт (btn: STD_LOGIC; clk: STD_LOGIC; E: STD_LOGIC); бүтүрүү баскычы;

архитектура баскычтын жүрүм -туруму

type state_type - бул (PRESSED, NP); сигнал PS, NS: state_type: = NP;

баштоо

seq_proc: процесс (NS, clk) башталат, эгерде (ko'tarүлө турган кыр (clk)) анда PS <= NS; эгерде бүтсө; процессти аяктоо seq_proc;

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

баштоо иши PS - качан NP => if (btn = '1') анда NS <= PRESSED; E <= '1'; else NS <= NP; E if (btn = '0') then NS <= NP; E <= '0'; else NS <= PRESSED; E <= '0'; эгерде бүтсө; аяктоо иши; процессти бүтүрүү ns_proc;

жүрүм -турумду токтотуу;

3 -кадам: LED

Светодиоддун эки абалы бар: ӨЧҮК (же ИДЕЛИ) жана ON. Жогоруда айтылгандай, штаттар d-flip-flopте сакталат. Эгерде сенсор кыймылды аныктаса (S = 1) же баскыч басылганда (E = 1) жарык күйөт. Эгерде таймер 1 мүнөткө жетсе (T = 1) же баскыч басылганда (E = 1) LED автоматтык түрдө өчөт.

Төмөндөгү кодду LED аттуу vhdl булак файлына көчүрүңүз.

субъекттин motion_sensored_light - бул Порт (S: STD_LOGIC; - sesnor; Port JA10/Pin G3 E: STD_LOGIC; - тышкы функция баскычы; T борбордук баскычы: STD_LOGICте; - таймер максималдуу убакытка жеткенде; Таймердин LEDинен: чыгып STD_LOGIC; - жарык TRST: STD_LOGIC; - таймер clk: STD_LOGIC ичинде) баштапкы абалга келтирет; - штаттын аягында motion_sensored_light турган флип-флоп үчүн clk;

архитектура Кыймылдын жүрүм -туруму_сенсорлуу_жарык

state_type түрү (ST0, ST1); --ST0 = ИДЕЛИ, ST1 = ЖОГОРКУ LED

сигнал PS, NS: state_type: = ST0; - АЗЫРКЫ МАМЛЕКЕТ ЖАНА КИЙИНКИ МАМЛЕКЕТ, ST0 ИДИЛДЕН башталат

баштоо

- флип-флоптун процесстик блогу- seq_proc сааттын өйдө жагындагы жаңыртуулар: процесс (NS, clk) башталат- d (эгер көтөрүлүүчү_чет (clk)), анда PS <= NS болгон абалды кармоочу d flip flop; эгерде бүтсө; процессти аяктоо seq_proc;

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

баштоо иши PS - ST0 => LED <= '0' болгондо; - иштебеген абал үчүн жыйынтыктар TRST <= '1'; if (S = '0' OR E = '1') анда - st0дон st1ге өтүү үчүн кириштер NS <= ST1; else NS LED <= '1'; - TRST <= '0' абалы боюнча жыйынтыктар; if (E = '1' OR T = '1') анда - st1ден st0го өтүүгө кириштер NS <= ST0; else NS <= ST1; эгерде бүтсө; аяктоо иши; процессти бүтүрүү ns_proc;

жүрүм -турумду токтотуу;

4 -кадам: Top File

Эми биз башка файлдарыбыздын бардыгын картка түшүрөбүз.

Төмөндөгү кодду Top_File аттуу vhdl булак файлына көчүрүңүз.

китепкана IEEE; колдонуу IEEE. STD_LOGIC_1164. ALL;

субъект Top_File болуп саналат

Порт (S: STD_LOGICте: = '1'; - sesnor; Port JA10/Pin G3 btn: STD_LOGICте: = '0'; - кол менен иштөө үчүн сырткы баскыч; Центрдик баскычтын LED: өчүрүү STD_LOGIC; - жарык үн: STD_LOGIC); - штаттын аягында турган flip flop үчүн clk Top_File;

архитектура Top_File жүрүм -туруму

COUNT_8B компоненти

порт (RESET: std_logic: = '0'; CLK: std_logic; T: out std_logic: = '0'); акыркы компонент; motion_sensored_light компоненти Port (S: STD_LOGIC; - sesnor; Port JA10/Pin G3 E: in STD_LOGIC; - тышкы функция баскычы; борбордук баскыч T: STD_LOGICте; - таймер максималдуу убакытка жеткенде; Таймердин LEDинен: чыгып STD_LOGIC; - жарык TRST: STD_LOGIC; - таймер clk: STD_LOGIC ичинде) баштапкы абалга келтирет; - штаттардын акыркы компонентин кармаган флип-флоп үчүн clk; компонент баскычы - Порт (btn: STD_LOGIC; clk: STD_LOGIC; E: 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); motion_sensor: motion_sensored_light порт картасы (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 чектөөлөр файлына көчүрүңүз.

## Бул файл Basys3 rev B тактасы үчүн жалпы.xdc ## Аны долбоордо колдонуу үчүн: ## - колдонулган казыктарга тиешелүү сызыктарды комментарийлөө ## - колдонулган порттордун атын өзгөртүү (ар бир сапта, 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] ## 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 [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 {sw15 [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 [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]}] #ST_property 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] #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 {sw2 [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 LVCMOS {1] }] #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 IOOSANDARD [LVCM] 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 IOOSANDARD 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 IOSTARD 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 [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 NACKAG {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_proper PC1 [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 [4_ports] #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 PAC7_PIN [PACKAGE_PIN] }] #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 {a [0]}]

#set_property IOSTANDARD LVCMOS33 [get_ports {a [0]}] #set_property PACKAGE_PIN U4 [get_ports {a [1]}] #set_property IOSTANDARD LVCMOS33 [get_ports {a [1]}] #set_property PACKAGE_PIN {4 [get_ports] }] #set_property IOSTANDARD LVCMOS33 [get_ports {a [2]}] #set_property PACKAGE_PIN W4 [get_ports {a [3]}] #set_property IOSTANDARD LVCMOS33 [get_ports {a [3]}]

## Баскычтар

set_property PACKAGE_PIN U18 [get_ports баскыч] set_property IOSTANDARD LVCMOS33 [get_ports баскыч] #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 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]}] ## = 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 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] J # 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]}] ## = 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 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 IOOSANDARD [IOS] 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]}] ## = 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 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 ICOS JC [7]}]

## Pmod Header 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] {JXADC #] = 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] 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]}] #_N #set #X_set 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]} LVOM) [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]}] #SOST_proper IO }] #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]} VOST {v_R_Sport_proper] 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 {vgaBlueSP_Pro_To_Prive_Prive_Prive_Prive_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_OS_pro] {L} 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_pro] {vgaGreen [v_Go_set] 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_PIN_PIN_19 Hsync] #set_property PACKAGE_PIN R19 [get_ports Vsync] #set_property IOSTANDARD LVCMOS33 [get_ports Vsync]

## 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 LVCMOSTx [get_ports RsRx].

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

## 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]} VSport] }] #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]} V_SM {3]} 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 -кадам: Нан тактасындагы LEDди кошуу

Нан тактасындагы LEDди кошуу
Нан тактасындагы LEDди кошуу
Нан тактасындагы LEDди кошуу
Нан тактасындагы LEDди кошуу

LEDди нан тактасына сайыңыз. LEDдин кыска коргоосу менен кара эркек менен эркек секирүүчү кабелин салыңыз. Андан кийин ар кандай түстөгү эркекти эркектин секирүүчү кабелине LEDдин узун жетеги менен туташтырыңыз.

8 -кадам: Basys Board Connections

Basys Board Connections
Basys Board Connections

PIR кыймыл сенсорунун аялдык учтарын базистин тактасындагы 5 вольттуу чыңалуу булагына туташтырыңыз. Андан кийин эркек LED жерге өткөрүүчү зымды каптал портуна, андан кийин сигналдык зым PIR кыймыл сенсоруна, анан LED киргизүү зымына (сүрөттө көрүнүп тургандай) туташтырыңыз.

Сунушталууда: