Оглавление:
- Шаг 1: материалы
- Шаг 2: понимание дизайна
- Шаг 3. Кодирование VHDL
- Шаг 4: Кодирование Arduino
- Шаг 5: Подключение оборудования
![Детектор эффективности использования топлива: 5 шагов Детектор эффективности использования топлива: 5 шагов](https://i.howwhatproduce.com/images/002/image-3443-80-j.webp)
Видео: Детектор эффективности использования топлива: 5 шагов
![Видео: Детектор эффективности использования топлива: 5 шагов Видео: Детектор эффективности использования топлива: 5 шагов](https://i.ytimg.com/vi/Cq2_1gMn36c/hqdefault.jpg)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
![Детектор эффективности использования топлива Детектор эффективности использования топлива](https://i.howwhatproduce.com/images/002/image-3443-81-j.webp)
Авторы: Даника Фудзивара и Уильям Макгрутер
Сегодня в мире автомобили являются основным средством передвижения. В частности, в Калифорнии мы окружены улицами, шоссе и платными дорогами, по которым ежедневно ездят тысячи автомобилей. Однако в автомобилях используется бензин, и Калифорния потребляет больше бензина, чем любой другой штат США, примерно 4 500 галлонов в день. Для нашего проекта CPE 133 Final мы решили создать систему, в которой он мог бы отслеживать скорость автомобиля и определять, превышает ли она наиболее эффективную скорость для максимального расхода топлива или экономии топлива. Этот проект поможет водителям осознать свою экономию топлива, что, в свою очередь, поможет им сэкономить деньги, использовать меньше газа и уменьшить загрязнение воздуха.
Шаг 1: материалы
![Материалы Материалы](https://i.howwhatproduce.com/images/002/image-3443-82-j.webp)
![Материалы Материалы](https://i.howwhatproduce.com/images/002/image-3443-83-j.webp)
![Материалы Материалы](https://i.howwhatproduce.com/images/002/image-3443-84-j.webp)
![Материалы Материалы](https://i.howwhatproduce.com/images/002/image-3443-85-j.webp)
Материалы, необходимые для этого проекта:
- Basys 3 FPGA
- Ардуино Уно
- Макетная плата
- Датчик абсолютной ориентации Adafruit BNO055
- Между мужчинами провода
Шаг 2: понимание дизайна
![Понимание дизайна Понимание дизайна](https://i.howwhatproduce.com/images/002/image-3443-86-j.webp)
![Понимание дизайна Понимание дизайна](https://i.howwhatproduce.com/images/002/image-3443-87-j.webp)
Диаграмма конечных состояний
Этот проект имеет два разных состояния на диаграмме конечных состояний, показанной выше. Индикатор может быть включен (обозначается «1») или выключен (обозначается «0»). Состояние изменяется в зависимости от ввода скорости слежения (ts) и постоянной оптимальной скорости.
Схема черного ящика
Также выше представлена диаграмма черного ящика модуля топливной эффективности, которая содержит схему компаратора скорости и семисегментного дисплея, которые дополнительно обсуждаются ниже. Этот код VHDL получает 8-битные входные данные от измерений акселерометра, подключенного к Arduino.
Шаг 3. Кодирование VHDL
Для этого проекта есть три файла VHDL, которые составляют наш дизайн: модуль Fuel_Efficency_FinalProject, модуль Speed_Comparator и модуль sseg_dec, где Speed_Comparator и sseg_dec находятся на нижнем уровне и составляют модуль топливной эффективности.
Модуль компаратора скорости
Этот модуль измеряет 8-битную скорость в милях в час и сравнивает ее с оптимальной скоростью при минимальном потреблении газа. Средняя оптимальная скорость при максимальном расходе бензина составляет около 55 миль в час и меньше. Однако это может варьироваться от машины к машине, что может быть настроено в модуле. Строка 45 кода, которую можно изменить для персональной оптимизации, показана ниже.
если (отслеживание> "00110111"), то
Где «00110111» (55 в двоичном формате) может быть изменено на любое 8-битное число для идеальной скорости вашего личного автомобиля с наименьшим расходом топлива.
Если скорость превышает оптимальное значение, загорится свет, сообщая, что автомобиль не использует максимальную топливную экономичность.
Семисегментный дисплейный модуль
Этот модуль измеряет 8-битную скорость в милях в час и отображает скорость на семисегментном дисплее. Это позволит пользователю узнать, с какой скоростью он будет знать, нужно ли ему или ей замедлиться. Этот модуль был предоставлен нам в нашем классе и был написан Брайаном Мили, который содержит компоненты 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: Подключение оборудования
![Подключение оборудования Подключение оборудования](https://i.howwhatproduce.com/images/002/image-3443-88-j.webp)
![Подключение оборудования Подключение оборудования](https://i.howwhatproduce.com/images/002/image-3443-89-j.webp)
![Подключение оборудования Подключение оборудования](https://i.howwhatproduce.com/images/002/image-3443-90-j.webp)
![Подключение оборудования Подключение оборудования](https://i.howwhatproduce.com/images/002/image-3443-91-j.webp)
Подключение Arduino
Arduino следует подключить к макетной плате, как показано на рисунках выше.
Basys 3 Электропроводка
Выходы Arduino отображаются на входы Basys 3 через порты аналогового сигнала pmod JXADC. Каждый бит 8-битной скорости отслеживания может быть подключен к одному из выводов, показанных на рисунке выше. Младший значащий бит (цифровой вывод 7) подключается к ts (7), а старший значащий бит (цифровой контакт 0) подключается к ts (0).
Рекомендуемые:
Дешевый концентратор NMEA / AIS - мост RS232 к Wi-Fi для использования на борту: 6 шагов
![Дешевый концентратор NMEA / AIS - мост RS232 к Wi-Fi для использования на борту: 6 шагов Дешевый концентратор NMEA / AIS - мост RS232 к Wi-Fi для использования на борту: 6 шагов](https://i.howwhatproduce.com/images/001/image-1146-j.webp)
Дешевый концентратор NMEA / AIS - мост RS232 к Wi-Fi для использования на борту: обновление от 9 января 2021 года - добавлено дополнительное TCP-соединение и повторное использование последнего соединения, если подключается больше клиентов. Обновление 13 декабря 2020 года - добавлена версия кода без конфигурации для лодок с существующими маршрутизаторами. Мост от AIS RS232 к WiFi
Как утилизировать телефоны Android для BOINC или складной установки без использования батарей: 8 шагов
![Как утилизировать телефоны Android для BOINC или складной установки без использования батарей: 8 шагов Как утилизировать телефоны Android для BOINC или складной установки без использования батарей: 8 шагов](https://i.howwhatproduce.com/images/001/image-1170-j.webp)
Как утилизировать телефоны Android для BOINC или складного устройства без использования батарей: ПРЕДУПРЕЖДЕНИЕ: Я НИКОГДА НЕ НЕСУСЬ ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПОВРЕЖДЕНИЯ, ВЫЯВЛЕННЫЕ ВАШЕМУ ОБОРУДОВАНИЮ, СЛЕДУЯ ЭТОМ РУКОВОДСТВУ. Это руководство более эффективно для пользователей BOINC (личный выбор / причины), его также можно использовать для СКЛАДЫВАНИЯ. Поскольку у меня мало времени, я
Практический PIR для домашнего использования: 7 шагов (с изображениями)
![Практический PIR для домашнего использования: 7 шагов (с изображениями) Практический PIR для домашнего использования: 7 шагов (с изображениями)](https://i.howwhatproduce.com/images/001/image-1629-j.webp)
Практический PIR для домашнего использования: как и многие из вас, кто работает с проектами домашней автоматизации, я искал функциональный датчик PIR для автоматизации некоторых поворотов на поворотах в моем собственном доме. Хотя датчики PIR переключателя света были бы оптимальными, вы не можете согнуть угол. Ти
В поисках эффективности: 9 шагов
![В поисках эффективности: 9 шагов В поисках эффективности: 9 шагов](https://i.howwhatproduce.com/images/008/image-23608-j.webp)
В поисках эффективности: конвертер BUCK на платформе " DPAK " Размер.Обычно начинающим разработчикам электроники или любителям нужен стабилизатор напряжения на печатной плате или макете. К сожалению, по простоте мы используем линейный стабилизатор напряжения, но его нет
Измерьте уровень топлива с помощью Arduino: 4 шага (с изображениями)
![Измерьте уровень топлива с помощью Arduino: 4 шага (с изображениями) Измерьте уровень топлива с помощью Arduino: 4 шага (с изображениями)](https://i.howwhatproduce.com/images/003/image-7669-9-j.webp)
Измерьте уровень топлива с помощью Arduino: в сенсорном блоке обычно используется поплавок, подключенный к потенциометру, который обычно печатается чернилами в современном автомобиле. Когда резервуар опорожняется, поплавок опускается и скользит подвижным контактом по резистору, увеличивая его сопротивление. [2] Кроме того