Daftar Isi:

Detektor Efisiensi Bahan Bakar: 5 Langkah
Detektor Efisiensi Bahan Bakar: 5 Langkah

Video: Detektor Efisiensi Bahan Bakar: 5 Langkah

Video: Detektor Efisiensi Bahan Bakar: 5 Langkah
Video: Brimob Tembak Jatuh Drone Liar di Acara Grebeg Syawal Yogyakarta 2024, November
Anonim
Detektor Efisiensi Bahan Bakar
Detektor Efisiensi Bahan Bakar

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
Bahan
Bahan
Bahan
Bahan
Bahan
Bahan
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

Memahami Desain
Memahami Desain
Memahami Desain
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

Menghubungkan Perangkat Keras
Menghubungkan Perangkat Keras
Menghubungkan Perangkat Keras
Menghubungkan Perangkat Keras
Menghubungkan Perangkat Keras
Menghubungkan Perangkat Keras
Menghubungkan Perangkat Keras
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: