Оглавление:
- Шаг 1: необходимое оборудование
- Шаг 2: диаграмма черного ящика / конечный автомат
- Шаг 3. Цифровые часы BlackBox
- Шаг 4: Компоненты вместе и описание
- Шаг 5: Код
- Шаг 6: Будущие модификации
- Шаг 7: Заключение
- Шаг 8: Цитирование
Видео: Датчик движения Lights Basys3: 8 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Для нашего финального проекта в цифровом дизайне мы решили имитировать огни датчиков движения, которые активируются не только тогда, когда объект находится рядом с ним, но и активируются только в определенное время суток. Мы можем смоделировать это, используя 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
Созданные нами цифровые часы предназначены для того, чтобы индикаторы датчиков не включались в течение дня, а работали только в течение времени, введенного пользователем. Цифровые часы принимают входные данные 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
Рекомендуемые:
Датчик движения ESP-01 с функцией глубокого сна: 5 шагов
Датчик движения ESP-01 с функцией глубокого сна: я работал над созданием самодельных датчиков движения, которые отправляют сообщение электронной почты при срабатывании. Есть много примеров инструкций и других примеров того, как это сделать. Недавно мне понадобилось сделать это с помощью датчика движения PIR с батарейным питанием и ESP
Датчик движения Arduino Laser: 5 шагов
Датчик движения Arduino Laser: ПРИМЕЧАНИЕ. Этот проект был разработан таким образом, чтобы все части можно было повторно использовать в будущих проектах. В результате конечный продукт менее стабилен, чем был бы, если бы вы использовали более долговечные материалы, такие как клей, пайка и т. Д. &Hellip; Предупреждение: не делайте
Датчик движения PIR: 5 шагов
Датчик движения PIR: пассивный инфракрасный датчик (датчик PIR) - это электронный датчик, который измеряет инфракрасный (IR) свет, излучаемый объектами в его поле зрения. Чаще всего они используются в датчиках движения на основе PIR. Датчики PIR обычно используются в
Датчик движения PIR: как использовать PIR с Arduino и Raspberry Pi: 5 шагов
Датчик движения PIR: как использовать PIR с Arduino и Raspberry Pi: вы можете прочитать это и другие замечательные руководства на официальном сайте ElectroPeak. В этом руководстве вы узнаете, как использовать датчик движения PIR для обнаружения движения. В конце этого урока вы узнаете: Как работают датчики движения PIR Как использовать
Выходное отверстие с контролем движения - от датчика движения: 6 шагов
Выходное отверстие с контролем движения - от источника света с датчиком движения: Представьте, что вы обманщик, идущий в самый страшный дом в квартале. Пройдя мимо всех гулей, привидений и кладбищ, вы наконец доберетесь до последнего пути. Вы видите перед собой конфету в миске! Но тут вдруг гхо