جدول المحتويات:

مؤشر LED المستشعر للحركة: 8 خطوات
مؤشر LED المستشعر للحركة: 8 خطوات

فيديو: مؤشر LED المستشعر للحركة: 8 خطوات

فيديو: مؤشر LED المستشعر للحركة: 8 خطوات
فيديو: ☑️ أردوينو للمبتدئين - (22) فهم حساس الحركة و كيفية استعماله 2024, يوليو
Anonim
Image
Image

خلفية:

هل نسيت يومًا إطفاء الضوء قبل التوجه إلى الفصل أو العمل أو قبل الذهاب إلى الفراش؟ إن تلك الساعات التي تكون فيها الأضواء مضاءة عندما لا تستخدمها يمكن أن تزيد التكلفة وفقدان الطاقة. على سبيل المثال ، وفقًا لموقع solarcity.com ، فإن ترك المصابيح مضاءة طوال الليل لمدة أسبوع يمكن أن يضيف 25 دولارًا إلى فاتورة الكهرباء! بالنسبة لمشروع CPE133 الخاص بنا ، نقوم بتصميم مصباح مستشعر للحركة لمساعدة الأشخاص على الحفاظ على الطاقة في منازلهم واستخدام مصابيحهم بكفاءة.

نظامنا في الممارسة:

في الممارسة العملية ، سيتم تشغيل الأضواء فقط عندما يكتشف المستشعر الحركة في الغرفة. ثم ستبقى الأضواء مضاءة لفترة محددة من الوقت ، مثل حوالي 30 دقيقة ، ثم تنطفئ تلقائيًا. ولكن لنفترض أنك كنت تمر للتو أو أردت مغادرة الغرفة مبكرًا قبل انتهاء المدة المحددة. في هذه الحالات ، قمنا بتثبيت زر يمكنك من خلاله تشغيل أو إطفاء الأنوار يدويًا. لاحظ أن الأضواء ستظل مضاءة لمدة 30 دقيقة حتى عند تشغيل المصابيح يدويًا أو تلقائيًا (ما لم يتم إطفاء المصابيح يدويًا).

محاكاة على متن الطائرة:

للتأكد من أن المؤقت يعمل ، قمنا بتغييره إلى دقيقة واحدة.

المواد:

  • 1 لوحة Basys (يمكنك العثور عليها هنا من Digilent)
  • 1 مستشعر حركة PIR (يمكنك العثور عليه هنا على Amazon)
  • 1 لوح توصيل ومجموعة أدوات (نقترح استخدام هذا من Amazon)
  • من المجموعة أعلاه

    • 1 ليد
    • 3 كابلات توصيل من أنثى إلى ذكر
    • 6 كابلات توصيل ذكر لذكر

الخطوة 1: الموقت

لكي يظل مؤشر LED مضيئًا لمدة دقيقة واحدة ، يجب أولاً إنشاء مؤقت. تحتوي لوحة Basys 3 على تردد داخلي يبلغ 100 ميجاهرتز ، مما يجعل 100 مليون دورة تساوي ثانية واحدة. ثم يتم استخدام هذا كمتغير يعمل كعدد أقصى لـ "t_cnt". يزيد t_cnt بمقدار 1 عندما تكمل لوحة Basys 3 دورة. بمجرد وصوله إلى علامة 100 مليون ، سيتم إعادة تعيينه وسيزيد متغير آخر ، "sec" ، بمقدار 1. يمثل هذا المتغير "sec" عدد الثواني التي مرت ، وبمجرد أن يساوي هذا المتغير 60 ، تكون قد مرت دقيقة كاملة.

انسخ الكود أدناه إلى ملف مصدر vhdl يسمى Timer.

الكيان COUNT_8B هو

المنفذ (RESET: in std_logic ؛

CLK: في std_logic ؛ T: خارج std_logic: = '0') ؛

نهاية COUNT_8B ؛

العمارة my_count من COUNT_8B هي

ثابت max_count: عدد صحيح: = (100000000) ؛ - إشارة t_cnt: std_logic_vector (7 downto 0): = "00000000" ؛ إشارة t_cnt: عدد صحيح: = (0) ؛ بدء العملية (CLK ، RESET ، t_cnt) متغير sec: عدد صحيح: = 0 ؛ ابدأ إذا (Rising_edge (CLK)) ثم إذا (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' ؛ إنهاء إذا؛ آخر t_cnt <= t_cnt + 1 ؛ - يزيد الساعة الداخلية T <= '0' ؛ إنهاء إذا؛ إنهاء إذا؛ إنهاء العملية؛ إنهاء my_count ؛

الخطوة 2: زر التحسين

قاد
قاد

نظرًا لأن التردد في لوحات Basys مرتفع جدًا (حوالي 100 ميجاهرتز) عندما تضغط على ما تعتقد أنه فترة قصيرة من الوقت إلى لوحة Basys ، فستضغط عليه 100000 مرة. يؤدي هذا إلى وميض الضوء بين حالة التشغيل والإيقاف بسرعة. حاولنا تحسين الزر من خلال إنشاء مخطط حالة لتقليل الوميض.

سيحتفظ d-flip-flops بكل حالة ثم سنحدد انتقالات الحالة في بيان العملية.

انسخ الكود أدناه إلى ملف مصدر vhdl يسمى Button.

مكتبة IEEE ؛ استخدم IEEE. STD_LOGIC_1164. ALL ؛

زر الكيان هو

المنفذ (btn: in STD_LOGIC ؛ clk: in STD_LOGIC ؛ E: out STD_LOGIC) ؛ زر النهاية

العمارة سلوك الزر

اكتب state_type هو (PRESSED، NP) ؛ إشارة PS ، NS: state_type: = NP ؛

يبدأ

seq_proc: تبدأ العملية (NS، clk) إذا (Rising_edge (clk)) ثم PS <= NS؛ إنهاء إذا؛ إنهاء عملية seq_proc ؛

ns_proc: عملية (btn ، PS)

تبدأ الحالة PS عندما تكون NP => if (btn = '1') ثم NS <= PRESSED ؛ ه <= '1' ؛ آخر NS <= NP ؛ E إذا (btn = '0') ثم NS <= NP ؛ ه <= '0' ؛ آخر NS <= PRESSED ؛ ه <= '0' ؛ إنهاء إذا؛ حالة النهاية نهاية العملية ns_proc ؛

نهاية السلوك

الخطوة 3: LED

يحتوي LED على حالتين: OFF (أو IDLE) و ON. كما قيل من قبل ، يتم تخزين الحالات في d-flip-flop. سوف يتحول الضوء إذا اكتشف المستشعر حركة (S = 1) أو عند الضغط على زر (E = 1). سيتم إيقاف تشغيل مؤشر LED تلقائيًا إذا وصل المؤقت إلى دقيقة واحدة (T = 1) أو يدويًا عند الضغط على الزر (E = 1).

انسخ الكود أدناه إلى ملف مصدر 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 = الخمول ، ST1 = LED مرتفع

إشارة PS ، NS: state_type: = ST0 ؛ - الحالة الحالية والحالة التالية ، تبدأ في ST0 IDLE

يبدأ

- كتلة عملية flip flop - حالة التحديثات عند الحافة الصاعدة لساعة seq_proc: بدء العملية (NS، clk) - d flip flop الذي يحمل الحالات إذا (ارتفاع_الحافة (clk)) ثم PS <= NS؛ إنهاء إذا؛ إنهاء عملية seq_proc ؛

ns_proc: عملية (S ، E ، T ، PS)

تبدأ حالة PS عندما يكون ST0 => LED <= '0' ؛ - مخرجات حالة الخمول TRST <= '1' ؛ إذا (S = '0' OR E = '1') إذن - مدخلات للانتقال من st0 إلى st1 NS <= ST1 ؛ آخر NS LED <= '1' ؛ - مخرجات الحالة TRST <= '0' ؛ إذا (E = '1' OR T = '1') إذن - المدخلات للانتقال من st1 إلى st0 NS <= ST0 ؛ آخر NS <= ST1 ؛ إنهاء إذا؛ حالة النهاية نهاية العملية ns_proc ؛

نهاية السلوك

الخطوة 4: الملف العلوي

الآن سنقوم بتعيين جميع ملفاتنا الأخرى في ملف واحد.

انسخ الكود أدناه إلى ملف مصدر vhdl يسمى Top_File.

مكتبة IEEE ؛ استخدم IEEE. STD_LOGIC_1164. ALL ؛

الكيان Top_File هو

المنفذ (S: في STD_LOGIC: = '1' ؛ - sesnor ؛ المنفذ JA10 / Pin G3 btn: في STD_LOGIC: = '0' ؛ - زر خارجي للوظيفة اليدوية ؛ زر مركز LED: خارج STD_LOGIC ؛ - ضوء clk: في STD_LOGIC) ؛ - clk للوجه المتأرجح الذي يحمل الحالات التي تنتهي Top_File ؛

السلوك المعماري لملف Top_File هو

المكون COUNT_8B هو

المنفذ (RESET: in std_logic: = '0'؛ CLK: in std_logic؛ T: out std_logic: = '0')؛ المكون النهائي المكون 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 للوجه المتأرجح الذي يحمل المكون الطرفي للحالات ؛ زر المكون هو المنفذ (btn: in STD_LOGIC ؛ clk: in STD_LOGIC ؛ E: out STD_LOGIC) ؛ المكون النهائي إشارة t_reached_c: std_logic ؛ - إشارة r_time_c: std_logic ؛ - زر إشارة_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 المسمى 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_PIN {SW #} 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]} SW] #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 [4 get_ports]}] #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_PINS {W14 [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 IOSTANDAND 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 [13]} SW] #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]}] #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 LVCM ledOS33 [1] get_ports { }] #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 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 [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 led U3 [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 {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_property1 PACKAGE_PIN [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 segAGE_PIN U7 [6] 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 [2] get_ports { }] #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 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_property 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 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 [JB [7]}]

## Pmod رأس JC

## اسم Sch = 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 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 [JC [7]}]

## Pmod Header JXADC

## اسم Sch = 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 {JX}] #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 [name 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 [getset_ports {JXADOSTC [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 #set_property 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_propertyCMOSOSTAND [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]} # get_ports {vgaRed [1]} # get_property {vgaRed 33 }] #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_propertyCMOSANDOST 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]}] # setAND_ getportsVCM I33 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]ertyOST] # 33 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 # I]} 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_OSTPORTSCM33 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 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 PS2property] #set_propertyCMOS2

## 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]} [QspARD_propertyCMOSOST] }] #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_property33 3]}] #set_property PACKAGE_PIN K19 [get_ports QspiCSn] #set_property IOSTANDARD LVCMOS33 [get_ports QspiCSn]

الخطوة السادسة: توصيل مستشعر الحركة PIR

توصيل مستشعر الحركة PIR
توصيل مستشعر الحركة PIR
توصيل مستشعر الحركة PIR
توصيل مستشعر الحركة PIR

يحتوي مستشعر الحركة PIR على ثلاثة دبابيس: الطاقة ، و gnd ، والإنذار على التوالي (انظر الصورة الأولى). يمكن أن يتصل مستشعر الحركة المقترح في هذا الدليل مباشرة باللوحة. ولكن بالنسبة للمستشعر الذي استخدمناه ، كان علينا قطع الأسلاك وتجريدها ثم لحام الأطراف المكشوفة لمنعها من الاهتراء. على اللوح ، أدخل سلك توصيل من ذكر إلى أنثى في سلسلة مع دبابيس الطاقة والأرض ثم سلك توصيل ذكر إلى ذكر في سلسلة مع دبوس الإنذار (انظر الصورة الثانية).

الخطوة 7: توصيل أسلاك LED في لوحة التوصيل

توصيل الأسلاك لأعلى LED في اللوح
توصيل الأسلاك لأعلى LED في اللوح
توصيل الأسلاك لأعلى LED في اللوح
توصيل الأسلاك لأعلى LED في اللوح

قم بتوصيل مؤشر LED باللوحة. أدخل كبل وصلة من ذكر إلى ذكر أسود في سلسلة مع الرصاص القصير للـ LED. ثم قم بتوصيل كابل وصلة من ذكر إلى ذكر ملون مختلف في سلسلة مع الرصاص الطويل من LED.

الخطوة 8: اتصالات لوحة Basys

اتصالات المجلس الأساسي
اتصالات المجلس الأساسي

قم بتوصيل الأطراف الأنثوية لمستشعر الحركة PIR بمصدر جهد 5 فولت على لوحة basys. ثم قم بتوصيل السلك الأرضي LED الذكر بأرض المنفذ الجانبي ثم سلك الإنذار من مستشعر حركة PIR ثم سلك إدخال LED (كما هو موضح في الصورة).

موصى به: