Daftar Isi:
- Langkah 1: Bahan
- Langkah 2: Memahami Desain
- Langkah 3: Pengkodean VHDL
- Langkah 4: Mengkode Arduino
- Langkah 5: Menghubungkan Perangkat Keras
Video: Detektor Efisiensi Bahan Bakar: 5 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:57
Oleh: Danica Fujiwara dan William McGrouther
Mobil adalah moda transportasi utama di dunia saat ini. Secara khusus, di California, kita dikelilingi oleh jalan raya, jalan raya, dan jalan tol yang dilalui ribuan mobil setiap hari. Namun, mobil menggunakan gas dan california menggunakan bensin paling banyak daripada negara bagian lain di AS, sekitar 4.500 galon per hari. Untuk proyek Akhir CPE 133 kami, kami memutuskan untuk membuat sistem yang dapat melacak kecepatan mobil dan mengetahui apakah itu melebihi kecepatan paling efisien untuk jarak tempuh bahan bakar terbaik atau penghematan bahan bakar. Proyek ini akan membantu pengemudi menyadari penghematan bahan bakar mereka yang pada gilirannya diharapkan akan membantu mereka menghemat uang, menggunakan lebih sedikit gas, dan mengurangi polusi di udara.
Langkah 1: Bahan
Bahan yang dibutuhkan untuk proyek ini:
- Basy 3 FPGA
-Arduino Uno
- Papan tempat memotong roti
- Adafruit BNO055 Sensor Orientasi Absolut
- Kabel Pria ke Pria
Langkah 2: Memahami Desain
Diagram Keadaan Hingga
Proyek ini memiliki dua keadaan berbeda dalam diagram keadaan hingga yang ditunjukkan di atas. Lampu dapat menyala (diwakili oleh '1') atau mati (diwakili oleh '0'). Status berubah tergantung pada input kecepatan pelacakan (ts) dan kecepatan optimal konstan.
Diagram Kotak Hitam
Di atas juga terdapat diagram Black Box modul Fuel Efficiency yang berisi skema Speed Comparator dan Seven Segment Display yang akan dibahas lebih lanjut di bawah ini. Kode VHDL ini menerima input 8 bit dari pengukuran accelerometer yang terhubung ke arduino.
Langkah 3: Pengkodean VHDL
Untuk proyek ini, ada tiga file VHDL yang menyusun desain kami, modul Fuel_Efficency_FinalProject, modul Speed_Comparator, dan modul sseg_dec di mana Speed_Comparator dan sseg_dec berada di level bawah untuk membuat modul Fuel Efficiency.
Modul Pembanding Kecepatan
Modul ini mengambil kecepatan 8-bit dalam mil per jam dan membandingkannya dengan kecepatan optimal untuk konsumsi gas paling sedikit. Kecepatan optimal rata-rata untuk jarak tempuh gas terbaik mobil adalah sekitar 55 mph ke bawah. Namun, ini dapat bervariasi dari mobil ke mobil yang dapat disesuaikan dalam modul. Baris 45 kode yang dapat diubah untuk pengoptimalan pribadi ditunjukkan di bawah ini
jika (pelacakan > "00110111") maka
Di mana "00110111" (55 dalam biner) dapat diubah ke angka 8-bit apa pun untuk kecepatan ideal mobil pribadi Anda untuk konsumsi bahan bakar paling sedikit.
Jika kecepatan melebihi angka optimal, lampu akan menyala menandakan bahwa mobil tidak menggunakan efisiensi bahan bakar yang maksimal.
Modul Tampilan Tujuh Segmen
Modul ini mengambil kecepatan 8-bit dalam mil per jam dan menampilkan kecepatan pada layar tujuh segmen. Ini akan memungkinkan pengguna untuk mengetahui seberapa cepat mereka akan tahu apakah dia perlu memperlambat. Modul ini diberikan kepada kami di dalam kelas kami dan ditulis oleh Bryan mealy yang berisi komponen bin2bcdconv yang mengubah input biner 8-bit menjadi bentuk BCD yang lebih mudah untuk didekode dan clk_div sehingga tampilan secara visual dapat menunjukkan angka dengan 3 digit dengan mengubah output anoda pada frekuensi clock tinggi. Kode ini menerima nomor 8-bit, mengubah nomor menjadi tampilan yang dapat dibaca pada papan basys 3.
Modul Efisiensi Bahan Bakar
Ini adalah file utama yang menggunakan modul di atas sebagai komponen. Inputnya adalah jam, dan kecepatan pelacakan. Jam dibangun di dalam papan basys 3 dan kecepatan pelacakan diberikan oleh output arduino yang terhubung ke port sinyal pmod Analog (XADC). Setiap bit dari kecepatan pelacakan 8-bit dipetakan ke port yang ditunjukkan dalam bagian pengkabelan pada langkah4. Kendala Basys 3 lainnya dapat ditemukan di dalam Basys_3_Master.xdc.
Langkah 4: Mengkode Arduino
Proyek ini menggunakan satu file arduino utama yang memerlukan penggunaan beberapa perpustakaan, beberapa di antaranya sudah ada di program arduino Anda dan yang lainnya harus diunduh dari instruksi ini atau situs web Adafruit (tautan di bawah).
Perpustakaan
link ke halaman Adafruit BNO055:
Adafruit telah mengembangkan 2 perpustakaan untuk penggunaan BNO055, dan memberikan contoh bagaimana menggunakannya. Dalam proyek ini kita akan menggunakan fungsi.getVector agar arduino mengeluarkan data akselerometer.
Proyek ini juga menggunakan beberapa library yang sudah terinstal di program arduino, seperti library matematika.
File Utama
File ini menggunakan data akselerometer dari fungsi.getVector dan menggunakan persamaan matematika untuk mengubahnya menjadi kecepatan dalam mil per jam, yang kemudian dikeluarkan dalam 8 bit data ke Basys 3 (lihat bagian "Mengkabelkan Perangkat Keras" untuk lebih lanjut informasi).
Langkah 5: Menghubungkan Perangkat Keras
Kabel Arduino
Arduino harus disambungkan ke papan tempat memotong roti seperti pada gambar di atas.
Pengkabelan Basys 3
Keluaran arduino dipetakan ke masukan Basys 3 melalui port sinyal analog pmod JXADC. Setiap bit dari kecepatan pelacakan 8-bit dapat dihubungkan ke salah satu pin yang ditunjukkan pada gambar di atas. Bit paling signifikan (pin digital 7) terhubung ke ts(7) dan bit paling signifikan (pin digital 0) terhubung ke ts(0).
Direkomendasikan:
Konverter Buck Output 5V Efisiensi Tinggi DIY!: 7 Langkah
Konverter Buck Output 5V Efisiensi Tinggi DIY!: Saya menginginkan cara yang efisien untuk menurunkan voltase yang lebih tinggi dari paket LiPo (dan sumber lainnya) ke 5V untuk proyek elektronik. Di masa lalu saya telah menggunakan modul uang generik dari eBay, tetapi kontrol kualitas yang dipertanyakan dan tidak ada nama
LED FLOODLIGHT W/AC DIY (+LED EFISIENSI VS DC): 21 Langkah (dengan Gambar)
DIY FLOODLIGHT W/AC LEDs (+EFFICIENCY VS DC LEDs): Dalam instruksi/video ini, saya akan membuat lampu sorot dengan chip LED AC tanpa driver yang sangat murah. Apakah mereka baik? Atau mereka benar-benar sampah? Untuk menjawabnya, saya akan membuat perbandingan lengkap dengan semua lampu DIY buatan saya. Seperti biasa, dengan harga murah
Mencari Efisiensi.: 9 Langkah
Dalam Pencarian Efisiensi.: BUCK Converter di "DPAK" Ukuran.Biasanya para desainer pemula elektronik atau yang hobby kita membutuhkan pengatur tegangan pada circuit board tercetak atau breadboard. Sayangnya dengan kesederhanaan, kami menggunakan regulator tegangan linier tetapi tidak
Ukur Level Bahan Bakar Dengan Arduino: 4 Langkah (dengan Gambar)
Ukur Tingkat Bahan Bakar Dengan Arduino: Unit penginderaan biasanya menggunakan pelampung yang terhubung ke potensiometer, biasanya desain tinta tercetak di mobil modern. Saat tangki dikosongkan, pelampung turun dan menggeser kontak yang bergerak di sepanjang resistor, meningkatkan resistansinya.[2] Tambahan
Lampu Baca LED efisiensi tinggi: 9 Langkah (dengan Gambar)
Lampu Baca LED Efisiensi Tinggi: Pernahkah Anda ingin membaca di malam hari tetapi frustrasi karena membuang-buang energi dengan bola lampu 50 atau 60 watt itu. Jika Anda seperti saya, Anda membeli beberapa lusin CFL. Tetapi ketika Anda menyadari bahwa cahaya yang dipancarkan oleh bohlam itu terlalu keras dan tidak