Съдържание:
- Стъпка 1: Материали
- Стъпка 2: Разбиране на дизайна
- Стъпка 3: Кодиране на VHDL
- Стъпка 4: Кодиране на Arduino
- Стъпка 5: Окабеляване на хардуера
Видео: Детектор за разход на гориво: 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:53
От: Даника Фудживара и Уилям Макгроутър
Автомобилите са основният начин на транспорт в света днес. По -конкретно, в Калифорния сме заобиколени от улици, магистрали и пътища с такса, по които хиляди коли се движат ежедневно. Автомобилите обаче използват газ, а Калифорния използва най -много бензин от всяка друга държава в САЩ, приблизително 4 500 галона на ден. За нашия окончателен проект CPE 133, решихме да създадем система, в която да може да следи скоростта на автомобил и да каже дали тя надвишава най -ефективната скорост за най -добър пробег на газ или икономия на гориво. Този проект ще помогне на шофьорите да осъзнаят икономията на гориво, което от своя страна се надяваме да им помогне да спестят пари, да използват по -малко газ и да създадат по -малко замърсяване на въздуха.
Стъпка 1: Материали
Необходими материали за този проект:
- Basys 3 FPGA
- Arduino Uno
- Платформа
- Сензор за абсолютна ориентация Adafruit BNO055
- Мъжки към мъжки проводници
Стъпка 2: Разбиране на дизайна
Диаграма на крайното състояние
Този проект има две различни състояния в диаграмата за крайни състояния, показана по -горе. Светлината може да бъде включена (представена с „1“) или изключена (представена с „0“). Състоянието се променя в зависимост от входа на проследяващата скорост (ts) и постоянната оптимална скорост.
Диаграма на черна кутия
Също така по -горе има диаграма в черна кутия на модула за ефективност на горивото, която съдържа схемата на компаратора на скоростта и седемсегментния дисплей, които са допълнително обсъдени по -долу. Този VHDL код получава 8-битов вход от измерванията на акселерометъра, който е свързан към arduino.
Стъпка 3: Кодиране на VHDL
За този проект има три VHDL файла, които изграждат нашия дизайн, модул Fuel_Efficency_FinalProject, модул Speed_Comparator и модул sseg_dec, където Speed_Comparator и sseg_dec са на по -ниското ниво, за да съставят модула за ефективност на горивото.
Модул за сравняване на скоростта
Този модул приема 8-битова скорост в мили в час и я сравнява с оптималната скорост за най-малко количество консумация на газ. Средната оптимална скорост за най -добрия пробег на газ в колата е около 55 мили в час и под. Това обаче може да варира от автомобил до автомобил, което може да бъде персонализирано в рамките на модула. Редът 45 на кода, който може да бъде променен за лична оптимизация, е показан по -долу
if (проследяване> "00110111") тогава
Където „00110111“(55 в двоичен формат) може да бъде променено на произволен 8-битов номер за идеалната скорост на вашия личен автомобил за най-малък разход на гориво.
Ако скоростта е над оптималното число, светлината ще се включи, уведомявайки, че колата не използва максимален разход на гориво.
Модулът за седем сегмента на дисплея
Този модул приема 8-битова скорост в мили в час и показва скоростта на седем сегментния дисплей. Това би позволило на потребителя да знае колко бързо ще разбере дали трябва да забави темпото. Този модул ни беше даден в нашия клас и беше написан от Bryan mealy, който съдържа компонентите bin2bcdconv, който преобразува двоичния 8-битов вход в BCD форма, която е по-лесна за декодиране и clk_div, така че дисплеят да може визуално да показва число с 3 цифри чрез промяна на анодния изход при висока тактова честота. Този код приема 8-битово число, преобразува числото в четим дисплей на дъската basys 3.
Модулът за икономия на гориво
Това е основният файл, който използва модулите по -горе като компоненти. Неговите входове са часовникът и скоростта на проследяване. Часовникът е вграден в платката basys 3 и скоростта на проследяване се определя от изхода на arduino, който е свързан към порта за аналогов сигнал pmod (XADC). Всеки бит от 8-битовата скорост на проследяване се съпоставя с портовете, показани в секцията за окабеляване в стъпка 4. Други ограничения на Basys 3 могат да бъдат намерени в Basys_3_Master.xdc.
Стъпка 4: Кодиране на Arduino
Този проект използва един основен файл arduino, който изисква използването на няколко библиотеки, някои от които вече са във вашата програма arduino, а други трябва да бъдат изтеглени или от тази инструкция, или от уебсайта на Adafruit (връзката по -долу).
Библиотеки
връзка към страницата на Adafruit BNO055:
Adafruit е разработил 2 библиотеки за използване на BNO055 и дава примери за това как да ги използвате. В този проект ще използваме функцията.getVector, за да изведем от arduino данните на акселерометъра.
Този проект също използва някои библиотеки, вече инсталирани в програмата arduino, като например математическата библиотека.
Основен файл
Този файл използва данните от акселерометъра от функцията.getVector и използва математически уравнения, за да го превърне в скорост в мили в час, която след това се извежда в 8 бита данни към Basys 3 (вижте раздела "Окабеляване на хардуера" за повече информация).
Стъпка 5: Окабеляване на хардуера
Окабеляване на Arduino
Arduino трябва да бъде свързан към основната платка, както е на снимките по -горе.
Basys 3 Окабеляване
Изходите на arduino са картографирани към входовете на Basys 3 през аналоговия сигнал pmod JXADC портове. Всеки бит от 8-битовата скорост на проследяване може да бъде свързан към един от щифтовете, показани на снимката по-горе. Най -малко значимият бит (цифров извод 7) се свързва с ts (7), а най -значимият бит (цифров извод 0) се свързва с ts (0).
Препоръчано:
Raspberry Pi - TMD26721 Инфрачервен цифров детектор за близост Java Урок: 4 стъпки
Raspberry Pi-TMD26721 Инфрачервен цифров детектор за близост Java Урок: TMD26721 е инфрачервен цифров детектор за близост, който осигурява пълна система за откриване на близост и логика на цифров интерфейс в един 8-пинов модул за повърхностен монтаж. Откриването на близост включва подобрен сигнал към шум и точност. Професионалист
Детектор за нивото на водата: 7 стъпки
Детектор на нивото на водата: Ултразвуковият сензор работи на същите принципи като радарната система. Ултразвуков сензор може да преобразува електрическата енергия в акустични вълни и обратно. Известният ултразвуков сензор HC SR04 генерира ултразвукови вълни с честота 40 kHz
Измерете нивото на гориво с Arduino: 4 стъпки (със снимки)
Измерете нивото на горивото с Arduino: Сензорното устройство обикновено използва поплавък, свързан с потенциометър, обикновено отпечатан с мастило в модерен автомобил. Когато резервоарът се изпразва, поплавъкът пада и плъзга движещ се контакт по резистора, увеличавайки неговото съпротивление. [2] В допълнение
IOT детектор за дим: Актуализирайте съществуващ детектор за дим с IOT: 6 стъпки (със снимки)
IOT Smote Detector: Актуализирайте съществуващия детектор на дим с IOT: Списък на сътрудниците, Изобретател: Tan Siew Chin, Tan Yit Peng, Tan Wee Heng Надзорник: Д -р Chia Kim Seng Катедра по мехатронно и роботизирано инженерство, Факултет по електротехника и електронно инженерство, Universiti Tun Хюсеин Он Малайзия. Разпространение
Сензор за нисък разход на вода и околен дисплей: 8 стъпки (със снимки)
Сензор за нисък разход на вода и околен дисплей: Водата е ценен ресурс. Милиони хора нямат достъп до чиста питейна вода, а 4000 деца умират от замърсени с вода болести всеки ден. И все пак продължаваме да губим ресурсите си. Основната цел на