Mundarija:
- 1 -qadam: materiallar
- 2 -qadam: Dizaynni tushunish
- 3 -qadam: VHDL kodlash
- 4 -qadam: Arduino -ni kodlash
- 5 -qadam: Uskuna simlarini ulash
Video: Yoqilg'i tejash detektori: 5 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:27
Muallif: Danica Fujiwara va William McGrouther
Avtomobillar bugungi kunda dunyodagi asosiy transport turidir. Xususan, Kaliforniyada bizni har kuni minglab mashinalar yuradigan ko'chalar, magistral yo'llar va pullik yo'llar o'rab turadi. Biroq, mashinalarda gaz ishlatiladi va Kaliforniya AQShning boshqa shtatlariga qaraganda eng ko'p benzin sarflaydi, kuniga taxminan 4,500 galon. CPE 133 Final loyihasi uchun biz avtomobil tezligini kuzatadigan va uning eng yaxshi gaz tezligi yoki yoqilg'i tejamkorligi uchun eng samarali tezlikdan oshib ketishini aniqlaydigan tizim yaratishga qaror qildik. Bu loyiha haydovchilarga yoqilg'i tejamkorligi to'g'risida xabardor bo'lishga yordam beradi, bu esa o'z navbatida pulni tejashga, gazni kamroq sarflashga va havoda ifloslanishni kamaytirishga yordam beradi.
1 -qadam: materiallar
Ushbu loyiha uchun zarur bo'lgan materiallar:
- Asosiy 3 FPGA
- Arduino Uno
- Non paneli
- Adafruit BNO055 mutlaq yo'naltiruvchi sensori
- Erkak -erkak simlari
2 -qadam: Dizaynni tushunish
Cheklangan holat diagrammasi
Ushbu loyiha yuqorida ko'rsatilgan cheklangan holat diagrammasida ikki xil holatga ega. Chiroq yoqilgan ("1" bilan ko'rsatilgan) yoki o'chirilgan ("0" belgisi bilan) bo'lishi mumkin. Holat kuzatuv tezligi (ts) ning kiritilishiga va doimiy optimal tezlikka qarab o'zgaradi.
Qora quti diagrammasi
Yuqorida yonilg'i sarfini tejash modulining qora qutisi diagrammasi mavjud, u tezlik taqqoslagichining sxemasini va etti segmentli displeyni quyida muhokama qilinadi. Ushbu VHDL kodi arduino-ga ulangan akselerometr o'lchovlaridan 8-bitli kirishni oladi.
3 -qadam: VHDL kodlash
Ushbu loyiha uchun bizning dizaynimizni quradigan uchta VHDL fayllari mavjud: Fuel_Efficency_FinalProject moduli, Speed_Comparator moduli va sseg_dec moduli, bu erda Speed_Comparator va sseg_dec yonilg'i samaradorligi modulini tashkil qiladi.
Tezlikni taqqoslash moduli
Bu modul soatiga 8 bitli tezlikni oladi va uni eng kam gaz sarfi uchun optimal tezlik bilan taqqoslaydi. Mashinaning eng yaxshi gaz tezligi uchun o'rtacha optimal tezlik soatiga 55 milya va undan pastda. Biroq, bu modulda sozlanishi mumkin bo'lgan mashinadan mashinaga farq qilishi mumkin. Shaxsiy optimallashtirish uchun o'zgartirilishi mumkin bo'lgan kodning 45 -qatori quyida ko'rsatilgan
agar (kuzatuv> "00110111") bo'lsa
Qaerda "00110111" (ikkilik 55) har qanday 8-bitli raqamga o'zgartirilishi mumkin, bu sizning shaxsiy avtomobilingiz uchun eng kam yoqilg'i sarfi uchun ideal tezlikdir.
Agar tezlik maqbul raqamdan oshsa, chiroq yonadi va avtomobil yonilg'i sarfini maksimal darajada ishlatmasligini bildiradi.
Etti segmentli displey moduli
Bu modul soatiga 8-bitli milya oladi va etti segmentli displeyda tezlikni ko'rsatadi. Bu foydalanuvchiga tezlikni pasaytirish kerakmi yoki yo'qligini qanchalik tez bilishini bilish imkonini beradi. Bu modul bizga o'z sinfimizda berilgan va Bryan mealy tomonidan yozilgan bo'lib, u bin2bcdconv komponentlarini o'z ichiga oladi, u ikkilik 8-bitli kirishni BCD formatiga o'zgartiradi, bu kodni koddan chiqarish osonroq va clk_div. anod chiqishini yuqori soat chastotasida o'zgartirish orqali. Bu kod 8-bitli raqamni qabul qiladi, bu raqamni basys 3 taxtasida o'qiladigan displeyga aylantiradi.
Yoqilg'i tejash moduli
Bu yuqoridagi modullarni komponent sifatida ishlatadigan asosiy fayl. Uning kirishiga soat va kuzatuv tezligi kiradi. Soat bazis 3 taxtasida qurilgan va kuzatuv tezligi analog signal pmod portiga (XADC) ulangan arduino chiqishi bilan belgilanadi. 8-bitli kuzatuv tezligining har bir biti 4-bosqichda simlar bo'limida ko'rsatilgan portlarga xaritadir. Boshqa Basys 3 cheklovlarini Basys_3_Master.xdc ichida topish mumkin.
4 -qadam: Arduino -ni kodlash
Ushbu loyiha bir nechta kutubxonalardan foydalanishni talab qiladigan bitta asosiy arduino faylidan foydalanadi, ularning ba'zilari sizning arduino dasturida, boshqalari esa bu ko'rsatmali yoki Adafruit veb -saytidan yuklab olinishi kerak (pastdagi havola).
Kutubxonalar
Adafruit BNO055 sahifasiga havola:
Adafruit BNO055 -dan foydalanish uchun 2 ta kutubxona ishlab chiqdi va ulardan qanday foydalanish haqida misollar keltiring. Ushbu loyihada arduino akselerometr ma'lumotlarini chiqarish uchun.getVector funktsiyasidan foydalanamiz.
Ushbu loyiha, shuningdek, matematika kutubxonasi kabi, arduino dasturida o'rnatilgan ba'zi kutubxonalardan ham foydalanadi.
Asosiy fayl
Bu fayl.getVector funktsiyasidagi akselerometr ma'lumotlarini ishlatadi va matematik tenglamalardan foydalangan holda uni soatiga milya tezlikka aylantiradi, so'ngra Basits 3 ga 8 bitli ma'lumotlar bilan chiqariladi (qo'shimcha ma'lumot uchun "Uskuna simlarini ulash" bo'limiga qarang). ma `lumot).
5 -qadam: Uskuna simlarini ulash
Arduino simlari
Arduino, yuqoridagi rasmlarda bo'lgani kabi, non paneliga ulangan bo'lishi kerak.
Basys 3 simlari
Arduino -ning chiqishlari analog signal pmod JXADC portlari orqali Basys 3 -ning kirishiga mos keladi. 8 bitli kuzatuv tezligining har bir biti yuqoridagi rasmda ko'rsatilgan pinlardan biriga ulanishi mumkin. Eng kichik bit (raqamli pin 7) ts (7) ga ulanadi va eng muhim bit (raqamli pin 0) ts (0) ga ulanadi.
Tavsiya:
Bank hisobini tejash kalkulyatori: 18 qadam
Bank hisobini tejash kalkulyatori: Mening omonat kalkulyatorimni tanlaganingiz uchun tashakkur. Bugun biz o'z shaxsiy xarajatlaringiz va jamg'armalaringizni kuzatish uchun BankAccount sinfini qanday dasturlashni o'rganamiz. Xarajatlarni kuzatish uchun bank hisobini ochish uchun sizga birinchi navbatda asosiy ma'lumotlar kerak bo'ladi
CO ni aniqlash uchun yoqilg'i quyish shoxobchasi: 5 qadam
CO ni aniqlash uchun yoqilg'i quyish shoxobchasi: Uglerod oksidi (CO) juda xavfli gazdir, chunki u hidlamaydi, ta'mi yo'q. Siz buni ko'rmaysiz yoki burun bilan aniqlay olmaysiz. Mening maqsadim - oddiy CO detektorini yaratish. Birinchidan, men uyimda juda oz miqdordagi gazni aniqlayman. Buning sababi,
Batareya quvvatini tejash: 8 qadam (rasmlar bilan)
Batareya tejamkorligi: CR2032 batareyalari juda zo'r, lekin ular LEDni "Fairy Light" haydashda biz xohlagancha ishlamaydi. Bu erda dam olish mavsumi bilan men USB quvvat bankining ishlamasligi uchun 20 ta yorug'lik simini o'zgartirishga qaror qildim. Internetda qidirib topdim va
Suvni tejash: 4 qadam
Suvni tejash!: Bu juda muhim! Frecuentemente nos damos ducas muy largas na cerramos la llave. Maqsad va vazifalarni bajarish uchun, biz sizga hech qanday yordam bermaymiz
Loydan foydalanib, mikrobial yoqilg'i xujayrasini (MFC) qanday yasash mumkin: 7 qadam (rasmlar bilan)
Loydan foydalanib, mikrobial yoqilg'i xujayrasini (MFC) qanday yasash mumkin: MudWatt mikrobial yonilg'i xujayrasi (mehr bilan "Kir batareyasi" deb nomlanadi) - bu loydan topilgan organik moddalarni elektr energiyasiga aylantirish uchun bakteriyalardan foydalanadigan qurilma. Bu ko'rsatma sizga o'z mikrobial yoqilg'ingizni ishlab chiqarishda yordam beradi