Mündəricat:
- Addım 1: Materiallar
- Addım 2: Qara qutu diaqramı
- Addım 3: Xarici Dinamikin Bağlanması
- Addım 4: Struktur Diaqram
- Addım 5: Sonlu Dövlət Maşını (FSM) Diaqramı
Video: Rəqabətli Buzzer Sistemi: 5 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
Bu layihədə hazırlanan rəqabətli səs -küy sistemi, Regional və Milli Elm Kase Müsabiqələrində istifadə edilən səs siqnal sistemlərinə bənzər şəkildə işləyir. Bu layihə, üç il liseyimin elm kase komandası ilə işimdən ilham aldı. Həmişə 5 saniyəlik və 20 saniyəlik bir zamanlayıcı ilə kilidlənən səs siqnal sistemini yenidən yaratmaq arzusunda olmuşuq.
Zil sisteminə dair bəzi məlumat vermək üçün, elm qabının buzzerləri maksimum 8 oyunçu daxil etmək üçün proqramlaşdırılmışdır (8 ayrı buzzer ilə). Bir səs siqnalı basıldıqdan sonra, sualın hansı oyunçuya çatdığını göstərmək üçün birinci şəxsin siqnalı yandırılacaq. Qalan oyunçular "kilidlənəcək", yəni moderator səs siqnal sistemini sıfırlayana qədər səs siqnalları cavab verməyəcək.
Moderator sualları oxuduqdan sonra yeddi seqmentli ekranda görünəcək geri sayım sayğacını başlatmaq üçün bir düyməyə basacaq. "Toss-up" sualından sonra, moderator 5 saniyədən geri saymağa başlamaq üçün sağ düyməni basa bilər. Bu arada, "bonus" sualından sonra, moderator 20 saniyədən geri saymağa başlamaq üçün sol düyməni basa bilər. Taymer sıfıra çatdıqda, səs siqnalı oyunçunun vaxtının bitdiyini göstərir.
Sistemi və geri sayma vaxtını sıfırlamaq üçün moderator orta düyməni basa bilər. Kilidləmə mexanizmini və oyunçu LED -lərini sıfırlamaq üçün, oyunçu 1 və oyunçu 2 -nin açarları aşağı vəziyyətdə olmalıdır.
Addım 1: Materiallar
Aşağıdakılara ehtiyacınız olacaq:
- Basys3 lövhəsi (və ya bərabər FPGA kartı)
- Micro-B USB kabeli
- Dinamik (passiv dinamikdən istifadə etdim)
- 2 tel
- FPGA -da tətbiq etmək üçün proqram (Vivadodan istifadə etdim)
- Rəqabətli Buzzer Sistemi faylı
Addım 2: Qara qutu diaqramı
Qara qutu diaqramı bu səs siqnal sistemində istifadə ediləcək giriş və çıxışları göstərir.
GİRİŞLƏR:
player1, player2 Bu girişlər Basys3 lövhəsindəki iki açara bağlıdır. Rahatlıq üçün ən sol və ən sağdakı açarlar istifadə ediləcək.
sıfırlama Mərkəzi düymə sıfırlama düyməsini təmsil etmək üçün istifadə olunacaq.
count_down_20_sec Sol düymə 20 saniyəlik düyməni təmsil etmək üçün istifadə olunacaq.
count_down_5_sec Sağ düymə 20 saniyəlik düyməni təmsil etmək üçün istifadə olunacaq. Həm 20 saniyəlik, həm də 5 saniyəlik taymerin başlamasını təmin etmək üçün düyməni yeddi seqmentli ekranda timer görünənə qədər basıb saxlayın.
CLK FPGA lövhəsi 10 ns tezlikdə işləyən bir saat yaradacaq.
Çıxışlar:
dinamik Dinamik çıxışı xarici səs siqnalı və ya dinamikə bağlıdır. Dinamiki Basys3 board JA pmod portlarına bağlamalı olacaqsınız. Bu addım aşağıda təsvir ediləcəkdir.
Speaker_LED Bu çıxış lövhənin ortasındakı bir LED -ə bağlıdır və FPGA -nın dinamik çıxışının nə vaxt yüksək olduğunu göstərəcək. Bunu xarici dinamikinizi yoxlamaq üçün istifadə edə bilərsiniz. Qeyd edək ki, bəzi pmod portları yaxşı işləməyə bilər, buna görə də fərqli olanları sınaya və dinamikin açıq olub olmadığını yoxlamaq üçün LED -dən istifadə edə bilərsiniz.
SEGMENTS Bu çıxış, ondalık nöqtəsi də daxil olmaqla, yeddi seqmentli ekrandakı səkkiz fərdi seqmentə bağlıdır.
DISP_TR Bu çıxış yeddi seqmentli ekrandakı dörd anodla bağlıdır.
player_LED Bu çıxış, player1 və player2 açarlarının üstündəki LED-lərə bağlı olan 2 paketli bir siqnaldır. Müvafiq açarını çevirən ilk oyunçu LED ilə göstəriləcək. Qeyd edək ki, hər iki LED eyni vaxtda açıla bilməz.
Addım 3: Xarici Dinamikin Bağlanması
Xarici hoparlörü Basys3 lövhəsinə bağlamaq üçün iki telinizi götürün və yuxarıdakı şəkildə göstərildiyi kimi bağlayın. Ağ xətt dinamikin mənfi terminalını lövhədəki yer portuna bağlayır. Qırmızı xətt dinamikin müsbət terminalını lövhədəki JA10 pmod portuna bağlayır.
Məhdudiyyətlər faylı, JA1 -dən JA10 -a qədər olan hər hansı bir portun işləməsi üçün hazırlanmışdır. Bununla birlikdə, lövhədəki bəzi pinlər cavab vermir, buna görə JA10 işləmirsə, digər portları da sınaya bilərsiniz.
Addım 4: Struktur Diaqram
Yuxarıdakı şəkil, əsas modulu təşkil edən bütün komponentlər daxil olmaqla rəqabətli səs siqnal sisteminin struktur diaqramını göstərir. Onların təsviri belədir:
player_lockout_LED1 Pleyerin kilidlənməsi LED komponenti, birdəfəlik kodlaşdırma istifadə edən sonlu dövlət maşındır. Dörd girişi var: player1, player2, reset və CLK. 2 bitlik paket çıxış player_LED ehtiva edir. Player_lockout_LED1 komponentinin giriş və çıxışlarının hamısı əsas modulun eyni adlı giriş və çıxışlarına birbaşa bağlıdır.
buzzer_tone1 Buzzer komponenti bir forumda yerləşdirilən bu koda əsaslanır
stackoverflow.com/questions/22767256/vhdl-… Bununla birlikdə 440 Hz tezlikdə davamlı bir səs çıxarmaq üçün dəyişdirildi (Qeyd). Enable girişi, down_counter_FSM1 komponentinin çıxışı olan buzzer_enable siqnalına bağlıdır.
clk_div1 Saat bölücü komponenti, professor Bryan Mealy -nin PolyLearn -də verilən saat bölücüsünün dəyişdirilmiş bir versiyasıdır. Saatı yavaşlatır, buna görə çıxış müddəti 1 saniyədir.
down_counter_FSM1 Aşağı sayğac sıfıra qədər saymaq üçün nəzərdə tutulmuş bir FSM -dir. İstifadəçi tərəfindən seçilən iki mümkün başlanğıc vaxtı 20 və ya 5 -dir. Vaxtın bitdiyini göstərmək üçün taymer sıfıra çatanda '1' yazır. Bu çıxış səs siqnalı komponenti üçün imkan yaradır. Sayğac, seqment kod çözücüsünə göndərilən 8 bitlik BCD göndərən 8 bitlik bir paket siqnalı da verir. Başqa bir çıxış, seqment dekoderindəki etibarlı girişə qoşulan counter_on.
sseg_dec1 Yeddi seqmentli dekoder komponenti PolyLearn-də verilir və professor Bryan Mealy tərəfindən yazılmışdır. Down_counter_FSM1 tərəfindən təmin edilən bir BCD girişindən istifadə edir və yeddi seqmentli ekranda onlu ekvivalenti çıxarır. Sayğac açıq olduqda, etibarlı giriş yüksəkdir. Bu, dekoderin yeddi seqmentli ekranda ondalık sayını göstərməsinə imkan verir. Sayğac söndürüldükdə, etibarlı giriş azdır. Yeddi seqmentli ekran yalnız dörd tire göstərəcək.
Addım 5: Sonlu Dövlət Maşını (FSM) Diaqramı
Sonlu vəziyyət maşını üçün həssaslıq siyahısına player1, player2, sıfırlama və saat daxildir. FSM çıxışı, Basys3 lövhəsindəki iki LED-ə qoşulmuş 2 bitlik bir pleyer_LED-dir. Sonlu vəziyyət maşını aşağıdakı üç vəziyyəti göstərir:
ST0 başlanğıc vəziyyətidir. Bu vəziyyətdə iki LED sönür. Həm oyunçu1, həm də oyunçu 2 aşağı olarsa, FSM bu vəziyyətdə qalacaq. Asenkron sıfırlama da vəziyyəti ST0 olaraq təyin edir. Player1 açarı yüksək olaraq təyin edildikdə, növbəti vəziyyət ST1 olacaq. Player2 açarı yüksək olaraq təyin olunarsa, növbəti vəziyyət ST2 olacaq.
ST1, player1 LED -in yandığı vəziyyətdir. Hər hansı bir giriş üçün FSM bu vəziyyətdə qalacaq. Bu o deməkdir ki, player1 keçidinin yüksək olmasından dərhal sonra player2 açarı yüksək səviyyəyə qoyulsa belə, ST1 -də qalacaq. Yalnız asenkron sıfırlama, növbəti vəziyyəti ST0 olaraq təyin edə bilər.
ST2, player2 LED -in yandığı vəziyyətdir. ST! -Ə bənzər FSM, player2 keçidinin yüksək olmasından dərhal sonra player1 açarı yüksək olaraq təyin olunsa belə, hər hansı bir giriş üçün bu vəziyyətdə qalacaq. Yenə yalnız asenkron sıfırlama, növbəti vəziyyəti ST0 olaraq təyin edə bilər.
Tövsiyə:
Arduino Piezo Buzzer Piano: 5 addım
Arduino Piezo Buzzer Piano: Burada natiq olaraq piezo buzzerdən istifadə edən bir Arduino piano hazırlayacağıq. Bu layihə asanlıqla ölçeklenebilir və sizdən asılı olaraq az və ya çox qeydlərlə işləyə bilər! Sadəlik üçün onu yalnız dörd düymə/düymə ilə quracağıq. Bu əyləncəli və asan bir layihədir
Arduino Avtomobil Ters Park Diqqət Sistemi - Addım -addım: 4 addım
Arduino Avtomobil Ters Park Diqqət Sistemi | Addım-addım: Bu layihədə, Arduino UNO və HC-SR04 Ultrasonik Sensoru istifadə edərək sadə bir Arduino Car Reverse Park Sensor Dövrü dizayn edəcəyəm. Bu Arduino əsaslı Avtomobil Ters siqnal sistemi Avtonom Naviqasiya, Robot Aralığı və digər diapazonlarda istifadə edilə bilər
PIR Sensoru və Buzzer Modulundan Necə İstifadə Edilir - Visuino Dərsliyi: 6 addım
PIR Sensoru və Siqnal Modulundan Necə İstifadə Ediləcək - Visuino Dərsliyi: Bu təlimatda, PIR sensoru hər hərəkəti aşkar etdikdə səs çıxarmaq üçün PIR sensoru və səs siqnalı modulundan istifadə etməyi öyrənəcəyik. Bir nümayiş videosuna baxın
Arduino+Blynk Layihəsinə Nəzarət Buzzer: 8 Addım
Arduino+Blynk Layihəsinə Nəzarət Səsi: Blynk, IoT -ni çox rahat bir şəkildə mümkün etmək üçün istifadə olunur. Bu layihədə simsiz ünsiyyət qurmaq üçün heç bir bluetooth və ya Wifi modulundan istifadə etmirəm. Bu, öz tətbiqinizi tərtib etməyə kömək edə biləcək Blynk tətbiqindən istifadə etməklə mümkündür
2 Oyunçu Rəqabətli VS Zamanlama Oyunu: 4 Addım
2 Oyunçu Rəqabətli VS Zamanlama Oyunu: Sizə lazım olacaq: 1.Digilent Basys 3, FPGA Board (və ya hər hansı digər FPGA,) 2. Vivadonun və ya digər VHDL mühitinin nisbətən yenilənmiş bir versiyası3. Qeyd olunan proqramı işlədə bilən kompüter