Daftar Isi:
- Langkah 1: Pengatur Waktu
- Langkah 2: Pengoptimalan Tombol
- Langkah 3: LED
- Langkah 4: File Atas
- Langkah 5: File Kendala
- Langkah 6: Menghubungkan Sensor Gerak PIR
- Langkah 7: Menghubungkan LED di Breadboard
- Langkah 8: Koneksi Papan Basys
Video: LED Sensor Gerak: 8 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:57
Latar belakang:
Apakah Anda pernah lupa mematikan lampu sebelum berangkat ke kelas atau bekerja atau sebelum tidur? Jam-jam dengan lampu menyala saat Anda tidak menggunakannya benar-benar dapat menambah biaya dan kehilangan energi. Misalnya, menurut solarcity.com, membiarkan lampu menyala sepanjang malam selama seminggu dapat menambah $25 ke tagihan listrik Anda! Untuk proyek CPE133 kami, kami merancang lampu sensor gerak untuk membantu orang menghemat energi di rumah mereka dan menggunakan lampu mereka secara efisien.
Sistem kami dalam praktik:
Dalam praktiknya, lampu hanya akan menyala ketika sensor mendeteksi gerakan di dalam ruangan. Kemudian lampu akan tetap menyala selama beberapa waktu, seperti sekitar 30 menit, dan kemudian mati secara otomatis. Tetapi katakanlah Anda baru saja melewati atau ingin meninggalkan ruangan lebih awal sebelum waktu yang ditentukan berakhir. Untuk kasus tersebut, kami memasang tombol di mana Anda dapat menyalakan atau mematikan lampu secara manual. Perhatikan lampu akan tetap menyala selama 30 menit meskipun lampu dinyalakan secara manual atau otomatis (kecuali lampu dimatikan secara manual).
Simulasi di kapal:
Untuk melihat bahwa penghitung waktu berfungsi, kami mengubah penghitung waktu menjadi 1 menit.
Bahan:
- 1 papan Basys (Anda dapat menemukannya di sini dari Digilent)
- 1 sensor gerak PIR (Anda dapat menemukannya di sini di Amazon)
- 1 papan tempat memotong roti dan kit (kami sarankan menggunakan yang ini dari Amazon)
-
Dari kit di atas
- 1 LED
- 3 kabel jumper wanita ke pria
- 6 kabel jumper pria ke pria
Langkah 1: Pengatur Waktu
Agar LED tetap menyala selama 1 menit, kita harus membuat timer terlebih dahulu. Papan Basys 3 memiliki frekuensi internal 100MHz sehingga membuat 100 juta siklus sama dengan 1 detik. Ini kemudian digunakan sebagai variabel yang akan bertindak sebagai angka maksimum untuk "t_cnt". T_cnt meningkat 1 saat papan Basys 3 menyelesaikan satu siklus. Setelah mencapai tanda 100 juta itu akan diatur ulang dan variabel lain, "detik", akan meningkat 1. Variabel "detik" ini mewakili jumlah detik yang berlalu dan setelah variabel itu sama dengan 60, satu menit penuh telah berlalu.
Salin kode di bawah ini ke dalam file sumber vhdl bernama Timer.
entitas COUNT_8B adalah
port (RESET: di std_logic;
CLK: di std_logic; T: keluar std_logic:= '0');
akhir COUNT_8B;
arsitektur my_count dari COUNT_8B adalah
konstan max_count: integer:= (100000000); --sinyal t_cnt: std_logic_vector(7 turun ke 0):= "00000000"; sinyal t_cnt: integer:= (0); mulai proses (CLK, RESET, t_cnt) variabel sec: integer:= 0; mulai if (rising_edge(CLK)) lalu if (RESET = '1') maka t_cnt <= (0); -- clear elsif (t_cnt = max_count) maka -- max_count adalah 100 juta yang sama dengan 1 detik t_cnt <= (0); -- Setel ulang jam internal ke 0 detik:= detik + 1; -- Meningkatkan 'jam lambat' kita sebesar 1 jika (detik = 60) lalu -- Setelah mencapai 60 detik maka telah mencapai waktu maksimum detik:= 0; -- Mereset "jam lambat" ke 0 T <= '1'; berakhir jika; lain t_cnt <= t_cnt + 1; -- meningkatkan jam internal T <= '0'; berakhir jika; berakhir jika; proses akhir; akhiri_hitungan saya;
Langkah 2: Pengoptimalan Tombol
Karena frekuensi di papan Basys sangat tinggi (sekitar 100 MHz) ketika Anda menekan untuk waktu yang menurut Anda singkat ke papan Basys, Anda akan menekannya 100.000 kali. Hal ini menyebabkan lampu berkedip antara keadaan hidup dan mati dengan cepat. Kami mencoba mengoptimalkan tombol dengan membuat diagram status untuk mengurangi kedipan.
D-flip-flop akan menampung setiap keadaan dan kemudian kita akan menentukan transisi keadaan dalam pernyataan proses.
Salin kode di bawah ini ke dalam file sumber vhdl bernama Button.
perpustakaan IEEE; gunakan IEEE. STD_LOGIC_1164. ALL;
tombol entitas adalah
Port (btn: di STD_LOGIC; clk: di STD_LOGIC; E: keluar STD_LOGIC); tombol akhir;
arsitektur Perilaku tombol adalah
tipe state_type adalah (DITEKAN, NP); sinyal PS, NS: state_type:= NP;
mulai
seq_proc: proses(NS, clk) mulai if(rising_edge(clk)) lalu PS <= NS; berakhir jika; akhiri proses seq_proc;
ns_proc: proses (btn, PS)
awal kasus PS adalah ketika NP => if (btn = '1') maka NS <= DITEKAN; E <= '1'; lain NS <= NP; E jika (btn = '0') maka NS <= NP; E <='0'; lain NS <= DITEKAN; E <= '0'; berakhir jika; kasus akhir; akhiri proses ns_proc;
akhir Perilaku;
Langkah 3: LED
LED memiliki dua status: OFF (atau IDLE) dan ON. Seperti dikatakan sebelumnya, status disimpan dalam d-flip-flop. Lampu akan menyala jika sensor mendeteksi gerakan (S=1) atau saat tombol ditekan (E=1). LED akan mati secara otomatis jika timer mencapai 1 menit (T=1) atau secara manual saat tombol ditekan (E=1).
Salin kode di bawah ini ke file sumber vhdl bernama LED.
entitas motion_sensored_light adalah Port (S: di STD_LOGIC; -- sesnor; Port JA10/Pin G3 E: di STD_LOGIC; -- tombol eksternal untuk fungsi manual; Tombol Tengah T: di STD_LOGIC; -- saat timer mencapai waktu maksimal; Dari LED timer: out STD_LOGIC; -- light TRST: out STD_LOGIC; -- reset timer clk: in STD_LOGIC); -- clk untuk flip flop yang menahan status akhir motion_sensored_light;
arsitektur Perilaku gerak_sensor_cahaya adalah
tipe state_type adalah (ST0, ST1); --ST0 = IDLE, ST1 = LED TINGGI
sinyal PS, NS: state_type:=ST0; -- NEGARA SEKARANG DAN NEGARA BERIKUTNYA, dimulai pada ST0 IDLE
mulai
-- blok proses flip flop -- update status di tepi naik jam seq_proc: proses(NS, clk) dimulai -- d flip flop yang memegang status if(rising_edge(clk)) kemudian PS <= NS; berakhir jika; akhiri proses seq_proc;
ns_proc: proses(S, E, T, PS)
awal kasus PS adalah ketika ST0 => LED <= '0'; -- output untuk keadaan idle TRST <= '1'; if (S = '0' OR E = '1') then -- masukan untuk transisi dari st0 ke st1 NS <= ST1; lain NS LED <= '1'; -- keluaran untuk status TRST <= '0'; if (E = '1' OR T = '1') maka -- masukan ke untuk transisi dari st1 ke st0 NS <= ST0; lain NS <= ST1; berakhir jika; kasus akhir; akhiri proses ns_proc;
akhir Perilaku;
Langkah 4: File Atas
Sekarang kita akan mem-port map semua file kita yang lain menjadi satu.
Salin kode di bawah ini ke file sumber vhdl bernama Top_File.
perpustakaan IEEE; gunakan IEEE. STD_LOGIC_1164. ALL;
entitas Top_File adalah
Port (S: di STD_LOGIC:= '1'; -- sesnor; Port JA10/Pin G3 btn: di STD_LOGIC:= '0'; -- tombol eksternal untuk fungsi manual; LED Tombol Tengah: keluar STD_LOGIC; -- lampu clk: di STD_LOGIC); -- clk untuk flip flop yang menahan status akhir Top_File;
arsitektur Perilaku Top_File adalah
komponen COUNT_8B adalah
port (RESET: di std_logic:= '0'; CLK: di std_logic; T: keluar std_logic:= '0'); komponen akhir; komponen motion_sensored_light adalah Port (S: di STD_LOGIC; -- sesnor; Port JA10/Pin G3 E: di STD_LOGIC; -- tombol eksternal untuk fungsi manual; Tombol Tengah T: di STD_LOGIC; -- saat timer mencapai waktu maksimal; Dari LED timer: out STD_LOGIC; -- light TRST: out STD_LOGIC; -- reset timer clk: in STD_LOGIC); -- clk untuk flip flop yang menahan komponen akhir status; tombol komponen adalah Port (btn: di STD_LOGIC; clk: di STD_LOGIC; E: keluar STD_LOGIC); komponen akhir; sinyal t_reached_c: std_logic; -- sinyal r_time_c: std_logic; -- sinyal button_c: std_logic;
mulai
pengatur waktu: COUNT_8B peta port(RESET => r_time_c, CLK => CLK, T => t_reached_c); motion_sensor: peta port motion_sensored_light(S => S, E => button_c, T => t_reached_c, LED => LED, TRST => r_time_c, clk => clk); button_controller: peta port tombol(btn => btn, clk => clk, E => button_c); akhir Perilaku;
Langkah 5: File Kendala
Sekarang kita harus menentukan di mana input dan output kita akan berada di papan.
Salin kode di bawah ini ke dalam file kendala vhdl bernama Constraints.
## File ini adalah.xdc umum untuk board Basys3 rev B## Untuk menggunakannya dalam proyek: ## - batalkan komentar pada baris yang sesuai dengan pin yang digunakan ## - ganti nama port yang digunakan (di setiap baris, setelah get_ports) sesuai ke nama sinyal tingkat atas dalam proyek
## Sinyal jam
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 [0]PIN V17 [get_ports] 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 {sw[get_PIN W15 [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 PAKET W14 [get_PIN [get_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]}] #set_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 U1 [set_property IOSTANDARD LVCMOS33] #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 R2 [get_PIN PACKAGE_PIN]}] #set_property IOSTANDARD LVCMOS33 [get_ports {sw[15]}]
## 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 {led[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 LVCMOS {led[get_ports {led[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 LVCMOS {33 [get_ports {33 [get_ports {led[5]}] 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 U [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 PACKAGE_PIN {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 PAKET L1 [get_ports {led[15]}] #set_property IOSTANDARD LVCMOS33 [get_ports {led[15]}] ##7 tampilan segmen #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 {seg[6ports U7 [get_ports {seg[5]}] }] #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] }] #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]}]
##Tombol
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
##Nama Sch = JA1 #set_property PACKAGE_PIN J1 [get_ports {JA[0]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JA[0]}] ##Nama Sch = 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]}] ##Nama 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 IOSTANDARD 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
##Nama Sch = JB1 #set_property PACKAGE_PIN A14 [get_ports {JB[0]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JB[0]}] ##Nama Sch = JB2 #set_property PACKAGE_PIN A16 [get_ports {JB[1]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JB[1]}] ##Nama Sch = JB3 #set_property PACKAGE_PIN B15 [get_ports {JB[2]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JB[2]}] ##Nama 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 IOSTANDARD 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]}] ##Nama Sch = JB10 #set_property PACKAGE_PIN C16 [get_ports {JB[7]}] #set_property IOSTANDARD LVCMOS {33 [get_ports {JB[7]}] JB[7]}]
##Pmod Header JC
##Nama Sch = JC1 #set_property PACKAGE_PIN K17 [get_ports {JC[0]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JC[0]}] ##Nama Sch = 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]}] #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]}] ##Nama Sch = JC10 #set_property PACKAGE_PIN R18 [get_ports {JC[7]}] #set_property IOSTANDARD [dapatkan LVCMOS { JC[7]}]
##Pmod Header JXADC
##Nama Sch = XA1_P #set_property PACKAGE_PIN J3 [get_ports {JXADC[0]}] #set_property IOSTANDARD LVCMOS33 [get_ports {JXADC[0]}] ##Nama Sch = XA2_P #set_property PACKAGE_PIN L3 [get_PIN L3 [get_PIN L] #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 {JXADC[3]}] ##Sch name = XA1_N #set_property PACKAGE_PIN K3 [get_ports] {JXADC[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 = XAproperty 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 PACKAGE_PIN [get_ports {JXADC[7]}]
##Konektor 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 LVCMOS33 [get_property IOSTANDARD }] #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 [get_property IOSTANDARD 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]}] #set_property IOSTANDARD [get_property IOSTANDARD 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]}] #set_property IOSTANDARD LVCM 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[2]}] #set_property 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_ports Hsync] #set_property LVCMOS Hsync] #set_property PACKAGE_PIN R19 [get_ports Vsync] #set_property IOSTANDARD LVCMOS33 [get_ports Vsync]
##Antarmuka 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 PS2Clk LVCMOS_ports] #set_property
##Quad SPI Flash
##Perhatikan bahwa CCLK_0 tidak dapat ditempatkan di perangkat seri 7. Anda dapat mengaksesnya menggunakan ##STARTUPE2 primitif. #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 PACKAGE_PIN D19 [get_ports {QspiDB[1]}] #set_property IOSTANDARD }] #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 IOSTANDARD [get_property LVCM] 3]}] #set_property PACKAGE_PIN K19 [get_ports QspiCSn] #set_property IOSTANDARD LVCMOS33 [get_ports QspiCSn]
Langkah 6: Menghubungkan Sensor Gerak PIR
Sensor gerak PIR memiliki tiga pin: daya, gnd, dan alarm masing-masing (lihat gambar pertama). Sensor gerak yang disarankan dalam instruksi ini dapat terhubung langsung ke papan tempat memotong roti. Tetapi untuk sensor yang kami gunakan, kami harus memotong dan mengupas kabel dan kemudian menyolder ujung yang terbuka agar tidak berjumbai. Pada papan tempat memotong roti masukkan kabel jumper jantan ke betina secara seri dengan pin power dan ground dan kemudian kabel jumper jantan ke jantan secara seri dengan pin alarm (lihat gambar kedua).
Langkah 7: Menghubungkan LED di Breadboard
Colokkan LED ke papan tempat memotong roti. Masukkan kabel jumper jantan ke jantan hitam secara seri dengan kabel pendek LED. Kemudian pasang kabel jumper jantan ke jantan berwarna berbeda secara seri dengan ujung panjang LED.
Langkah 8: Koneksi Papan Basys
Hubungkan ujung betina dari sensor gerak PIR ke sumber tegangan 5 volt pada papan bass. Kemudian sambungkan kabel ground LED male ke ground port samping kemudian kabel alarm dari sensor gerak PIR dan kemudian kabel input LED (seperti yang terlihat pada gambar).
Direkomendasikan:
Alarm Sensor Gerak: 5 Langkah
Alarm Sensor Gerak: Apakah Anda selalu memeriksa siapa yang ada di depan pintu Anda? Ini adalah barang yang sempurna untuk Anda. Saya selalu ingin tahu apakah ada orang di luar pintu saya tanpa mengetahuinya. Saya telah membuat Alarm Sensor Gerak ini dengan lampu led yang akan menunjukkan
DIY: Kotak Sensor Mini yang Dipasang di Langit-Langit Dengan Sensor Gerak yang Dapat Difokuskan: 4 Langkah
DIY: Kotak Sensor Mini yang Dipasang di Langit-Langit Dengan Sensor Gerak yang Dapat Difokuskan: Halo. Beberapa waktu yang lalu saya pernah membantu teman saya dengan konsep rumah pintar dan membuat kotak sensor mini dengan desain khusus yang dapat dipasang di langit-langit ke dalam lubang 40x65mm. Kotak ini membantu untuk:• mengukur intensitas cahaya• mengukur kelembapan
Siapa di Pintuku? Proyek Sensor Gerak / Sensor Rentang PIR: 5 Langkah
Siapa di Pintuku? Proyek Sensor Gerak/Sensor Jarak PIR: Proyek kami bertujuan untuk merasakan gerakan melalui PIR dan sensor jarak. Kode Arduino akan mengeluarkan sinyal visual dan audio untuk memberi tahu pengguna bahwa ada seseorang yang dekat. Kode MATLAB akan mengirimkan sinyal email untuk memperingatkan pengguna bahwa ada seseorang yang dekat. Perangkat ini
Strip LED Diaktifkan Sensor Gerak Dengan Timer: 6 Langkah (dengan Gambar)
Strip LED Diaktifkan Sensor Gerak Dengan Timer: Hai semuanya! Saya sangat senang bisa menulis instruksi lain sekarang. Proyek ini muncul ketika saya dihubungi oleh sesama pengajar-er(?!) (David @dducic) beberapa bulan yang lalu meminta bantuan desain. Jadi, inilah spesifikasi aslinya: &q
Stopkontak Terkendali Gerak - Dari Lampu Penginderaan Gerak: 6 Langkah
Stopkontak Terkendali Gerakan - Dari Lampu Penginderaan Gerakan: Bayangkan Anda adalah seorang penipu yang pergi ke rumah paling menakutkan di blok itu. Setelah melewati semua hantu, hantu dan kuburan Anda akhirnya sampai ke jalan terakhir. Anda dapat melihat permen dalam mangkuk di depan Anda! Tapi kemudian tiba-tiba ada gho