Spisu treści:
- Krok 1: Potrzebny sprzęt
- Krok 2: Diagram Blackbox/Maszyna skończona
- Krok 3: Zegar cyfrowy BlackBox
- Krok 4: Komponenty razem i opis
- Krok 5: Kod
- Krok 6: Przyszłe modyfikacje
- Krok 7: Wniosek
- Krok 8: Cytat
Wideo: Światła czujnika ruchu Basys3: 8 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
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
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
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
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
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:
Alarm czujnika ruchu: 5 kroków
Alarm czujnika ruchu: Czy zawsze sprawdzasz, kto jest przed twoimi drzwiami? To idealny przedmiot dla Ciebie. Zawsze byłam ciekawa, czy są ludzie za moimi drzwiami, nie wiedząc o tym. Stworzyłem ten alarm czujnika ruchu ze światłami LED, które będą wskazywać
Jak zrobić światło czujnika ruchu PIR w domu: 7 kroków
Jak zrobić światło czujnika ruchu PIR w domu: W tym filmie pokazałem, jak zrobić światło czujnika ruchu pir w domu. Możesz obejrzeć mój film na youtube.Zasubskrybuj Jeśli podoba Ci się mój film i pomóż mi się rozwijać.https://youtu.be/is7KYNHBSp8
Od latarki do czujnika ruchu z ESP8266 i MQTT: 5 kroków (ze zdjęciami)
Od latarki do czujnika ruchu Z ESP8266 i MQTT: W tym poście przedstawię pozycje poniżej: Diody potrzebują układu ograniczającego prąd jak zrobić latarkę z lampy zasilanej z przenośnego akumulatora, a ściemniania diod przez ESP8266 przez MQTT Film jest podsumowaniem i krótkie wyjaśnienie, jak t
Kto jest w Moich Drzwiach? Projekt czujnika ruchu PIR/czujnika zasięgu: 5 kroków
Kto jest w Moich Drzwiach? Projekt czujnika ruchu PIR/czujnika zasięgu: Nasz projekt ma na celu wykrywanie ruchu za pomocą czujników PIR i czujników odległości. Kod Arduino wyśle sygnał wizualny i dźwiękowy, aby poinformować użytkownika, że ktoś jest w pobliżu. Kod MATLAB wyśle sygnał e-mail, aby powiadomić użytkownika, że ktoś jest w pobliżu.To urządzenie
Światła z czujnikiem ruchu / licznikiem: 7 kroków
Oświetlenie z czujnikiem ruchu/kontrolą licznika: Ten projekt powstał jako końcowy projekt kursu projektowania cyfrowego w Cal Poly, San Luis Obispo (CPE 133). Dlaczego to robimy? Chcemy pomóc w ochronie zasobów naturalnych na świecie. Nasz projekt koncentruje się na oszczędzaniu energii elektrycznej. Oszczędzając więcej ele