Daftar Isi:
- Langkah 1: Kotak Hitam Sistem
- Langkah 2: Komponen
- Langkah 3: D Flip-Flop
- Langkah 4: Kondisional
- Langkah 5: Kendala
- Langkah 6: File Sumber Utama
- Langkah 7: Perakitan
- Langkah 8: Memuat Program
Video: Lampu Jalan Diaktifkan Gerakan Hemat Energi: 8 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:55
Tujuan kami dengan proyek ini adalah untuk menciptakan sesuatu yang akan menghemat energi masyarakat dan sumber daya keuangan. Lampu jalan yang diaktifkan dengan gerakan akan melakukan kedua hal ini. Di seluruh negeri, energi terbuang sia-sia untuk penerangan jalan yang menerangi jalan-jalan yang kosong. Sistem lampu jalan kami memastikan bahwa lampu hanya menyala saat dibutuhkan, menghemat banyak uang masyarakat. Menggunakan sensor gerak, sistem menyalakan lampu hanya jika ada mobil. Juga untuk keselamatan pejalan kaki, kami menerapkan tombol override yang menyalakan semua lampu di jalan. Langkah-langkah berikut akan memandu Anda melalui bagaimana kami merancang dan membangun model proyek yang diperkecil menggunakan Vivado dan papan Basys 3.
Langkah 1: Kotak Hitam Sistem
Kami memulai proyek ini dengan menggambar diagram kotak hitam sederhana. Diagram kotak hitam hanya menunjukkan input dan output yang dibutuhkan sistem kami untuk menyelesaikan semua proses yang diperlukan. Kami mencoba untuk menjaga desain kami sesederhana dan sesederhana mungkin. Tiga input sistem kami termasuk bus sensor gerak (4 untuk model kami yang diperkecil), tombol penyeberangan pejalan kaki, dan input jam. Di sisi lain output tunggal kami adalah bus lampu LED yang mewakili lampu jalan kami. Untuk model ini kami menggunakan skenario 16 lampu jalan karena itulah jumlah maksimum output LED yang terpasang pada papan Basys 3. Akhirnya, dengan menggunakan diagram ini kami dapat membuat file proyek, sumber, dan kendala Vivado kami dengan input dan output yang sesuai.
Langkah 2: Komponen
Pada langkah ini kita menyelam lebih dalam memeriksa komponen yang membentuk diagram kotak hitam kita. Komponen pertama kami adalah file sumber VHDL yang berisi D flip-flop. D flip-flop hanya mengambil sinyal apa pun yang dimasukkan ke mereka dari sensor di tepi naik jam, dan mengunci data itu sampai tepi naik berikutnya. Ini membuat sensor gerak sensitif kami tidak menyebabkan output LED dari "berkedip". Selain itu, kami menempatkan satu flip-flop D pada sinyal input tombol agar LED tetap menyala selama sekitar 5-7 detik setelah tombol ditekan. Kami juga menjalankan ini melalui pembagi jam.
entitas clk_div2 adalah Port (clk: di std_logic; sclk: keluar std_logic); akhir clk_div2;
arsitektur my_clk_div dari clk_div2 adalah
konstan max_count: integer:= (3000000000); sinyal tmp_clk: std_logic:= '0'; mulai my_div: proses (clk, tmp_clk) variabel div_cnt: integer:= 0; mulai if (rising_edge(clk)) lalu if (div_cnt = MAX_COUNT) maka tmp_clk <= bukan tmp_clk; div_cnt:= 0; lain div_cnt:= div_cnt + 1; berakhir jika; berakhir jika; sclk <= tmp_clk; akhiri proses my_div; akhiri my_clk_div;
Komponen terakhir kami dalam diagram ini adalah file sumber perilaku VHDL yang berisi persyaratan untuk output berdasarkan konfigurasi sinyal input.
Langkah 3: D Flip-Flop
Empat flip-flop yang terpasang pada sinyal input sangat penting untuk fungsionalitas sistem kami. Seperti yang dikatakan sebelumnya, dengan sensor gerak sensitif dan tombol override, flip-flop menggunakan kait untuk hanya mengeluarkan sinyal input kami di tepi naik jam. Logika sekuensial ini berarti lampu jalan kita dapat tetap menyala selama jangka waktu tertentu setelah dipicu oleh gerakan cepat. Pengkodean untuk D-Flip Flop cukup sederhana:
beginprocess (CLK) dimulai jika rising_edge(CLK) maka Q <= D; berakhir jika; proses akhir;
Semuanya dapat dikompilasi menjadi satu pernyataan if. Setelah kami memiliki bagian ini, kami membuat file sumber VHDL struktural yang berisi keempat sandal jepit yang kami perlukan:
mulai DFF0: peta port DFF (CLK => CLK, D => D(0), Q => Q(0)); DFF1: Peta port DFF (CLK => CLK, D => D(1), Q => Q(1)); DFF2: Peta port DFF (CLK => CLK, D => D(2), Q => Q(2)); DFF3: Peta port DFF (CLK => CLK, D => D(3), Q => Q(3));
akhir Perilaku;
Ini membantu menjaga file struktural utama kami di mana kami menyatukan semua komponen sistem jauh lebih bersih dan terorganisir.
Langkah 4: Kondisional
Untuk menjaga kode kami tetap kompak dan efisien, kami menulis semua persyaratan kami dalam satu pernyataan kasus. Untuk model yang diperkecil, kami memiliki 16 kemungkinan konfigurasi output LED karena setiap sensor gerak bertanggung jawab atas sekelompok 4 LED.:
kasus NMS adalah ketika "1111" => LED LED LED LED LED LED LED LED LED LED LED LED LED LED <= "11111111111111111"; kasus akhir;
Langkah 5: Kendala
Untuk menyatakan input dan output Anda dengan benar menggunakan Vivado, Anda harus menerapkan file kendala yang menyatakan semua port, tombol, LED, dan jam yang digunakan.
set_property PACKAGE_PIN W5 [get_ports CLK] set_property IOSTANDARD LVCMOS33 [get_ports CLK]
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_ports_PIN] set {LED[1]} 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 {LED[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 [get_ports {LED[5]}] set_property PACKAGE_PIN U14 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 {LED[get_ports {LED[get_ports] 8]}] set_property IOSTANDARD LVCMOS33 [get_ports {LED[8]}] set_property PACKAGE_PIN V3 [get_ports {LED[9]}] set_property IO STANDAR 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[11]}] set [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 [get_ports {LED[13]}] set_property IOSTANDARD LVCM {LED[13]}] set_property PACKAGE_PIN P1 [get_ports {LED[14]}] set_property IOSTANDARD LVCMOS33 [get_ports {LED[14]}] set_property PACKAGE_PIN L1 [get_ports {LED[15]}] set_property IOSTANDARD [ambil_LVCMOS {LED [15]}]
set_property PACKAGE_PIN U18 [get_ports BTN] set_property IOSTANDARD LVCMOS33 [get_ports BTN]
set_property PACKAGE_PIN A14 [get_ports {MS[0]}] set_property IOSTANDARD LVCMOS33 [get_ports {MS[0]}] set_property PACKAGE_PIN A16 [get_ports {MS[1]}] set_property IOSTANDARD LVCMOS33 [get_ports_property {MS[1]} B15 [get_ports {MS[2]}] set_property IOSTANDARD LVCMOS33 [get_ports {MS[2]}] set_property PACKAGE_PIN B16 [get_ports {MS[3]}] set_property IOSTANDARD LVCMOS33 [get_ports {MS[3]}]
Langkah 6: File Sumber Utama
Dalam file utama ini kami menyatukan semua file sumber komponen yang disebutkan sebelumnya. File ini berfungsi sebagai kode struktural yang menyatukan komponen yang berbeda.
entitas Master_Final_Project adalah Port (BTN: di STD_LOGIC; CLK: di STD_LOGIC; MS: di STD_LOGIC_VECTOR (3 turun ke 0); LED: keluar STD_LOGIC_VECTOR (15 turun ke 0)); akhiri Master_Final_Project;
arsitektur Perilaku Master_Final_Project adalah
komponen final_project adalah Port (--CLK: di STD_LOGIC; NMS: di STD_LOGIC_VECTOR (3 turun ke 0); BTN: di STD_LOGIC; --sw: di STD_LOGIC_Vector (1 turun ke 0); LED: keluar STD_LOGIC_VECTOR (15 turun ke 0)); komponen akhir;
komponen Final_DFF adalah
Port (CLK: masuk STD_LOGIC; D: masuk STD_LOGIC_Vector (3 turun ke 0); Q: keluar STD_LOGIC_Vector (3 turun ke 0)); komponen akhir;
sinyal DFF02proj30: STD_LOGIC;
sinyal DFF12proj74: STD_LOGIC; sinyal DFF22proj118: STD_LOGIC; sinyal DFF32proj1512: STD_LOGIC;
mulai
DFF0: Peta port Final_DFF (CLK => CLK, D(0) => MS(0), D(1) => MS(1), D(2) => MS(2), D(3) => MS(3), Q(0) => DFF02proj30, Q(1) => DFF12proj74, Q(2) => DFF22proj118, Q(3) => DFF32proj1512); Proj0: peta port final_project (NMS(0) => DFF02proj30, NMS(1) => DFF12proj74, NMS(2) => DFF22proj118, NMS(3) => DFF32proj1512, BTN => BTN, LED => LED); akhir Perilaku;
Langkah 7: Perakitan
Perakitan perangkat keras untuk proyek ini minimal. Satu-satunya bagian yang diperlukan adalah sebagai berikut:
1. Papan Basys 3 (1)
2. Sensor gerak murah yang dapat ditemukan di amazon di sini. (4)
3. Pemeran utama pria-ke-wanita (4)
Perakitan:
1. Hubungkan 4 lead male ke port JB header PMod 1-4 (Lihat Gambar).
2. Hubungkan ujung betina ke setiap pin keluaran sensor gerak.
Langkah 8: Memuat Program
Sekarang kita siap untuk memuat file sumber master VHDL ke papan Basys 3. Pastikan untuk menjalankan sintesis, implementasi, dan menghasilkan pemeriksaan bitstream untuk kemungkinan kesalahan. Jika semua berhasil, buka pengelola perangkat keras dan program perangkat Basys 3. Proyek Anda sekarang selesai!
Direkomendasikan:
Saklar Lampu yang Diaktifkan Gerakan: 3 Langkah
Sakelar Lampu yang Diaktifkan Gerakan: Setiap kali kita meninggalkan meja atau ruangan kita, sebagian besar waktu kita lupa mematikan lampu di sana. Hal ini menyebabkan hilangnya listrik dan kenaikan tagihan listrik Anda. Tapi bagaimana jika lampu mati secara otomatis, setelah Anda meninggalkan ruangan. Ya, masuk
Lampu LED Diaktifkan Gerakan yang Dioperasikan dengan Baterai: 4 Langkah
Lampu LED yang Diaktifkan dengan Gerakan yang Dioperasikan dengan Baterai: Jika Anda ingin meletakkan lampu di suatu tempat yang tidak cocok untuk disambungkan, ini mungkin yang Anda butuhkan
LED POVstick Dengan Bluetooth Hemat Energi: 10 Langkah (dengan Gambar)
LED POVstick Dengan Bluetooth Low Energy: Instruksi ini menunjukkan kepada Anda cara membuat tongkat lightwriter dengan LED RGB yang dapat dikontrol melalui BLE dari ponsel Anda! Sekarang musim gelap dimulai dan Anda perlu mengambil gambar eksposur panjang: Dengan tongkat ini Anda dapat menulis tanda tangan Anda ke
Sakelar Lampu yang Diaktifkan Gerakan Dengan Sensor Cahaya: 5 Langkah
Sakelar Lampu yang Diaktifkan Gerakan Dengan Sensor Cahaya: Sakelar lampu yang diaktifkan dengan gerakan memiliki banyak aplikasi baik di rumah maupun di kantor. Ini, bagaimanapun, telah menambahkan keuntungan dari menggabungkan sensor cahaya, sehingga, cahaya ini hanya dapat dipicu pada waktu Malam
PROYEK HEMAT ENERGI MENGGUNAKAN MIKROKONTROLER - ATMEGA8A: 3 Langkah
PROYEK HEMAT ENERGI MENGGUNAKAN MIKROKONTROLER - ATMEGA8A: LINK KE PROYEK: https://www.youtube.com/watch?v=KFCSOy9yTtE, https://www.youtube.com/watch?v=nzaA0oub7FQ DAN https://www .youtube.com/watch?v=I2SA4aJbiYoOverviewPerangkat 'Penghemat Energi' ini akan memberi Anda banyak daya / hemat energi meskipun