Проект экономии воды: 8 шагов
Проект экономии воды: 8 шагов
Anonim
Проект экономии воды
Проект экономии воды
Проект экономии воды
Проект экономии воды

Авторы: Моник Кастильо, Каролина Салинас

Нам было поручено разработать проект, направленный на обеспечение устойчивости. Мы, коренные жители Калифорнии, которые чувствуют себя постоянно в засухе, решили создать средство экономии воды, специально предназначенное для спринклерных систем. Как мы знаем, в большинстве систем водоснабжения установлены автоматические таймеры, которые, как правило, очень архаичны в том смысле, что они либо включены, либо выключены, без датчика, действительно ли что-то нуждается в воде или нет. В тех редких случаях, когда идет дождь и все хорошо пропитано, дождеватели все равно срабатывают. Именно поэтому мы создали прототип системы, который уведомит вас о необходимости выключить спринклерную систему, когда она достигнет заданного уровня влажности, избегая потери воды.

Итак, сегодня мы собираемся показать вам, как сделать свой собственный водосберегающий, чтобы вы могли внести свой вклад в сбережение воды, одновременно получая удовольствие от его создания!

Шаг 1. Аппаратное обеспечение

Аппаратное обеспечение
Аппаратное обеспечение

Что вам понадобится для начала:

  • Плата Diligent Basys 3 FPGA
  • Плата Arduino UNO
  • Датчик влажности почвы
  • Хлебная доска
  • Провода
  • Зеленый светодиод
  • Красный светодиод
  • Micro USB для платы Basys 3
  • USB типа A / B для Arduino
  • (2) резистора 330 Ом

Доступ к Vivado, который можно загрузить с веб-сайта XILINX:

Vivado Скачать

И доступ к среде разработки Arduino, которую можно загрузить с веб-сайта Arduino:

Arduino Скачать

И напоследок позитивный настрой:)

Шаг 2: Разработка программы

Разработка программы
Разработка программы

Во-первых, вам нужно понять, что вы собираетесь использовать для программы от начала до конца (и всего, что между ними). Итак, мы создали диаграмму черного ящика - это поможет вам визуализировать шаги и то, что потребуется для создания проекта.

Шаг 3: Arduino

Выполнение каждого файла по одному очень важно при отладке и проверке наличия ошибок, поэтому мы начнем с кода для Arduino. Код Arduino здесь используется для сбора данных датчика и преобразования аналоговых данных в цифровые.

Шаг 4: Больше кода Ура !!!!

Затем мы реализовали D-триггер.

D-триггер для наших целей служил для фильтрации данных Arduino в нашу систему.

Убедившись, что он синтезируется, можно переходить к следующей части.

Базовый код дисплея SSEG был предоставлен нам нашим великодушным руководителем, профессором Дановицем, с небольшими изменениями, соответствующими нашим потребностям. Мы также использовали модуль делителя часов, данный нам профессором Дановицем, для мультиплексирования дисплея.

И еще раз убедитесь, что этот синтез проходит без сучка и задоринки, потому что вы собираетесь собрать все это воедино.

Шаг 5: вы собираете все вместе и молитесь, чтобы он синтезировался (AKA Create Your Master File)

Наконец, вы будете использовать все отдельные файлы и соединить их вместе. Это последний, но, возможно, самый неприятный шаг, если предположить, что он не синтезируется. Всегда весело устранять то, что произошло. Вот почему важно, чтобы вы выполняли каждый файл шаг за шагом, чтобы гарантировать (ну, большую часть времени) его запуск.

Главный файл соединяет вместе все суб-файлы.

Шаг 6: Настройка оборудования и ограничений

Мы назначили наши переключатели, выходы и входы (также известные как ваши ограничения) для эстетических, организационных и технологических целей, и вы также можете поиграть с их перемещением. Файл ограничений определяет, как мы физически соединяем провода.

Макетная плата и проводка светодиодов были выполнены таким образом, вместо того, чтобы публиковать утомительное пошаговое руководство, здесь есть изображение и справочное руководство, которое помогло в настройке нашей макетной платы - с веб-сайта учебника Arduino.

Как установить макетную доску

и это изображение было использовано

СВЕТОДИОДНЫЙ ЭСКИЗ

Шаг 7: Запуск программы

Запуск программы!
Запуск программы!

Пришло время все запустить и проверить на наличие ошибок. Если он не запускается, просмотрите все свои файлы и убедитесь, что имена ваших назначений совпадают. Мы совершаем эту ошибку чаще, чем хотели бы признать, но синтаксис очень важен.

Мы установили наш порог в 550, и вы также можете поэкспериментировать с этим.