Mündəricat:

Hərəkət Sensor İşıqları Basys3: 8 Addım
Hərəkət Sensor İşıqları Basys3: 8 Addım

Video: Hərəkət Sensor İşıqları Basys3: 8 Addım

Video: Hərəkət Sensor İşıqları Basys3: 8 Addım
Video: Hərəkət Sensorlu Gecə Lampası. Xiaomi Mi Motion Night Light 2 #harunmemmedov #harunlive #shorts 2024, Noyabr
Anonim
Hərəkət Sensor İşıqları Basys3
Hərəkət Sensor İşıqları Basys3
Hərəkət Sensor İşıqları Basys3
Hərəkət Sensor İşıqları Basys3
Hərəkət Sensor İşıqları Basys3
Hərəkət Sensor İşıqları Basys3

Rəqəmsal dizayndakı son layihəmiz üçün, hərəkət sensorlarının işıqlarını simulyasiya etmək qərarına gəldik, onlar yalnız bir obyekt yaxınlığında olduqda deyil, həm də yalnız günün müəyyən bir vaxtında aktivləşirlər. Bunu FPGA (Basys3 lövhəsi) istifadə edərək modelləşdirə bilərik. FPGA istifadə edərkən istifadəçiyə hərəkət sensorlarının işə düşə biləcəyi vaxt daxil etməsinə icazə verdik və sonra sensorlar hansı sensordan asılı olaraq bir siqnal göndərəcək. o otaqda və ya ərazidə xüsusi işığı yandırmaqdır. Bunu müəyyən bir zamanda yalnız bir hərəkət sensörünün işə salınmasına icazə verərək və verilən işıqları buna uyğun olaraq modelləşdirdik. Zaman daralması səbəbindən istifadəçi tərəfindən verilən vaxtın hərəkət sensörünün aktivləşməsinə təsir edə bilməyəcəyik. Ancaq məntiqimizin əsası kiməsə asanlıqla təkrarlanmasına və təkmilləşdirilməsinə imkan verməlidir.

### Aşağıdakı linkdə Layihənin videosu göstərilir

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

Addım 1: Lazımi avadanlıq

Lazımi avadanlıqlar
Lazımi avadanlıqlar

Bu layihə üçün aşağıdakılara ehtiyacınız olacaq:

-Basys3 İdarə Heyəti

-USB -dən microusb kabelinə

-8 ədəd çörək taxtası tullanan tel

-Çörək lövhəsi

-2 yayılmış LED

Addım 2: Blackbox Diaqramı/Sonlu Dövlət Maşını

Qara qutu diaqramı/Sonlu vəziyyət maşını
Qara qutu diaqramı/Sonlu vəziyyət maşını
Qara qutu diaqramı/Sonlu vəziyyət maşını
Qara qutu diaqramı/Sonlu vəziyyət maşını

Bu qara qutu diaqramı, işıqların yandırılması üçün lazım olan girişləri göstərir. Saat girişi və Min girişlər, istifadəçinin basys3 lövhəsinə (açarları istifadə edərək) daxil etdiyi vaxtı əks etdirir. Kimi, sw girişi, istifadəçinin otağın hansı hissəsində olduğunu göstərir (yenidən obyektin yerləşdiyi yeri göstərmək üçün açarlardan istifadə edir).

FSM, bir anda bir obyektin yerləşdiyi bir otağın bir sahəsindən digərinə keçidini göstərir. Fərqli otaqlarda (s1, s2, s3, s4) olaraq təmsil olunan 4 fərqli sensorlar var. Çıxışları və ya fərqli otaqlardakı işıqları idarə edənlər, məsələn işıq (L1, L2, L3). Sensorların ilkin vəziyyəti heç kəsi aşkar etmir, buna görə də bütün işıqlar sönür. Növbəti vəziyyətə keçmək üçün (Dövlət 1), s1 kimisə aşkarlamalıdır, s2, s3 və s4 sönəcək. Bu L1 çıxacaq (işığı 1 yandırın), L2 və L3 sönəcək. Vəziyyət 1 -dən 2 -ci vəziyyətə keçmək üçün s1, s3 və s4 söndürülməli, s2 açıq olmalıdır. Bu L1 və L2 -ni işə salacaq. Bu vəziyyətdən növbəti vəziyyətə keçmək üçün s3 açıq olmalı və bütün digər sensorlar söndürülməlidir. Bu L2 və L3 -i açacaq, L1 sönəcək. Son vəziyyətə keçmək üçün S4 aktiv olmalı və bütün digər sensorlar söndürülməlidir. Bu yalnız L3 -i yandıracaq, digər bütün işıqlar sönəcək. Bir şəxs otağa s4 tərəfdən girərsə və s1 vasitəsilə çıxarsa, bütün addımlar tərs qaydada olacaq.

Addım 3: BlackBox Rəqəmsal Saat

BlackBox Rəqəmsal Saat
BlackBox Rəqəmsal Saat

Yaratdığımız rəqəmsal saatın məqsədi sensorlar işıqlarının gün ərzində aktivləşməməsi və yalnız istifadəçinin daxil etdiyi müddətdə işləməsidir. Rəqəmsal saat, basys3 lövhəsindəki açarlardan istifadə edərək hour_in girişini və mins_in vaxtını alır və onu lövhəyə yükləmək üçün (led_btn) düyməsini basmaq lazımdır ki, onu göyərtədə göstərsin. Fərqli vaxtı yenidən yükləyə biləcəyiniz üçün sıfırlama düyməsini də əlavə etdik (rst_b). Basys3 -də 3 fərqli məlumat nümunəsini göstərmək üçün kifayət qədər yer olduğu üçün saniyələri arxa planda tətbiq etdik. Bu məqsədlə bir saniyə keçid tətbiq etdik, buna görə istifadəçi basys3 lövhəsində (e_sec) girişi açmağa qərar verdikdə zamanla artacaq. Rəqəmsal saat içərisində daxili çərçivə işi, daxil edilmiş vaxtı saxlayan flip-floplardan və istifadəçinin yalnız (e_sec) yandırıldığı zaman daxil etdiyi sayını artıran sayğaclardan ibarətdir. Kodun necə tətbiq olunduğunu tam olaraq görə biləcəyiniz üçün əlavə edəcəyik.

Addım 4: Komponentlər Birlikdə və Təsvir

Komponentlər Birlikdə və Təsvir
Komponentlər Birlikdə və Təsvir
Komponentlər Birlikdə və Təsvir
Komponentlər Birlikdə və Təsvir

Yuxarıdakı şəkillər komponentlərin bir -birinə necə bağlı olduğunu göstərir. Əvvəlcə giriş saatları və dəqiqələrini alaraq başlayır. Bu girişlərdən gələn siqnallar bitləri bir araya gətirdiyi saat və sayğac dəqiqələrinə göndərilir və sayğacların çıxış siqnalı, bitləri basys3 lövhəsində göstəriləcək xüsusi simvollara çevirən SSEG komponentinə göndərilir. Bununla birlikdə, istifadəçi girişi (led_btn) basana qədər sayğaclardan gələn siqnal SSEG komponentinə göndərilməyəcək, çünki rəqəmsal saat üçün FSM yaratmadıq. Ayrıca, giriş açarı (e_sec) açılana qədər daxil edilən vaxt artmayacaq, əks halda saniyə sayğacı həmişə arxa planda işləyəcək. Sayaç saniyəsi "59" a çatdıqda dəqiqələrə bir siqnal göndərəcək ki, dəqiqələr saatlarla eyni olsun. Ayrıca, hərəkət sensoru girişləri var və siqnallar FSM komponentinə göndərilir, burada sensordan asılı olaraq hansı vəziyyətə keçiləcəyini təyin edir. İlkin vəziyyət bütün sensorlar söndürüldükdə olur. FSM -in bütün təsviri 2 -ci addımda təsvir edilmişdir.

Addım 5: Kod

Addım 6: Gələcək dəyişikliklər

Gələcəkdə layihəyə LED -lərin birləşməsi ilə həqiqi hərəkət sensörlərinin əlavə edilməsi təkmilləşdirilmiş olardı, beləliklə layihənin mürəkkəbliyini artıra bilərik və müasir bir hərəkət işıq sensoru yarada biləcəyimizi öyrənə bilərik. İşıqların buna uyğun olaraq yandırılması üçün obyektin yaxınlığını da düşünmək məcburiyyətində qaldığınız üçün bu, daha çox problem yaradacaq. Bundan əlavə, bütün digər funksiyalar. Ayrıca, istifadəçinin saniyələri açmasını gözləmək əvəzinə bir FSM istifadə edərək rəqəmsal saatın funksionallığını yaxşılaşdırmaq (e_sec). Rəqəmsal bir saat üçün FSM, hərəkət sensoru ilə eyni olacaq.

Addım 7: Nəticə

Ümumiyyətlə, bu layihə sonlu dövlət maşınlarının necə işlədiyini daha yaxşı anlamağımıza kömək etdi. Əlavə olaraq, FSM ilə həmişə hansı vəziyyətdə olduğunuzu və başqa bir vəziyyətə keçmək istədiyinizi bilməlisiniz. Başqa sözlə, müəyyən bir zamanda harada olduğunuzu və daha sonra harada olacağınızı bilməlisiniz. Hansı amillərin (girişlərin) başqa bir vəziyyətə keçməsinə icazə verəcəyini və ora çatanda nə edəcəyini (çıxışı) nəzərə alaraq. Basys3 lövhəsində məlumatları qeydlər olan flip-floplardan istifadə edərək saxlamağı və ikili ədədləri bir araya gətirən sayğaclardan istifadə edərək vaxtı necə artırmağı da öyrəndik.

Addım 8: Citation

Two_sseg.vhdl = universal_sseg_dec.vhd

Ratner, James və Cheng Samuel.. Ratface Engineering.universal_sseg_dec.vhd

Tövsiyə: