Оглавление:

Датчик движения Lights Basys3: 8 шагов
Датчик движения Lights Basys3: 8 шагов

Видео: Датчик движения Lights Basys3: 8 шагов

Видео: Датчик движения Lights Basys3: 8 шагов
Видео: Микроволновый датчик присутствия с сенсором освещения - обзор, работа в Tuya Smart и Home Assistant 2024, Июль
Anonim
Датчик движения Освещение Basys3
Датчик движения Освещение Basys3
Датчик движения Освещение Basys3
Датчик движения Освещение Basys3
Датчик движения Освещение Basys3
Датчик движения Освещение Basys3

Для нашего финального проекта в цифровом дизайне мы решили имитировать огни датчиков движения, которые активируются не только тогда, когда объект находится рядом с ним, но и активируются только в определенное время суток. Мы можем смоделировать это, используя FPGA (плата Basys3). При использовании FPGA мы позволили пользователю вводить время, в течение которого датчики движения могут начать активироваться, а затем датчики будут отправлять сигнал в зависимости от того, какой датчик он состоит в том, чтобы включить этот конкретный свет в этой комнате или области. Мы смоделировали это, разрешив активировать только один датчик движения в определенный момент времени и включив соответствующие огни соответственно. Из-за ограничения времени мы не можем заставить время, введенное пользователем, влиять на активацию датчика движения. Однако основа нашей логики должна позволять кому-то легко воспроизводить и улучшать ее.

### Ссылка ниже показывает видео проекта

drive.google.com/file/d/1FnDwKFfFFDo8mg25j1sW61lUyEqdavQG/view?usp=sharing

Шаг 1: необходимое оборудование

Необходимое оборудование
Необходимое оборудование

Для этого проекта вам понадобится следующее:

-Basys3 Board

-USB к кабелю microusb

-8 перемычек на макетной плате

- макетная плата

-2 рассеянных светодиода

Шаг 2: диаграмма черного ящика / конечный автомат

Диаграмма черного ящика / конечный автомат
Диаграмма черного ящика / конечный автомат
Диаграмма черного ящика / конечный автомат
Диаграмма черного ящика / конечный автомат

На этой схеме в черном ящике показаны входы, необходимые для включения светодиодных индикаторов. Входы Hour и Min представляют время, введенное пользователем на плате basys3 (с помощью переключателей). Поскольку для sw ввод представляет, в какой части комнаты находится пользователь (опять же с использованием переключателей для представления местоположения объекта).

FSM показывает переход от одной области к другой области комнаты, где объект находится в данный момент. В разных комнатах есть 4 разных датчика, которые обозначены как (s1, s2, s3, s4). Которые управляют выходами или светом в разных комнатах, например светом (L1, L2, L3). В исходном состоянии датчики никого не обнаруживают, поэтому все индикаторы выключены. Чтобы перейти в следующее состояние (Состояние 1), s1 должен кого-то обнаружить, s2, s3 и s4 будут отключены. Это выведет L1 (загорится свет 1), L2 и L3 будут выключены. Чтобы перейти в состояние 2 из состояния 1, s1, s3 и s4 должны быть выключены, s2 должен быть включен. Это включит L1 и L2. Для перехода в следующее состояние из этого состояния s3 должен быть включен, а все остальные датчики выключены. Это включит L2 и L3, L1 выключится. Для перехода в конечное состояние S4 должен быть включен, а все остальные датчики выключены. Включится только L3, все остальные индикаторы погаснут. Если человек входит в комнату со стороны s4 и выходит через s1, все шаги будут в обратном порядке.

Шаг 3. Цифровые часы BlackBox

Цифровые часы BlackBox
Цифровые часы BlackBox

Созданные нами цифровые часы предназначены для того, чтобы индикаторы датчиков не включались в течение дня, а работали только в течение времени, введенного пользователем. Цифровые часы принимают входные данные hour_in и mins_in с помощью переключателей на плате basys3, и чтобы иметь возможность загрузить их на плату, вам нужно нажать (led_btn), чтобы они отображались на плате. Мы также добавили кнопку сброса (rst_b), чтобы вы могли повторно загрузить в другое время. Поскольку у basys3 достаточно места для отображения 3 различных экземпляров информации, мы реализовали секунды в фоновом режиме. Для этой цели мы реализовали переключатель секунд, поэтому он будет увеличиваться во времени только тогда, когда пользователь решит включить ввод (e_sec) на плате basys3. Внутренний фрейм внутри цифровых часов состоит из триггеров, которые хранят введенное время, и счетчиков, которые увеличивают время, введенное пользователем, только когда (e_sec) включен. Мы будем добавлять код, чтобы вы могли увидеть, как именно он был реализован.

Шаг 4: Компоненты вместе и описание

Компоненты вместе и описание
Компоненты вместе и описание
Компоненты вместе и описание
Компоненты вместе и описание

На рисунках выше показано, как компоненты соединяются вместе. Он начинается с ввода часов и минут. Сигналы с этих входов отправляются в счетчик часов и счетчиков минут, где он складывает биты вместе, а выходной сигнал счетчиков отправляется в компонент SSEG, где он преобразует биты в определенные символы, которые будут отображаться на плате basys3. Однако сигнал со счетчиков не будет отправлен в компонент SSEG, пока пользователь не нажмет input (led_btn), это было сделано, потому что мы не создавали FSM для цифровых часов. Кроме того, введенное время не будет увеличиваться, пока не будет включен переключатель ввода (e_sec), потому что в противном случае счетчик секунд всегда работал бы в фоновом режиме. Как только счетчик секунд достигнет «59», он отправит сигнал минутам, чтобы он увеличивал минуты, то же самое происходит с минут до часов. Кроме того, есть входы датчика движения, и сигналы отправляются в компонент FSM, где он определяет, в какое состояние перейти в зависимости от датчика. Его исходное состояние - когда все датчики выключены. Все описание конечного автомата было описано на шаге 2.

Шаг 5: Код

Шаг 6: Будущие модификации

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

Шаг 7: Заключение

В целом этот проект помог нам лучше понять, как работают конечные автоматы. Кроме того, с FSM вы всегда должны помнить, что вам нужно знать, в каком состоянии вы находитесь и когда вы хотите перейти в другое состояние. Другими словами, вам нужно знать, где вы находитесь в данный момент и где вы будете позже. Помня, какие факторы позволят вам (входам) перейти в другое состояние и что он будет делать, когда доберется туда (выход). Мы также узнали, как хранить информацию на плате basys3 с помощью триггеров, которые являются регистрами, и как увеличивать время с помощью счетчиков, которые складывают двоичные числа вместе.

Шаг 8: Цитирование

Файл two_sseg.vhdl = universal_sseg_dec.vhd

Ратнер, Джеймс и Ченг Сэмюэл.. Ratface Engineering.universal_sseg_dec.vhd

Рекомендуемые: