Spisu treści:

Światła czujnika ruchu Basys3: 8 kroków
Światła czujnika ruchu Basys3: 8 kroków

Wideo: Światła czujnika ruchu Basys3: 8 kroków

Wideo: Światła czujnika ruchu Basys3: 8 kroków
Wideo: Obsługa modułu z czujnikiem światła PmodALS na platformie STM32 Discovery 2024, Lipiec
Anonim
Światła z czujnikiem ruchu Basys3
Światła z czujnikiem ruchu Basys3
Światła z czujnikiem ruchu Basys3
Światła z czujnikiem ruchu Basys3
Światła z czujnikiem ruchu Basys3
Światła z czujnikiem ruchu Basys3

W naszym ostatecznym projekcie w projektowaniu cyfrowym zdecydowaliśmy się na symulację świateł czujników ruchu. Aktywują się one nie tylko wtedy, gdy obiekt znajduje się w pobliżu, ale również aktywują się tylko o określonej porze dnia. Jesteśmy w stanie to zamodelować za pomocą FPGA (płyta Basys3). Korzystając z FPGA, pozwoliliśmy użytkownikowi wprowadzić czas, w którym czujniki ruchu mogą zacząć się aktywować, a następnie czujniki wyślą sygnał w zależności od tego, który czujnik jest włączenie określonego światła w tym pomieszczeniu lub obszarze. Modelowaliśmy to, zezwalając na aktywację tylko jednego czujnika ruchu w danym momencie i odpowiednio włączając określone światła. Ze względu na ograniczenia czasowe nie jesteśmy w stanie sprawić, aby czas wprowadzony przez użytkownika wpłynął na aktywację czujnika ruchu. Jednak podstawa naszej logiki powinna umożliwiać komuś łatwe powielanie i ulepszanie.

### Poniższy link pokazuje film z Projektu

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

Krok 1: Potrzebny sprzęt

Potrzebny sprzęt
Potrzebny sprzęt

Do tego projektu będziesz potrzebować:

-Płyta Basys3

-Kabel USB na microUSB

-8 przewodów połączeniowych płytki stykowej

-Płytka do krojenia chleba

-2 rozproszone diody LED

Krok 2: Diagram Blackbox/Maszyna skończona

Schemat czarnej skrzynki/maszyna skończona
Schemat czarnej skrzynki/maszyna skończona
Schemat czarnej skrzynki/maszyna skończona
Schemat czarnej skrzynki/maszyna skończona

Ten schemat czarnej skrzynki pokazuje wymagane dane wejściowe potrzebne do włączenia świateł LED. Wejścia godzinowe i wejścia Min. reprezentują czas wprowadzony przez użytkownika na płycie basys3 (za pomocą przełączników). Podobnie jak dla wejścia sw oznacza to, w której części pomieszczenia znajduje się użytkownik (znowu za pomocą przełączników do wskazania lokalizacji obiektu).

FSM pokazuje przejście z jednego obszaru do drugiego obszaru pomieszczenia, w którym znajduje się obiekt w określonym czasie. W różnych pomieszczeniach znajdują się 4 różne czujniki, które są reprezentowane jako (s1, s2, s3, s4). Które sterują wyjściami lub oświetleniem w różnych pomieszczeniach, na przykład światłem (L1, L2, L3). W stanie początkowym czujniki nikogo nie wykrywają, więc wszystkie światła są wyłączone. Aby przejść do następnego stanu (stan 1), s1 musi kogoś wykryć, s2, s3 i s4 będą wyłączone. Spowoduje to wyjście L1 (włącz światło 1), L2 i L3 będą wyłączone. Aby przejść do stanu 2 ze stanu 1, s1, s3 i s4 muszą być wyłączone, s2 musi być włączone. To włączy L1 i L2. Aby przejść do następnego stanu z tego stanu, s3 musi być włączony, a wszystkie inne czujniki wyłączone. Spowoduje to włączenie L2 i L3, L1 będzie wyłączone. Aby przejść do stanu końcowego, S4 musi być włączony, a wszystkie inne czujniki wyłączone. Spowoduje to włączenie tylko L3, wszystkie inne światła będą wyłączone. Jeśli osoba wejdzie do pokoju od strony s4 i wyjdzie przez s1, wszystkie kroki będą w odwrotnej kolejności.

Krok 3: Zegar cyfrowy BlackBox

Zegar cyfrowy BlackBox
Zegar cyfrowy BlackBox

Celem stworzonego przez nas zegara cyfrowego jest to, aby światła czujników nie włączały się w ciągu dnia, a działały tylko w czasie wprowadzonym przez użytkownika. Zegar cyfrowy przyjmuje wejście hour_in i mins_in za pomocą przełączników na płycie basys3 i aby móc załadować go na płytę, musisz nacisnąć (led_btn), aby wyświetlić go na płycie. Dodaliśmy również przycisk resetowania (rst_b), aby można było przesłać ponownie w innym czasie. Ponieważ basys3 ma wystarczająco dużo miejsca, aby wyświetlić 3 różne instancje informacji, zaimplementowaliśmy sekundy w tle. W tym celu zaimplementowaliśmy przełącznik sekund, który będzie się zwiększał w czasie, gdy użytkownik zdecyduje się włączyć wejście (e_sec) na płycie basys3. Wewnętrzna struktura wewnątrz zegara cyfrowego składa się z przerzutników, które przechowują wprowadzony czas i liczników, które zwiększają czas wprowadzony przez użytkownika tylko wtedy, gdy (e_sec) jest włączony. Dodamy kod, abyś mógł zobaczyć, jak dokładnie został zaimplementowany.

Krok 4: Komponenty razem i opis

Komponenty razem i opis
Komponenty razem i opis
Komponenty razem i opis
Komponenty razem i opis

Powyższe zdjęcia pokazują, jak elementy są ze sobą połączone. Zaczyna się od przyjęcia danych wejściowych w godzinach i minutach. Sygnały z tych wejść są wysyłane do licznika godzin i licznika min, gdzie sumuje bity razem, a sygnał wyjściowy liczników jest wysyłany do komponentu SSEG, gdzie konwertuje bity na określone znaki, które będą wyświetlane na płycie basys3. Jednak sygnał z liczników nie zostanie wysłany do komponentu SSEG, dopóki użytkownik nie naciśnie input(led_btn). Zrobiliśmy to, ponieważ nie stworzyliśmy FSM dla zegara cyfrowego. Ponadto wprowadzony czas nie będzie się zwiększał, dopóki przełącznik wejścia (e_sec) nie zostanie włączony, ponieważ w przeciwnym razie licznik sekund zawsze działałby w tle. Gdy licznik sekund osiągnie „59”, wyśle sygnał do minut, aby zwiększyć minuty, tak samo dzieje się od minut do godzin. Ponadto istnieją wejścia czujnika ruchu, a sygnały są wysyłane do komponentu FSM, gdzie określa, w jakim stanie należy przejść w zależności od czujnika. Jego stan początkowy to wyłączenie wszystkich czujników. Cały opis FSM został opisany w kroku 2.

Krok 5: Kod

Krok 6: Przyszłe modyfikacje

W przyszłości dodanie do projektu rzeczywistych czujników ruchu z kombinacją diod LED byłoby udoskonaleniem. Abyśmy mogli zwiększyć złożoność projektu i sprawdzić, czy możemy stworzyć nowoczesny czujnik ruchu światła. Stworzyłoby to więcej problemów, ponieważ będziesz musiał pomyśleć o bliskości obiektu, aby odpowiednio włączyć światła. Dodatkowo wszystkie inne funkcjonalności wcześniej. Poprawiono również funkcjonalność zegara cyfrowego za pomocą FSM, zamiast czekać, aż użytkownik włączy sekundy (e_sec). FSM zegara cyfrowego byłby podobny do czujnika ruchu.

Krok 7: Wniosek

Ogólnie rzecz biorąc, ten projekt pomógł nam lepiej zrozumieć, jak działają automaty skończone. Ponadto, korzystając z FSM, zawsze musisz pamiętać, że musisz wiedzieć, w jakim stanie się znajdujesz i kiedy chcesz przejść do innego stanu. Innymi słowy, musisz wiedzieć, gdzie jesteś w danym momencie i gdzie będziesz później. Pamiętając o tym, jakie czynniki pozwolą ci (wejścia) zmienić stan i co zrobi, gdy się tam pojawi (wyjście). Nauczyliśmy się również, jak przechowywać informacje na płycie basys3 za pomocą przerzutników, które są rejestrami, oraz jak zwiększać czas za pomocą liczników, które sumują liczby binarne.

Krok 8: Cytat

Two_sseg.vhdl = uniwersalny_sseg_dec.vhd

Ratner, James i Cheng Samuel.. Ratface Engineering.universal_sseg_dec.vhd

Zalecana: