Sisällysluettelo:
- Vaihe 1: Materiaalit
- Vaihe 2: Mustan laatikon kaavio
- Vaihe 3: Ulkoisen kaiuttimen liittäminen
- Vaihe 4: Rakennekaavio
- Vaihe 5: Äärellisen tilan koneen (FSM) kaavio
Video: Kilpailukykyinen summeri: 5 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
Tässä projektissa suunniteltu kilpailukykyinen summerijärjestelmä toimii samalla tavalla kuin alueellisissa ja kansallisissa Science Bowl -kilpailuissa käytetyt summerit. Tämä projekti sai inspiraationi osallistumisestani lukion tiedekulho -tiimiin kolmen vuoden ajan. Meillä on aina ollut halu luoda uudelleen lukittuva summerijärjestelmä 5 sekunnin ja 20 sekunnin ajastimella.
Taustan antamiseksi summerijärjestelmälle tiedekulhon summerit on ohjelmoitu syöttämään enintään 8 pelaajaa (8 erillisellä summerilla). Kun yhtä summeria on painettu, ensimmäisen henkilön summeri syttyy ilmoittamaan, kuka pelaaja saa kysymyksen. Muut pelaajat ovat "lukittuina", mikä tarkoittaa, että niiden summerit eivät reagoi ennen kuin valvoja nollaa summerin.
Kun moderaattori on lukenut kysymykset, hän painaa painiketta käynnistääkseen ajastimen, joka näkyy seitsemän segmentin näytössä. "Heittokysymyksen" jälkeen moderaattori voi painaa oikeaa painiketta aloittaakseen laskennan 5 sekunnista. Samaan aikaan "bonus" -kysymyksen jälkeen moderaattori voi aloittaa laskennan 20 sekunnista painamalla vasenta painiketta. Kun ajastin saavuttaa nollan, äänimerkki ilmoittaa, että soitin on loppunut.
Jos haluat nollata järjestelmän ja ajastimen, moderaattori voi painaa keskipainiketta. Lukitusmekanismin ja soittimen merkkivalojen nollaamiseksi soittimien 1 ja 2 kytkimien on oltava alhaalla.
Vaihe 1: Materiaalit
Tarvitset seuraavat:
- Basys3 -kortti (tai vastaava FPGA -kortti)
- Micro-B USB-kaapeli
- Kaiutin (käytin passiivista kaiutinta)
- 2 johtoa
- Ohjelmisto FPGA: lle (käytin Vivadoa)
- Kilpailukykyinen summerijärjestelmätiedosto
Vaihe 2: Mustan laatikon kaavio
Mustan laatikon kaavio näyttää tulot ja lähdöt, joita käytetään tässä summerijärjestelmässä.
TULOT:
player1, player2 Nämä tulot on kytketty kahteen Basys3 -kortin kytkimeen. Mukavuuden vuoksi käytetään vasemman- ja oikeanpuoleisia kytkimiä.
nollaus Keskipainiketta käytetään kuittaamaan nollauspainiketta.
count_down_20_sec Vasen painike edustaa 20 sekunnin ajastinpainiketta.
count_down_5_sec Oikeaa painiketta käytetään edustamaan 20 sekunnin ajastinpainiketta. Varmistaaksesi, että sekä 20 sekunnin että 5 sekunnin ajastin käynnistyy, pidä painiketta painettuna, kunnes seitsemän segmentin näytössä näkyy ajastin.
CLK FPGA -kortti luo kellon, jonka taajuus on 10 ns.
LÄHTÖT:
kaiutin Kaiuttimen lähtö on kytketty ulkoiseen summeriin tai kaiuttimeen. Kaiutin on kytkettävä Basys3 -kortin JA pmod -portteihin. Tämä vaihe kuvataan alla.
Kaiutin_LED Tämä lähtö on kytketty piirilevyn keskellä olevaan LED -valoon, ja se osoittaa vain, kun FPGA -kaiuttimen ulostulo on korkea. Voit käyttää tätä ulkoisen kaiuttimen testaamiseen. Huomaa, että jotkut pmod -portit eivät ehkä toimi hyvin, joten voit kokeilla erilaisia ja tarkistaa LED -valon avulla, pitäisikö kaiuttimen olla päällä.
SEGMENTIT Tämä lähtö on kytketty seitsemän segmentin näytön kahdeksaan yksittäiseen segmenttiin, mukaan lukien desimaalipiste.
DISP_FI Tämä lähtö on kytketty seitsemän segmentin näytön neljään anodiin.
player_LED Tämä lähtö on 2-nippusignaali, joka on kytketty soittimen1 ja soittimen2 kytkimien yläpuolella oleviin LED-valoihin. LED näyttää ensimmäisen pelaajan, joka kääntää vastaavan kytkimen. Huomaa, että molemmat LED -valot eivät voi palaa samanaikaisesti.
Vaihe 3: Ulkoisen kaiuttimen liittäminen
Liitä ulkoinen kaiutin Basys3 -korttiin ottamalla kaksi johtoa ja liittämällä ne yllä olevan kuvan mukaisesti. Valkoinen viiva yhdistää kaiuttimen negatiivisen navan levyn maadoitusporttiin. Punainen viiva yhdistää kaiuttimen positiivisen navan levyn JA10 -pmod -porttiin.
Rajoitustiedosto on suunniteltu siten, että minkä tahansa portin JA1 - JA10 pitäisi toimia. Jotkin taululla olevat nastat ovat kuitenkin reagoimattomia, joten jos JA10 ei toimi, voit kokeilla muita portteja.
Vaihe 4: Rakennekaavio
Yllä oleva kuva esittää kilpailevan summerijärjestelmän rakennekaavion, joka sisältää kaikki päämoduulin osat. Niiden kuvaukset ovat seuraavat:
player_lockout_LED1 Soittimen lukituksen LED-komponentti on äärellinen tilakone, joka käyttää yhden kuuman koodausta. Siinä on neljä tuloa: player1, player2, reset ja CLK. Se sisältää 2-bittisen nipun ulostulon player_LED. Player_lockout_LED1-komponentin tulot ja lähdöt on kytketty suoraan päämoduulin identtisesti nimettyihin tuloihin ja lähtöihin.
buzzer_tone1 Summeri -komponentti perustuu tähän foorumilla julkaistuun koodiin
stackoverflow.com/questions/22767256/vhdl-… Sitä kuitenkin muutettiin tuottamaan jatkuva ääni, jonka taajuus on 440 Hz (Huomautus). Aktivointitulo on kytketty summerin_salluttavaan signaaliin, joka on down_counter_FSM1 -komponentin lähtö.
clk_div1 Kellonjakajakomponentti on muokattu versio professori Bryan Mealyn kellojakajasta, joka on PolyLearnissa. Se hidastaa kelloa, joten lähtöaika on 1 sekunti.
down_counter_FSM1 Alaslaskuri on FSM, joka on suunniteltu laskemaan alas nollaan. Kaksi mahdollista alkamisaikaa ovat 20 tai 5, jotka käyttäjä valitsee. Se antaa '1', kun ajastin on saavuttanut nollan, mikä osoittaa, että aika on loppunut. Tämä lähtö toimii summerin äänikomponentin sallimana. Laskuri antaa myös 8-bittisen nippusignaalin, joka lähettää 8-bittisen BCD: n, joka lähetetään segmenttidekooderille. Toinen lähtö on laskuri_on, joka on myös kytketty segmenttidekooderin kelvolliseen tuloon.
sseg_dec1 Seitsemän segmentin dekooderikomponentti on PolyLearnissa, ja sen on kirjoittanut professori Bryan Mealy. Se käyttää down_counter_FSM1: n tarjoamaa BCD-tuloa ja antaa desimaaliekvivalentin seitsemän segmentin näytölle. Kun laskuri on päällä, kelvollinen tulo on korkea. Tämä sallii dekooderin näyttää desimaaliluvun seitsemän segmentin näytössä. Kun laskuri on pois päältä, kelvollinen tulo on alhainen. Seitsemän segmentin näytössä näkyy vain neljä viivaa.
Vaihe 5: Äärellisen tilan koneen (FSM) kaavio
Äärellisen tilan koneen herkkyysluettelo sisältää pelaajan1, pelaajan2, nollaus ja kellon. FSM-lähtö on 2-bittinen nippusoitin_LED, joka on yhdistetty kahteen Basys3-kortin LED-valoon. Äärellinen tilakone näyttää seuraavat kolme tilaa:
ST0 on aloitustila. Tässä tilassa kaksi LEDiä sammuvat. FSM pysyy tässä tilassa, jos sekä pelaaja1 että pelaaja2 ovat vähissä. Asynkroninen nollaus asettaa myös tilan ST0. Kun pelaaja1 -kytkin on asetettu korkealle, seuraava tila on ST1. Jos pelaaja2 -kytkin on asetettu korkealle, seuraava tila on ST2.
ST1 on tila, jossa player1 -merkkivalo palaa. Mikronesia pysyy tässä tilassa kaikkien syötteiden osalta. Tämä tarkoittaa, että vaikka pelaaja2 -kytkin on asetettu korkealle heti sen jälkeen, kun pelaaja1 -kytkin on korkealla, se pysyy ST1 -tilassa. Vain asynkroninen nollaus voi asettaa seuraavaksi tilaksi ST0.
ST2 on tila, jossa player2 -merkkivalo palaa. Samanlainen kuin ST !, FSM pysyy tässä tilassa kaikkien tulojen osalta, vaikka pelaaja1 -kytkin on asetettu korkealle heti, kun pelaaja2 -kytkin on korkea. Jälleen vain asynkroninen nollaus voi asettaa seuraavaksi tilaksi ST0.
Suositeltava:
Arduino+Blynk -projektin ohjaava summeri: 8 vaihetta
Arduino+Blynk -projektin ohjaussummeri: Blynk -tekniikkaa käytetään esineiden internetin mahdollistamiseen erittäin kätevällä tavalla. Tässä projektissa en käytä mitään Bluetooth- tai Wifi -moduulia langattoman viestinnän tekemiseen. Tämä on mahdollista käyttämällä Blynk -sovellusta, joka voi auttaa sinua suunnittelemaan oman sovelluksesi
Kauko-ohjattu summeri kadonneille ja löydetyille: 4 vaihetta
Kauko-ohjattu summeri kadonneille ja löydetyille: Tämä kaksiosainen piiri koostuu summerista ja ohjaimesta. Kiinnitä summeri kohteeseen, jonka saatat menettää usein, ja aktivoi summeri painikkeella ja äänenvoimakkuuden säätimellä, kun kohde katoaa. Summeri ja ohjain
Tietovisa summeri käyttäen ATMEGA328P (Arduino) DIY: 3 vaihetta
Tietokilpailusummeri ATMEGA328P (Arduino) -työkalun avulla: Tietokilpailujen summerin kierroksella kysymys on avoin kaikille joukkueille. Henkilö, joka tietää vastauksen, lyö ensin summerin ja vastaa sitten kysymykseen. Joskus kaksi tai useampi pelaaja osuu summeriin melkein samanaikaisesti, ja se on todellinen
Valoanturin summeri: 5 vaihetta
Valoanturin summeri: Tässä kokeessa aiomme työskennellä anturin kanssa, joka on valosta riippuva vastus. Pimeässä ympäristössä vastuksen vastus on erittäin korkea. Kun fotonivalo laskeutuu ilmaisimeen, vastus pienenee. Mitä enemmän
Kahden pelaajan kilpailukykyinen ajoituspeli: 4 vaihetta
Kahden pelaajan kilpailukykyinen VS -ajoituspeli: Tarvitset: 1.Digilent Basys 3, FPGA Board (tai mikä tahansa muu FPGA), 2. Suhteellisen ajan tasalla oleva versio Vivadosta tai jostain muusta VHDL -ympäristöstä3. Tietokone, joka voi käyttää mainittua ohjelmaa