فهرست مطالب:

LED حسگر حرکت: 8 مرحله
LED حسگر حرکت: 8 مرحله

تصویری: LED حسگر حرکت: 8 مرحله

تصویری: LED حسگر حرکت: 8 مرحله
تصویری: آموزش نصب سنسور حرکتی برای چراغ راهرو 2024, نوامبر
Anonim
Image
Image

زمینه:

آیا تا به حال فراموش کرده اید که قبل از رفتن به کلاس یا محل کار یا قبل از خواب چراغ را خاموش کنید؟ ساعاتی که چراغ ها روشن هستند در صورتی که از آنها استفاده نمی کنید می تواند هزینه و اتلاف انرژی را افزایش دهد. به عنوان مثال ، طبق گفته solarcity.com ، روشن نگه داشتن چراغ ها به مدت یک هفته می تواند 25 دلار به قبض برق شما اضافه کند! برای پروژه CPE133 خود ، ما یک نور سنسور حرکت طراحی می کنیم تا به مردم کمک کند در خانه خود انرژی ذخیره کنند و از چراغ های خود به طور مثر استفاده کنند.

سیستم ما در عمل:

در عمل ، چراغها فقط زمانی روشن می شوند که سنسور حرکت را در اتاق تشخیص دهد. سپس چراغ ها برای مدت زمان معینی مانند حدود 30 دقیقه روشن می مانند و سپس به طور خودکار خاموش می شوند. اما فرض کنید شما فقط در حال گذر بودید یا می خواستید قبل از اتمام زمان تعیین شده زود از اتاق خارج شوید. برای این موارد ، ما یک دکمه را نصب کرده ایم که می توانید چراغ ها را به صورت دستی روشن یا خاموش کنید. توجه داشته باشید که چراغ ها حتی 30 دقیقه روشن می مانند حتی اگر چراغ ها به صورت دستی یا خودکار روشن شوند (مگر اینکه چراغ ها به صورت دستی خاموش شوند).

شبیه سازی در کشتی:

برای مشاهده عملکرد تایمر ، ما تایمر را به 1 دقیقه تغییر دادیم.

مواد:

  • تخته 1 Basys (یکی را می توانید در اینجا از Digilent پیدا کنید)
  • 1 سنسور حرکت PIR (می توانید یکی را در اینجا در آمازون پیدا کنید)
  • 1 تخته نان و کیت (پیشنهاد می کنیم از این یکی از آمازون استفاده کنید)
  • از کیت بالا

    • 1 عدد LED
    • 3 عدد کابل جهنده زن تا مرد
    • 6 کابل جهنده مردانه به مرد

مرحله 1: تایمر

برای اینکه LED 1 دقیقه روشن بماند ، ابتدا باید یک تایمر ایجاد کنیم. برد Basys 3 دارای فرکانس داخلی 100 مگاهرتز است ، بنابراین 100 میلیون سیکل برابر با 1 ثانیه است. سپس از این به عنوان متغیری استفاده می شود که به عنوان حداکثر عدد برای "t_cnt" عمل می کند. با تکمیل چرخه Basys 3 ، t_cnt 1 افزایش می یابد. به محض رسیدن به علامت 100 میلیون ، تنظیم مجدد می شود و متغیر دیگر ، "ثانیه" ، 1 افزایش می یابد. این متغیر "ثانیه" نشان دهنده تعداد ثانیه های سپری شده است و هنگامی که آن متغیر برابر 60 است ، یک دقیقه کامل سپری می شود.

کد زیر را در یک فایل منبع vhdl با نام Timer کپی کنید.

موجودیت COUNT_8B است

پورت (RESET: در std_logic؛

CLK: در std_logic؛ T: out std_logic: = '0')؛

پایان COUNT_8B ؛

معماری my_count از COUNT_8B است

max_count ثابت: عدد صحیح: = (100000000) ؛ -علامت t_cnt: std_logic_vector (7 پایین 0): = "00000000" ؛ سیگنال t_cnt: عدد صحیح: = (0)؛ شروع فرایند (CLK ، RESET ، t_cnt) متغیر sec: integer: = 0؛ if را شروع کنید (افزایش_لبه (CLK)) سپس if (RESET = '1') سپس t_cnt <= (0)؛ - 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' را افزایش می دهد ؛ پایان اگر؛ پایان اگر؛ پایان فرایند ؛ پایان دادن به حساب من ؛

مرحله 2: بهینه سازی دکمه

رهبری
رهبری

از آنجا که فرکانس تابلوهای Basys بسیار زیاد است (در حدود 100 مگاهرتز) هنگامی که برای مدت کوتاهی فکر می کنید به برد Basys فشار می دهید ، باید 100،000 بار آن را فشار دهید. این باعث می شود که نور بین حالت روشن و خاموش به سرعت سوسو بزند. ما سعی کردیم دکمه را با ایجاد نمودار حالت برای کاهش چشمک زدن بهینه کنیم.

d-flip-flops هر حالت را نگه می دارد و سپس انتقال وضعیت را در دستور process مشخص می کنیم.

کد زیر را در یک فایل منبع vhdl به نام Button کپی کنید.

کتابخانه IEEE ؛ از IEEE. STD_LOGIC_1164. ALL استفاده کنید ؛

دکمه موجودیت است

بندر (btn: در STD_LOGIC ؛ clk: در STD_LOGIC ؛ E: خارج STD_LOGIC) ؛ دکمه پایان ؛

معماری رفتار دکمه است

type state_type is (PRESSED، NP)؛ سیگنال PS ، NS: state_type: = NP ؛

شروع

seq_proc: روند (NS ، clk) شروع می شود اگر (افزایش_لبه (clk)) سپس PS <= NS؛ پایان اگر؛ پایان فرایند seq_proc؛

ns_proc: روند (btn ، PS)

شروع حالت PS زمانی است که NP => if (btn = '1') سپس NS <= PRESSED؛ E <= '1'؛ else NS <= NP؛ E اگر (btn = '0') سپس NS <= NP؛ E <= '0'؛ else NS <= فشرده؛ E <= '0'؛ پایان اگر؛ مورد نهایی ؛ پایان فرایند ns_proc؛

پایان دادن به رفتار ؛

مرحله 3: LED

LED دارای دو حالت است: OFF (یا IDLE) و ON. همانطور که قبلاً گفته شد ، حالتها در یک d-flip-flop ذخیره می شوند. اگر سنسور حرکت را تشخیص دهد (S = 1) یا هنگامی که دکمه ای فشار داده شود (E = 1) ، چراغ روشن می شود. در صورت رسیدن تایمر به 1 دقیقه (T = 1) یا دستی با فشردن یک دکمه (E = 1) ، LED به طور خودکار خاموش می شود.

کد زیر را در یک فایل منبع vhdl به نام LED کپی کنید.

نهاد motion_sensored_light پورت است (S: در STD_LOGIC ؛ - sesnor ؛ پورت JA10/Pin G3 E: در STD_LOGIC ؛ - دکمه خارجی برای عملکرد دستی ؛ دکمه مرکزی T: در STD_LOGIC ؛ - هنگامی که تایمر به حداکثر زمان می رسد ؛ از LED تایمر: خروجی STD_LOGIC ؛ - نور TRST: خروجی STD_LOGIC ؛ - تنظیم مجدد ساعت clk: در STD_LOGIC) ؛ - clk برای فلیپ فلاپ که حالت ها را در انتهای motion_sensored_light نگه می دارد.

معماری رفتار حرکت_حسگر_نور است

نوع state_type است (ST0 ، ST1) ؛ --ST0 = IDLE ، ST1 = LED HIGH

سیگنال PS ، NS: state_type: = ST0؛ - دولت فعلی و دولت بعدی ، در ST0 IDLE شروع می شود

شروع

- بلوک فرآیند فلیپ فلاپ- وضعیت به روز رسانی در لبه رو به بالا ساعت seq_proc: روند (NS ، clk) شروع می شود- d فلیپ فلاپ که حالت های ((پایان اگر؛ پایان فرایند 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') then - ورودی ها به انتقال از st1 به st0 NS <= ST0؛ else NS <= ST1؛ پایان اگر؛ مورد نهایی ؛ پایان فرایند ns_proc؛

پایان دادن به رفتار ؛

مرحله 4: فایل بالا

اکنون ما قصد داریم نقشه تمام فایل های دیگر خود را در یک قسمت پورت کنیم.

کد زیر را در یک فایل منبع vhdl به نام Top_File کپی کنید.

کتابخانه IEEE ؛ از IEEE. STD_LOGIC_1164. ALL استفاده کنید ؛

نهاد Top_File است

پورت (S: در STD_LOGIC: = '1' ؛ - sesnor ؛ Port JA10/Pin G3 btn: در STD_LOGIC: = '0' ؛ - دکمه خارجی برای عملکرد دستی ؛ LED دکمه مرکزی: خارج از STD_LOGIC ؛ - نور clk: در 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 ؛ - sesnor ؛ Port JA10/Pin G3 E: در STD_LOGIC ؛ - دکمه خارجی برای عملکرد دستی ؛ دکمه مرکزی T: در STD_LOGIC ؛ - هنگامی که تایمر به حداکثر زمان می رسد ؛ از LED تایمر: خروجی STD_LOGIC ؛ - نور TRST: خروجی STD_LOGIC ؛ - تنظیم مجدد ساعت clk: در STD_LOGIC) ؛ clk برای فلیپ فلاپ که کامپوننت پایان حالت ها را نگه می دارد. دکمه جزء Port است (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: map_sensored_light map port (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] ## Switches #set_property PACKAGE 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 sw16 [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

## LED

#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 }] #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 LVCMOS 2] 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 LV 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 [دریافت_پورت {led [9]}] #set_property IOSTANDARD LVCMOS33 [دریافت_پورت {led [9]}] #مجموعه_پرفروشی PACKAGE_PIN W3 [دریافت_پورت {led [10]}] #set_property IOSTANDARD LVCMOS33 [دریافت_پورت {led [10]}] #مجموعه_پردازی PACKAGE_PIN {led [11]}] #set_property IOSTANDARD LVCMOS33 [دریافت_پورت {led [11]}] #مجموعه_پرفروشی PACKAGE_PIN P3 [دریافت_پورت {led [12]}] #set_property IOSTANDARD LVCMOS33 [دریافت_پورت ها {رهبری [12]}] #مجموعه_پردازی PACKAGE_PP {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 [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 [دریافت_پورت {seg [2]}] #set_property PACKAGE_PIN V8 [دریافت_پورت {seg [3]}] #Set_property IOSTANDARD LVCMOS33 [دریافت_پورت {seg [3]}] #set_property PACKAGE_PIN U5 [4]} { #set_property IOSTANDARD LVCMOS33 [دریافت_پورت {seg [4]}] #set_property PACKAGE_PIN V5 [دریافت_پورت {seg [5]}] #set_property IOSTANDARD LVCMOS33 [دریافت_پورتها {seg [5]}] #set_property PACKAGE_PIN }] #set_property IOSTANDARD LVCMOS33 [دریافت_پورت {seg [6]}]

#Set_property PACKAGE_PIN V7 [دریافت_پورت dp]

#Set_property IOSTANDARD LVCMOS33 [دریافت_پورت dp]

#set_property PACKAGE_PIN U2 [دریافت_پورت {و [0]}]

#set_property IOSTANDARD LVCMOS33 [دریافت_پورت {یک [0]}] #مجموعه_پرفروشی PACKAGE_PIN U4 [دریافت_پورت {یک [1]}] #مجموعه_پروازی IOSTANDARD LVCMOS33 [دریافت_پورت {{1 [}]} }] #set_property IOSTANDARD LVCMOS33 [دریافت_پورت {یک [2]}] #تنظیم_احوال PACKAGE_PIN W4 [دریافت_پورت {{[3]}] #تنظیم_پسند IOSTANDARD LVCMOS33 [دریافت_پورت {یک [3]}]

##دکمه ها

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 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_pro 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 [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]}] مجموعه # 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 [دریافت_پورتها {JB [6]}] #مجموعه_موارد IOSTANDARD LVCMOS33 [دریافت_پورتها {JB [6]}] ## Sch name = JB10 #set_property PACKAGE_PIN C16 [دریافت_پورتها {JB [7]}] #مجموعه_دارایی IOSTANDARD LV 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_pro 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 [دریافت_پورتها {JC [6]}] #مجموعه_موارد IOSTANDARD LVCMOS33 [دریافت_پورتها {JC [6]}] ## Sch name = JC10 #set_property PACKAGE_PIN R18 [دریافت_پورتها {JC [7]}] #set_property IOSTANDARD LV 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 [دریافت] #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 [دریافت_پورت] KARD_PROD_PART_4 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 [دریافت_پورتها {JXADC [6]}] #مجموعه_موارد IOSTANDARD LVCMOS33 [دریافت_پورتها {JXADC [6]}] ## Sch name = XA4_N #set_property PACKAGE_PIN N1 [get_ports {JXADC [7]}] #set_33perty [دریافت_پورت {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 IOST }] #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 3]}] #set_property PACKAGE_PIN N18 [get_ports {vgaBlue [0]}] #set_property IOSTANDARD LVCMOS33 [دریافت_پورتها {vgaBlue [0]}] #set_property PACKAGE_PIN L18 [دریافت_پورتها {vgaBlue [PRO] LOST_pro [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 {vgaBlue_ARD [3] دریافت_پورت ها {vgaBlue [3]}] #مجموعه_دارایی PACKAGE_PIN J17 [دریافت_پورتها {vgaGreen [0]}] #مجموعه_دارایی IOSTANDARD LVCMOS33 [دریافت_پ 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 [دریافت_پورت] vperty_green [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_PARD Hsync] #set_property PACKAGE_PIN R19 [get_ports Vsync] #Set_property IOSTANDARD LVCMOS33 [دریافت_پورت 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 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 [دریافت_پورت PS2Pata_Pata_Pata2

## فلش چهارگانه SPI

## توجه داشته باشید که CCLK_0 را نمی توان در 7 دستگاه سری قرار داد. با استفاده از ## STARTUPE2 اولیه می توانید به آن دسترسی پیدا کنید. #set_property PACKAGE_PIN D18 [دریافت_پورتها {QspiDB [0]}] #مجموعه_پرفروشی IOSTANDARD LVCMOS33 [دریافت_پورتها {QspiDB [0]}] #set_property PACKAGE_PIN D19 [دریافت_پورتها {QspiDB [1]}] مجموعه_پردروش_پردازنده }] #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]} [G_3pi] GOS_33 3]}] #set_property PACKAGE_PIN K19 [get_ports QspiCSn] #set_property IOSTANDARD LVCMOS33 [دریافت_پورت QspiCSn]

مرحله 6: سیم کشی سنسور حرکت PIR

سیم کشی سنسور حرکت PIR
سیم کشی سنسور حرکت PIR
سیم کشی سنسور حرکت PIR
سیم کشی سنسور حرکت PIR

سنسور حرکت PIR به ترتیب دارای سه پین است: power ، gnd و alarm به ترتیب (تصویر اول را ببینید). سنسور حرکت پیشنهاد شده در این دستورالعمل می تواند مستقیماً به تخته نان متصل شود. اما برای حسگر مورد استفاده ما باید سیم ها را برش داده و جدا می کردیم و سپس انتهای نمایان را لحیم می کردیم تا از خراب شدن آنها جلوگیری شود. روی تخته نرد یک سیم جامپر مردانه به زن سری با پین های قدرت و زمین و سپس یک سیم بلوز مردانه به مرد سری را با پین هشدار وارد کنید (تصویر دوم را ببینید).

مرحله 7: اتصال LED در Breadboard

سیم کشی LED در Breadboard
سیم کشی LED در Breadboard
سیم کشی LED در Breadboard
سیم کشی LED در Breadboard

LED را به تخته نان وصل کنید. یک کابل بلوز مردانه سیاه و سفید مردانه را به صورت سری با سرب کوتاه LED وارد کنید. سپس کابل بلوز مردانه و مردانه رنگی مختلف را به صورت سری با سرب طولانی LED وصل کنید.

مرحله 8: اتصالات برد Basys

اتصالات هیئت مدیره Basys
اتصالات هیئت مدیره Basys

انتهای زن سنسور حرکت PIR را به منبع ولتاژ 5 ولت روی برد پایه وصل کنید. سپس سیم زمینی نر LED را به زمین پورت جانبی و سپس سیم هشدار را از سنسور حرکت PIR و سپس سیم ورودی LED (همانطور که در تصویر دیده می شود) وصل کنید.

توصیه شده: