Orodha ya maudhui:

Mfumo wa Ushindani wa Buzzer: Hatua 5
Mfumo wa Ushindani wa Buzzer: Hatua 5

Video: Mfumo wa Ushindani wa Buzzer: Hatua 5

Video: Mfumo wa Ushindani wa Buzzer: Hatua 5
Video: DEMU ALIWA NYUMA HADI KINYESI CHATOKA (ANGALIA VIDEO HADI MWISHO) 2024, Novemba
Anonim
Image
Image
Vifaa
Vifaa

Mfumo wa ushindani wa buzzer iliyoundwa katika mradi huu unafanya kazi sawa na mifumo ya buzzer inayotumiwa katika Mashindano ya Kanda na Kitaifa ya Sayansi. Mradi huu uliongozwa na kuhusika kwangu na timu yangu ya shule ya upili ya bakuli kwa miaka mitatu. Daima tumekuwa na hamu ya kurudia mfumo wa buzzer ya kufunga na 5-pili na 20-sekunde timer.

Ili kutoa msingi kwenye mfumo wa buzzer, buzzers za bakuli za sayansi zimepangwa kuingiza wachezaji 8 (na buzzers 8 tofauti). Mara tu buzzer moja ikiwa imebanwa, buzzer ya mtu wa kwanza itawashwa kuashiria ni mchezaji gani anayepokea swali. Wachezaji wengine wote "watafungiwa nje" ambayo inamaanisha wazungumzaji wao hawatajibu hadi msimamizi atakaporekebisha mfumo wa buzzer.

Baada ya msimamizi kusoma maswali, atabonyeza kitufe ili kuanza kipima muda ambacho kitaonyeshwa kwenye onyesho la sehemu saba. Baada ya swali la "toss-up", msimamizi anaweza kubonyeza kitufe cha kulia ili kuanza kuhesabu kutoka sekunde 5. Wakati huo huo, baada ya swali la "ziada", msimamizi anaweza kubonyeza kitufe cha kushoto kuanza hesabu kutoka sekunde 20. Wakati kipima muda kinafikia sifuri, buzzer ya sauti itaonyesha kuwa mchezaji amepitwa na wakati.

Ili kuweka upya mfumo na kipima muda, msimamizi anaweza kubonyeza kitufe cha kituo. Ili kuweka upya utaratibu wa kufunga na LED za kichezaji, swichi za kichezaji 1 na kichezaji 2 lazima ziwe chini.

Hatua ya 1: Vifaa

Utahitaji yafuatayo:

  • Bodi ya Basys3 (au bodi sawa ya FPGA)
  • Cable ya Micro-B USB
  • Spika (nilitumia spika tu)
  • 2 waya
  • Programu ya kutekeleza kwenye FPGA (nilitumia Vivado)
  • Faili ya Mfumo wa Buzzer ya Ushindani

Hatua ya 2: Mchoro wa Sanduku Nyeusi

Mchoro wa Sanduku Nyeusi
Mchoro wa Sanduku Nyeusi

Mchoro wa sanduku jeusi unaonyesha pembejeo na matokeo ambayo yatatumika katika mfumo huu wa buzzer.

Ingizo

mchezaji1, mchezaji2 Pembejeo hizi zimeunganishwa na swichi mbili kwenye ubao wa Basys3. Kwa urahisi, swichi za kushoto na kulia zitatumika.

kuweka upya Kitufe cha kituo kitatumika kuwakilisha kitufe cha kuweka upya.

count_down_20_sec Kitufe cha kushoto kitatumika kuwakilisha kitufe cha kipima muda cha sekunde 20.

count_down_5_sec Kitufe cha kulia kitatumika kuwakilisha kitufe cha kipima muda cha sekunde 20. Ili kuhakikisha kuwa kipima muda cha sekunde 20 na 5-sekunde kinaanza, shikilia kitufe mpaka onyesho la sehemu saba lionyeshe kipima muda.

CLK Bodi ya FPGA itazalisha saa inayoendesha na masafa ya ns.

MAMBO:

spika Pato la spika limeunganishwa na gumzo la nje au spika. Itabidi uunganishe spika kwa bandari za Basys3 JA pmod. Hatua hii itaainishwa hapa chini.

speaker_LED Pato hili limeunganishwa na LED katikati ya bodi, na itaonyesha tu wakati spika ya spika ya FPGA iko juu. Unaweza kutumia hii kujaribu spika yako ya nje. Kumbuka kuwa bandari zingine za jioni zinaweza zisifanye kazi vizuri, kwa hivyo unaweza kujaribu anuwai na utumie LED kuangalia ikiwa spika inapaswa kuwashwa.

SEGMENTS Pato hili limeunganishwa na sehemu nane za kibinafsi kwenye onyesho la sehemu saba, pamoja na hatua ya desimali.

DISP_EN Pato hili limeunganishwa na anode nne kwenye onyesho la sehemu saba.

player_LED Pato hili ni ishara ya kifungu 2 ambayo imeunganishwa na LED zilizo juu ya swichi za mchezaji1 na mchezaji2. Mchezaji wa kwanza kupindua swichi yao inayofanana ataonyeshwa na LED. Kumbuka kuwa LED zote mbili haziwezi kuwaka wakati huo huo.

Hatua ya 3: Kuunganisha Spika ya nje

Kuunganisha Spika ya nje
Kuunganisha Spika ya nje

Ili kuunganisha spika ya nje kwenye ubao wa Basys3, chukua waya zako mbili na uziambatanishe kama inavyoonyeshwa kwenye picha hapo juu. Mstari mweupe unaunganisha kituo hasi cha spika kwenye bandari ya ardhini kwenye ubao. Mstari mwekundu unaunganisha terminal nzuri ya spika kwa bandari ya JA10 pmod kwenye ubao.

Faili ya vizuizi imeundwa ili bandari yoyote kutoka JA1 hadi JA10 ifanye kazi. Walakini, pini zingine kwenye ubao hazijali, kwa hivyo ikiwa JA10 haifanyi kazi, unaweza kujaribu bandari zingine.

Hatua ya 4: Mchoro wa Miundo

Mchoro wa Miundo
Mchoro wa Miundo

Picha hapo juu inaonyesha mchoro wa muundo wa mfumo wa ushindani wa buzzer pamoja na vifaa vyote vinavyounda moduli kuu. Maelezo yao ni kama ifuatavyo:

player_lockout_LED1 Sehemu ya kufuli ya mchezaji wa LED ni mashine ya hali ya mwisho inayotumia usimbuaji moto mmoja. Inayo pembejeo nne: kichezaji1, kichezaji2, kuweka upya, na CLK. Inayo kicheza kipato cha 2-bit kifungu_LED. Pembejeo na matokeo ya kicheza_kufungia_LED1 zote zimeunganishwa moja kwa moja na pembejeo na matokeo ya moduli kuu.

buzzer_tone1 Sehemu ya buzzer inategemea nambari hii iliyowekwa kwenye mkutano

stackoverflow.com/questions/22767256/vhdl- …… Walakini, ilibadilishwa kutoa sauti inayoendelea na masafa ya 440 Hz (Ujumbe). Ingizo la kuwezesha limeunganishwa na ishara inayowezekana ya buzzer ambayo ni pato la sehemu ya down_counter_FSM1.

clk_div1 Sehemu ya mgawanyiko wa saa ni toleo lililobadilishwa la msuluhishi wa saa ya Profesa Bryan Mealy iliyotolewa kwenye PolyLearn. Inapunguza saa kwa hivyo kipindi cha pato ni sekunde 1.

down_counter_FSM1 Kaunta ya chini ni FSM iliyoundwa kuhesabu hadi sifuri. Nyakati mbili za mwanzo zinawezekana ni 20 au 5 ambazo huchaguliwa na uingizaji wa mtumiaji. Inatoa '1' wakati kipima muda kimefikia sifuri kuonyesha kuwa wakati umeisha. Pato hili hufanya kama kuwezesha sehemu ya sauti ya buzzer. Kaunta pia hutoa ishara ya kifungu cha 8-bit ambayo hutuma BCD 8-bit ambayo hutumwa kwa sehemu ya sehemu. Pato lingine ni counter_on ambayo pia imeunganishwa na pembejeo halali kwenye kisimbuzi cha sehemu.

sseg_dec1 Sehemu ya dekoda ya sehemu saba imetolewa kwenye PolyLearn na iliandikwa na Profesa Bryan Mealy. Inatumia pembejeo ya BCD iliyotolewa na down_counter_FSM1, na hutoa sawa na decimal kwenye onyesho la sehemu saba. Wakati kaunta imewashwa, basi pembejeo halali ni kubwa. Hii inaruhusu kificho kuonyesha nambari ya decimal kwenye onyesho la sehemu saba. Wakati kaunta imezimwa, basi pembejeo halali ni ndogo. Onyesho la sehemu saba basi litaonyesha tu dashi nne.

Hatua ya 5: Mchoro wa Mashine ya Jimbo la Jimbo (FSM)

Mchoro wa Mashine ya Jimbo la Fini (FSM)
Mchoro wa Mashine ya Jimbo la Fini (FSM)

Orodha ya unyeti wa mashine ya serikali inayokamilika ni pamoja na kichezaji1, kichezaji2, kuweka upya, na saa. Pato la FSM ni kichezaji cha 2-bit kifungu_LED kilichounganishwa na LED mbili kwenye bodi ya Basys3. Mashine ya Jimbo la Finite inaonyesha majimbo matatu yafuatayo:

ST0 ni hali ya kuanza. Katika hali hii, LED mbili zimezimwa. FSM itabaki katika jimbo hili ikiwa mchezaji1 na mchezaji2 wako chini. Upyaji wa asynchronous pia huweka hali kwa ST0. Wakati kitufe cha mchezaji1 kimewekwa juu, hali inayofuata itakuwa ST1. Ikiwa kitufe cha mchezaji2 kimewekwa juu, hali inayofuata itakuwa ST2.

ST1 ni hali ambayo mchezaji1 LED yuko. FSM itabaki katika jimbo hili kwa maoni yoyote. Hii inamaanisha kuwa hata wakati kiboreshaji cha mchezaji2 kimewekwa juu mara tu baada ya kiboreshaji cha mchezaji1 kuwa juu, itabaki katika ST1. Kuweka upya tena kwa asynchronous kunaweza kuweka hali inayofuata kuwa ST0.

ST2 ni hali ambayo player2 LED iko. Sawa na ST !, FSM itabaki katika hali hii kwa pembejeo yoyote, hata wakati kiboreshaji cha mchezaji1 kimewekwa juu mara tu baada ya kibadilishaji cha mchezaji2 ni cha juu. Tena, ni kuweka upya kwa asynchronous pekee kunaweza kuweka hali inayofuata kuwa ST0.

Ilipendekeza: