Mục lục:
- Bước 1: Hẹn giờ
- Bước 2: Tối ưu hóa nút
- Bước 3: Đèn LED
- Bước 4: Tệp trên cùng
- Bước 5: Tệp ràng buộc
- Bước 6: Nối dây cảm biến chuyển động PIR
- Bước 7: Đi dây đèn LED trong Breadboard
- Bước 8: Kết nối bảng Basys
Video: Đèn LED cảm biến chuyển động: 8 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:35
Tiểu sử:
Bạn có bao giờ quên tắt đèn trước khi đến lớp, đi làm hoặc trước khi đi ngủ không? Những giờ bật đèn khi bạn không sử dụng thực sự có thể làm tăng thêm chi phí và tổn thất năng lượng. Ví dụ, theo solarcity.com, để đèn sáng cả đêm trong một tuần có thể thêm 25 đô la vào hóa đơn tiền điện của bạn! Đối với dự án CPE133 của chúng tôi, chúng tôi thiết kế đèn cảm biến chuyển động để giúp mọi người tiết kiệm năng lượng trong nhà và sử dụng đèn hiệu quả.
Hệ thống của chúng tôi trong thực tế:
Trong thực tế, đèn sẽ chỉ bật khi một cảm biến phát hiện chuyển động trong phòng. Sau đó, đèn sẽ sáng trong một khoảng thời gian nhất định, chẳng hạn như khoảng 30 phút, rồi tự động tắt. Nhưng giả sử bạn vừa đi qua hoặc muốn rời khỏi phòng sớm trước khi hết thời gian quy định. Đối với những trường hợp đó, chúng tôi đã cài đặt một nút để bạn có thể bật hoặc tắt đèn theo cách thủ công. Lưu ý rằng đèn sẽ sáng trong 30 phút ngay cả khi đèn được bật thủ công hoặc tự động (trừ khi đèn được tắt theo cách thủ công).
Mô phỏng trên tàu:
Để thấy rằng bộ hẹn giờ hoạt động, chúng tôi đã thay đổi bộ hẹn giờ thành 1 phút.
Vật liệu:
- 1 bảng Basys (bạn có thể tìm thấy một bảng ở đây từ Digilent)
- 1 cảm biến chuyển động PIR (bạn có thể tìm thấy một cảm biến ở đây trên Amazon)
- 1 breadboard và bộ dụng cụ (chúng tôi khuyên bạn nên sử dụng cái này từ Amazon)
-
Từ bộ trên
- 1 đèn LED
- 3 cáp jumper từ nữ đến nam
- 6 dây cáp nam sang nam
Bước 1: Hẹn giờ
Để đèn LED vẫn sáng trong 1 phút, trước tiên chúng ta phải tạo một bộ hẹn giờ. Bo mạch Basys 3 có tần số bên trong là 100MHz, do đó tạo ra 100 triệu chu kỳ tương đương với 1 giây. Sau đó, giá trị này được sử dụng như một biến sẽ hoạt động như một số tối đa cho “t_cnt”. T_cnt tăng 1 khi bảng Basys 3 hoàn thành một chu kỳ. Sau khi đạt đến mốc 100 triệu, nó sẽ đặt lại và một biến khác, "giây", sẽ tăng thêm 1. Biến "giây" này đại diện cho số giây đã trôi qua và khi biến đó bằng 60, một phút đã trôi qua.
Sao chép mã bên dưới vào tệp nguồn vhdl có tên Bộ hẹn giờ.
thực thể COUNT_8B mới là
port (ĐẶT LẠI: trong std_logic;
CLK: trong std_logic; T: out std_logic: = '0');
kết thúc COUNT_8B;
kiến trúc my_count of COUNT_8B là
hằng số max_count: số nguyên: = (100000000); --signal t_cnt: std_logic_vector (7 downto 0): = "00000000"; signal t_cnt: integer: = (0); bắt đầu quá trình (CLK, RESET, t_cnt) biến sec: integer: = 0; bắt đầu if (tăng_edge (CLK)) then if (RESET = '1') then t_cnt <= (0); - clear elsif (t_cnt = max_count) then - max_count là 100 triệu tương đương với 1 giây t_cnt <= (0); - Đặt lại đồng hồ bên trong thành 0 giây: = sec + 1; - Tăng 'đồng hồ chậm' của chúng ta lên 1 nếu (giây = 60) sau đó - Khi nó đạt đến 60 giây thì nó đã đạt đến thời gian tối đa giây: = 0; - Đặt lại "đồng hồ chậm" thành 0 T <= '1'; kết thúc nếu; khác t_cnt <= t_cnt + 1; - tăng xung nhịp bên trong T <= '0'; kết thúc nếu; kết thúc nếu; kết thúc quá trình; end my_count;
Bước 2: Tối ưu hóa nút
Vì tần số trong bảng Basys rất cao (khoảng 100 MHz) nên khi bạn nhấn vào bảng Basys trong một khoảng thời gian ngắn, bạn sẽ nhấn nó 100.000 lần. Điều này làm cho ánh sáng nhấp nháy nhanh chóng giữa trạng thái bật và tắt. Chúng tôi đã cố gắng tối ưu hóa nút bằng cách tạo biểu đồ trạng thái để giảm hiện tượng nhấp nháy.
D-flip-flops sẽ giữ từng trạng thái và sau đó chúng tôi sẽ chỉ định các chuyển đổi trạng thái trong câu lệnh quy trình.
Sao chép mã bên dưới vào tệp nguồn vhdl có tên là Nút.
thư viện IEEE; sử dụng IEEE. STD_LOGIC_1164. ALL;
nút thực thể là
Port (btn: in STD_LOGIC; clk: in STD_LOGIC; E: out STD_LOGIC); nút kết thúc;
kiến trúc Hành vi của nút là
type state_type is (PRESSED, NP); tín hiệu PS, NS: state_type: = NP;
bắt đầu
seq_proc: process (NS, clk) begin if (ising_edge (clk)) then PS <= NS; kết thúc nếu; kết thúc quá trình seq_proc;
ns_proc: process (btn, PS)
trường hợp bắt đầu PS là khi NP => if (btn = '1') then NS <= PRESSED; E <= '1'; khác NS <= NP; E if (btn = '0') then NS <= NP; E <= '0'; khác NS <= BÁO CHÍ; E <= '0'; kết thúc nếu; trường hợp kết thúc; kết thúc quá trình ns_proc;
cuối Hành vi;
Bước 3: Đèn LED
Đèn LED có hai trạng thái: TẮT (hoặc IDLE) và BẬT. Như đã nói trước đây, các trạng thái được lưu trữ trong một d-flip-flop. Đèn sẽ sáng nếu cảm biến phát hiện chuyển động (S = 1) hoặc khi nhấn nút (E = 1). Đèn LED sẽ tự động tắt nếu bộ hẹn giờ đạt đến 1 phút (T = 1) hoặc bằng tay khi nhấn một nút (E = 1).
Sao chép mã bên dưới vào tệp nguồn vhdl có tên LED.
thực thể motion_sensored_light là Cổng (S: trong STD_LOGIC; - sesnor; Cổng JA10 / Chân G3 E: trong STD_LOGIC; - nút bên ngoài cho chức năng thủ công; Nút trung tâm T: trong STD_LOGIC; - khi bộ hẹn giờ đạt đến thời gian tối đa; Từ đèn LED hẹn giờ: out STD_LOGIC; - light TRST: out STD_LOGIC; - đặt lại bộ đếm thời gian: trong STD_LOGIC); - clk cho flip flop giữ các trạng thái kết thúc chuyển_động được kiểm duyệt;
Kiến trúc Hành vi của motion_sensored_light là
type state_type is (ST0, ST1); --ST0 = IDLE, ST1 = LED CAO
tín hiệu PS, NS: state_type: = ST0; - TIỂU BANG HIỆN TẠI VÀ TIỂU BƯỚC TIẾP THEO, bắt đầu ở ST0 IDLE
bắt đầu
- khối quy trình của flip flop - cập nhật trạng thái trên cạnh lên của xung nhịp seq_proc: process (NS, clk) begin - d flip flop giữ trạng thái if (tăng_edge (clk)) then PS <= NS; kết thúc nếu; kết thúc quá trình seq_proc;
ns_proc: process (S, E, T, PS)
trường hợp bắt đầu PS là khi ST0 => LED <= '0'; - đầu ra cho trạng thái nhàn rỗi TRST <= '1'; if (S = '0' OR E = '1') then - đầu vào để chuyển từ st0 sang st1 NS <= ST1; khác NS LED <= '1'; - kết quả đầu ra cho trạng thái TRST <= '0'; if (E = '1' OR T = '1') then - đầu vào để chuyển từ st1 sang st0 NS <= ST0; khác NS <= ST1; kết thúc nếu; trường hợp kết thúc; kết thúc quá trình ns_proc;
cuối Hành vi;
Bước 4: Tệp trên cùng
Bây giờ chúng ta sẽ chuyển ánh xạ tất cả các tệp khác của chúng ta thành một.
Sao chép mã bên dưới vào tệp nguồn vhdl có tên Top_File.
thư viện IEEE; sử dụng IEEE. STD_LOGIC_1164. ALL;
thực thể Top_File mới là
Cổng (S: in STD_LOGIC: = '1'; - sesnor; Cổng JA10 / Pin G3 btn: in STD_LOGIC: = '0'; - nút bên ngoài cho chức năng thủ công; Đèn LED nút trung tâm: out STD_LOGIC; - đèn clk: trong STD_LOGIC); - clk cho flip flop giữ các trạng thái kết thúc Top_File;
Kiến trúc Hành vi của Top_File là
thành phần COUNT_8B mới là
port (RESET: in std_logic: = '0'; CLK: in std_logic; T: out std_logic: = '0'); thành phần cuối; thành phần motion_sensored_light là Cổng (S: trong STD_LOGIC; - sesnor; Cổng JA10 / Chân G3 E: trong STD_LOGIC; - nút bên ngoài cho chức năng thủ công; Nút trung tâm T: trong STD_LOGIC; - khi bộ đếm thời gian đạt đến thời gian tối đa; Từ đèn LED hẹn giờ: out STD_LOGIC; - light TRST: out STD_LOGIC; - đặt lại bộ hẹn giờ clk: in STD_LOGIC); - clk cho flip flop giữ các thành phần cuối trạng thái; nút thành phần là Port (btn: in STD_LOGIC; clk: in STD_LOGIC; E: out STD_LOGIC); thành phần cuối; tín hiệu t_reached_c: std_logic; - signal r_time_c: std_logic; - signal button_c: std_logic;
bắt đầu
hẹn giờ: bản đồ cổng COUNT_8B (ĐẶT LẠI => r_time_c, CLK => CLK, T => t_reached_c); motion_sensor: sơ đồ cổng motion_sensored_light (S => S, E => button_c, T => t_reached_c, LED => LED, TRST => r_time_c, clk => clk); button_controller: sơ đồ cổng nút (btn => btn, clk => clk, E => button_c); cuối Hành vi;
Bước 5: Tệp ràng buộc
Bây giờ chúng ta phải xác định đầu vào và đầu ra của chúng ta sẽ ở đâu trên bảng.
Sao chép mã bên dưới vào tệp ràng buộc vhdl có tên Constraints.
## Tệp này là.xdc chung cho bảng Basys3 rev B ## Để sử dụng nó trong một dự án: ## - bỏ ghi chú các dòng tương ứng với các chân đã sử dụng ## - đổi tên các cổng đã sử dụng (trong mỗi dòng, sau get_ports) theo đến tên tín hiệu cấp cao nhất trong dự án
## Tín hiệu đồng hồ
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] ## Switch #set_property PACKAGE [0_PIN} V17 {[0_PIN] 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_property PACKAGE_PIN} W16] #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_property PACKAGE_PIN W15]}] #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 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 IOST_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_property PACKAGE_PIN}] #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 sw [15]}] #set_property IOSTANDARD LVCMOS33 [get_ports {sw [15]}]
## đèn 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]}] # led_property IOSTANDARD] LVCMsOS33 [get_property IOSTANDARD] LVCMsOS33 }] #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 LVCMsOS33 [led_property IOSTANDARD LVCMsOS33 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 LVCM 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 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 [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 N GÓI {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 L1 [get_ports {led [15]}] #set_property IOSTANDARD LVCMOS33 [get_ports {led [15]}] ## 7 segment display #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 #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 [6] }] #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_property PACKAGE_PINs {an }] #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]}]
##Nút
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]
## Tiêu đề Pmod 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 IOSTANDARDty 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]
## Tiêu đề Pmod 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_ANDIN A15 [get_ports {JB [4]} IOST 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 JB [7]}]
## Tiêu đề Pmod 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]} IOST 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 JC [7]}]
## Tiêu đề 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 [1] #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_property] IOSTANDARD 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_property_N #set_pro 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 ICMOS33 [get_ports {JXADC [7]}]
## Đầu nối 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] #set_property IOSTANDARD LVCMOS33 [get_ports {vgaRed [0]}] #set_property PACKAGE_PIN H19 [get_ports {vgaRed [1]}] #set_property ISTCMOS 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]} IO33 IO33 [ANDARD_ports LVCMRed vgaRed vgaRed [3]}] #set_property 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]} 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] 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 [get_ports 2] IOSTARD 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 P19_proyperty Hsync] #set_property PACKAGE_PIN R19 [get_ports Vsync] #set_property IOSTANDARD LVCMOS33 [get_ports Vsync]
## Giao diện 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 PULL_ports #set33_properata
## Quad SPI Flash
## Lưu ý rằng CCLK_0 không thể được đặt trong các thiết bị dòng 7. Bạn có thể truy cập nó bằng cách sử dụng ## STARTUPE2 nguyên thủy. #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]} LVCMB [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] 3]}] #set_property PACKAGE_PIN K19 [get_ports QspiCSn] #set_property IOSTANDARD LVCMOS33 [get_ports QspiCSn]
Bước 6: Nối dây cảm biến chuyển động PIR
Cảm biến chuyển động PIR có ba chân tương ứng: nguồn, gnd và cảnh báo (xem hình đầu tiên). Cảm biến chuyển động được đề xuất trong tài liệu hướng dẫn này có thể kết nối trực tiếp vào breadboard. Nhưng đối với cảm biến mà chúng tôi sử dụng, chúng tôi phải cắt và tước dây và sau đó hàn các đầu tiếp xúc để giữ cho chúng không bị sờn. Trên bảng mạch cắm dây nối nam sang dây nữ nối tiếp với chân nguồn và chân nối đất, sau đó lắp dây nhảy nam sang dây nối nam với chốt báo động (xem hình thứ hai).
Bước 7: Đi dây đèn LED trong Breadboard
Cắm đèn LED vào breadboard. Cắm nối tiếp cáp jumper đực sang cái màu đen với dây dẫn ngắn của đèn LED. Sau đó, cắm nối tiếp cáp jumper nam sang nam có màu khác nhau với dây dẫn dài của đèn LED.
Bước 8: Kết nối bảng Basys
Kết nối các đầu cái của cảm biến chuyển động PIR vào nguồn điện áp 5 volt trên bảng đế. Sau đó kết nối dây nối đất LED đực vào đất của cổng bên cạnh, sau đó là dây cảnh báo từ cảm biến chuyển động PIR và sau đó là dây đầu vào LED (như trong hình).
Đề xuất:
Đèn LED ban đêm cảm biến chuyển động tự động DIY: 6 bước (có hình ảnh)
Đèn LED ban đêm cảm biến chuyển động tự động DIY: Xin chào, chào mừng các bạn đến với một tài liệu hướng dẫn khác sẽ luôn giúp ích cho bạn trong cuộc sống hàng ngày và thêm một tiện ích giúp cuộc sống của bạn trở nên dễ dàng. Đây đôi khi có thể là một vị cứu tinh trong trường hợp những người tuổi già phải vật lộn để lên giường
Tự làm: Hộp cảm biến mini gắn trần với cảm biến chuyển động có thể lấy nét: 4 bước
Tự làm: Hộp cảm biến mini gắn trần với cảm biến chuyển động có thể lấy nét: Xin chào. Cách đây một thời gian, tôi đã giúp đỡ người bạn của mình về khái niệm nhà thông minh và tạo ra một hộp cảm biến mini với thiết kế tùy chỉnh có thể được gắn trên trần nhà vào lỗ 40x65mm. Hộp này giúp: • đo cường độ ánh sáng • đo độ ẩm
Từ đèn pin đến cảm biến chuyển động với ESP8266 và MQTT: 5 bước (có hình ảnh)
Từ đèn pin đến cảm biến chuyển động Với ESP8266 và MQTT: Trong bài đăng này, tôi sẽ trình bày các mục dưới đây: Đèn LED cần có mạch dòng điện giới hạn để tạo đèn pin tạo ánh sáng bằng pin di động và làm mờ đèn LED bằng ESP8266 qua MQTT. Video là tóm tắt và một lời giải thích ngắn gọn về cách
Ai ở cửa tôi? Cảm biến chuyển động PIR / Dự án cảm biến phạm vi: 5 bước
Ai ở cửa tôi? Dự án Cảm biến Chuyển động / Cảm biến Phạm vi PIR: Dự án của chúng tôi nhằm mục đích cảm nhận chuyển động thông qua PIR và cảm biến khoảng cách. Mã Arduino sẽ xuất ra tín hiệu hình ảnh và âm thanh để báo cho người dùng biết ai đó đang ở gần. Mã MATLAB sẽ gửi tín hiệu email để cảnh báo người dùng rằng ai đó đang ở gần. Thiết bị này
Cửa ra điều khiển chuyển động - Từ đèn cảm biến chuyển động: 6 bước
Cửa ra điều khiển chuyển động - Từ ánh sáng cảm biến chuyển động: Hãy tưởng tượng rằng bạn là một kẻ lừa đảo hoặc lừa dối đến ngôi nhà đáng sợ nhất trong khu nhà. Sau khi vượt qua tất cả những con ma cà rồng, bóng ma và nghĩa địa, cuối cùng bạn cũng đến được con đường cuối cùng. Bạn có thể nhìn thấy kẹo trong một cái bát trước mặt bạn! Nhưng rồi đột nhiên xuất hiện một con ma