Orodha ya maudhui:
- Hatua ya 1: Kuweka Mgawanyiko wa Saa
- Hatua ya 2: Kuunda Mashine ya Jimbo la Nchini (FSM)
- Hatua ya 3: Ramani ya Uonyesho wa Sehemu Saba
- Hatua ya 4: Kuunda Kilinganisha
- Hatua ya 5: Kuweka Timer
- Hatua ya 6: Kubuni Pseudo Random Generator Number
- Hatua ya 7: Kuunda Kubadilisha fedha
- Hatua ya 8: Kuweka Kila kitu Pamoja katika Moduli ya Mchezo
- Hatua ya 9: Matatizo ya Ziada Yamekutana
- Hatua ya 10: Faili za Chanzo na Vizuizi
Video: Mchezo wa Kuchekesha kwa Binary hadi Daraja moja: Hatua 10
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:49
Mafundisho haya yataonyesha mchakato na moduli zinazohitajika kuunda mchezo wetu wa Binary kwa Decimal Matching. Ndani ya sekunde 60, watumiaji watatafsiri na kuingiza nambari nyingi za nasibu zilizoonyeshwa kwa nasibu kwenye onyesho la sehemu saba kuwa binary kwa kubadilisha swichi na kuwasilisha kwa kitufe cha kukisia. Mara baada ya kukamilika, alama ya mwisho itaonyeshwa na kisha kuweka tena ili kucheza tena.
Kuelewa tafakari za baharini na haraka ni faida kufanya vizuri, lakini kitufe cha kuweka upya hutolewa ikiwa mtu anataka kujaribu mara moja tena.
Hatua ya 1: Kuweka Mgawanyiko wa Saa
Uti wa mgongo wa mradi huu wote unatokana na usawazishaji sahihi wa sehemu zote katika gizmo hii. Mashine yetu ya Jimbo la Finite hutumia saa ya ndani, lakini onyesho la sehemu saba na kipima muda lazima zitumie toleo lililobadilishwa la saa.
"Saa mpya" hii hutoka kwa kugawanya saa ya ndani na kipindi kinachotakiwa kufikia masafa fulani yanayohitajika kwa kila sehemu maalum. Hii imefanywa katika maabara zilizopita na kutokana na uzoefu, tunajua kipima muda kimewekwa nambari "ya mtu" hadi 0.1 Hz, na tarakimu ya "makumi" ikiwa 1 Hz
Pembejeo: ClkIn, msuluhishi (32 bit)
Matokeo: ClkOut
Hatua ya 2: Kuunda Mashine ya Jimbo la Nchini (FSM)
Katika Mashine yetu ya Finite-State, tuliamua kwamba majimbo matano (Anza, Onyesha, Angalia, Alama na Mwisho) yatakuwa muhimu na pembejeo tano (anza, weka upya, nadhani, sawa, muda wa kumaliza). Pato pekee katika Mashine yetu ya Jimbo ni nambari 3 ambayo inawakilisha hali gani mtumiaji yuko (000, 001, 011, 101, 100) kwa heshima na majimbo hapa chini.
Kumbuka kwamba Mashine ya Jimbo la Finite haifanyi kazi hapa chini, badala yake inaelezea tu hali ikoje na nini. Kinachotokea kweli huamuliwa na moduli ya juu iliyoelezwa hapo chini.
Jimbo la Kuanza (000)
Jimbo la Anza ni mahali ambapo mtumiaji ataanza hadi pembejeo ya kuanza iwe juu, hii pia ni hali ambayo itafikiwa wakati wowote kitufe cha kuweka upya kinapobanwa.
Jimbo la Mchezo (001)
Jimbo la Mchezo ni mwanzo wa mchezo, ambapo nambari isiyo ya kawaida hutengenezwa na mtumiaji hugeuza swichi ili kuunda pembejeo. Mara tu kitufe cha nadhani kinapobanwa, mchezo unahamishiwa kwenye Jimbo la Angalia.
Angalia Jimbo (011)
Hali hii ndio ambapo kulinganisha hutumiwa, ambayo italinganisha maadili ya mchango wa mtumiaji na nambari inayotengenezwa bila mpangilio. Ikiwa uwasilishaji ni sahihi, thamani sawa ni kubwa na FSM huenda kwa Jimbo la alama; Walakini, ikiwa uwasilishaji sio sahihi, FSM inarudi kwenye Jimbo la Onyesha hadi kuwasilisha ni sawa.
Hali hii ya Kuangalia hufanyika haraka ikilinganishwa na zingine, kwani inafanyika tu ilimradi kitufe cha kukagua kimeshinikizwa
Jimbo la alama (101)
Kwa kuwa thamani sawa ni kubwa, uwasilishaji ulikuwa sahihi. Katika hali hii, alama ya alama itaongezeka kwa moja na nambari mpya itazalishwa kwa mtumiaji kuingiza. Nambari hii mpya inaturudisha kwenye Jimbo la Anza ambapo mtumiaji atabadilisha swichi tena.
Jimbo la Mwisho (100)
Wakati wa muda wa sekunde 60 umekwisha, pembejeo ya muda itakuwa juu na mtumiaji atafika Jimbo la Mwisho ambapo alama ya mwisho imeonyeshwa. Ingizo la kuweka upya litasisitizwa na FSM itaanza tena katika Jimbo la Anza.
Pembejeo: Clk, rst, anza, nadhani, sawa, muda wa kumaliza
Pato: jimbo (3 bit)
Hatua ya 3: Ramani ya Uonyesho wa Sehemu Saba
Onyesho la Sehemu Saba ni sehemu muhimu ya mradi mzima kwani nambari mbili za kwanza kwenye skrini hutumiwa kama pato la jenereta ya nambari isiyo na mpangilio, wakati tarakimu mbili za mwisho ni kipima muda. Ingawa tumetekeleza mfano wa hii katika maabara ya mwisho kwa kuwa na tarakimu kwenye skrini, ilionyeshwa kwa hexadecimal. Ili kurekebisha suala hili, tulitumia kibadilishaji na msuluhishi wa saa ambayo imeelezewa hapa chini.
Maonyesho yanaonyesha kila 0 hadi FSM iingie katika hali ya mchezo; Walakini, katika hali ya mwisho, onyesho linapaswa kuonyesha tu alama ya mtumiaji.
Kwa kuwa tunatumia nambari zote nne za onyesho la sehemu saba, tunahitaji kuzunguka kwa kila anode haraka haraka kwa 300 Hz ili tuweze kuonekana kama inawashwa kila wakati.
Pembejeo: Clk, sehemu saba
Matokeo: cathode (7 bit), anode (4 bit)
Hatua ya 4: Kuunda Kilinganisha
Kijitabu hiki hutumiwa katika Jimbo la Angalia kulingana na jinsi inavyolinganisha nadhani iliyoingizwa kidogo ya binary ikilinganishwa na thamani halisi ya desimali.
Tulikuwa na taarifa ikiwa ilitathmini pembejeo zote mbili na matokeo mawili kulingana na ikiwa thamani sawa ilikuwa ya juu au ya chini. Kama muhimu kama moduli hii, ni moja ya mipango rahisi zaidi ya kubuni katika mradi huu.
Pembejeo: swichi (8 bit), nambari (8 bit)
Pato: EQ
Hatua ya 5: Kuweka Timer
Timer yetu kimsingi ni kaunta mbili tofauti ambazo zinaongezeka kwa viwango tofauti. Kaunta moja kwa thamani ya "mtu", (onyesho la sehemu saba za kwanza) na kaunta moja ya thamani ya "kumi" (nambari ya pili kwenye onyesho la sehemu saba). Kila nambari iko mbali na makali ya saa, na mara kaunta inapofikia sekunde 60, muda_utakuwa juu na mchezo utaisha na kurudi katika hali ya kuanza.
Pembejeo: Clk, hali (3 bit), anza
Matokeo: Sasa (8 bit), muda umekwisha
Hatua ya 6: Kubuni Pseudo Random Generator Number
Njia nyingine mbadala ya jenereta ya nambari haswa kwa kesi hii ni kuwa na kaunta inayorudia kutoka 0-99 (kwa binary) ambayo hutoa nambari iliyohesabiwa wakati pembejeo ni kubwa, kwani hii itachukua hitaji la kutumia LFSR.
Nambari inabadilisha kila makali yanayoinuka ya saa ya ndani (sekunde 10 za nano) na mizunguko kupitia nambari zote 100 kwa microsecond moja. Wakati wowote mtumiaji anataka nambari mpya kutoka kwa jenereta ya nambari, hutoa nambari iliyokuwa kwenye, Ingawa mchakato huu sio wa kubahatisha kabisa, uwezekano wa kupata matokeo yanayohusiana kutoka kwa mchakato huu ni mdogo wa kutosha kuwa wa kubahatisha.
Pembejeo: Clk, changenum, sawa
Matokeo: nambari (8 bit)
Hatua ya 7: Kuunda Kubadilisha fedha
Sehemu ya lazima ni Kubadilisha fedha, ambayo tulitumia kuonyesha nambari za desimali kwenye onyesho la sehemu saba badala ya hexadecimal asili. Ingawa nambari zote mbili zinatokana na nambari ya Binary 7, tuliunda moduli nzima iliyoteuliwa kubadilisha hexadecimal kuwa decimal.
Kwa mfano, ikiwa matokeo yetu ya mwisho ya alama yalikuwa 0010001 (kumi na saba), onyesho la sehemu saba litaonyesha thamani ya hexadecimal ya 11, badala ya nambari ya decimal ya 17.
Ingizo: Numin (8 bit)
Pato: Hesabu (8 bit)
Hatua ya 8: Kuweka Kila kitu Pamoja katika Moduli ya Mchezo
Kwa vifaa vyetu, tulitumia swichi muhimu 0-6 kwa mtumiaji kugeuza, na vifungo vitatu kutenda kama pembejeo za mtumiaji kwa kuanza, kuweka upya, na kubahatisha. Sehemu saba za kuonyesha na vifaa vya saa pia ni vifaa ambavyo tumefanya kutoka kwa maabara zilizopita lakini ilibidi ibadilike ili kutoshea mradi huu.
Tuligawanya mradi huu katika moduli sita zilizoonyeshwa hapo juu ili kuvunja gizmo nzima katika sehemu nyingi zinazofanya kazi, hata hivyo, njia ambayo imeunganishwa ni ngumu sana na inaonyeshwa kutoka kwenye picha ya sanduku jeusi iliyoambatanishwa.
Wakati mchezo unafanyika, taa 7 za taa zinawashwa kumjulisha mtumiaji ni swichi za kutumia, na wakati mchezo unamalizika, tulipanga pia LED kuwaka
Pembejeo: swichi (8 bit), Clk, weka upya, anza, nadhani
Matokeo: cathode (7 bit), anode (4 bit), LEDs (7 bit)
Hatua ya 9: Matatizo ya Ziada Yamekutana
Ingawa swichi saba tu hutumiwa katika mchezo huu, nambari imewekwa kama nambari 8 kidogo. Tulifanya hivyo ili kuwa na kilinganishi rahisi zaidi ambacho kingelinganisha bits hizi 8 na nambari 8 kidogo tuliyotengeneza kutoka kwa jenereta ya nambari isiyo na mpangilio.
Alama pia ilitupa shida kidogo mwanzoni kwa sababu tuliiweka kuongeza alama moja wakati FSM ilikuwa katika hali ya alama; hata hivyo kile kilichotokea badala yake ni kwamba alama hiyo iliendelea kuongezeka kwa muda mrefu kama serikali ilivyokuwa, ikitupa alama ya juu isiyo na sababu ambayo hatungeweza kushughulika nayo. Tulirekebisha hii kwa kuongeza ishara ya kunde ambayo ilisawazishwa na makali ya saa, kama inavyoonekana katika nambari katika hatua ya 8.
Mwishowe, kipima muda kilichukua muda mwingi kutengeneza utatuzi kwani ingeweza kupotosha onyesho letu la sehemu saba wakati ilikuwa ikihesabu chini, kwa hivyo tulilazimika kuibadilisha kutoka kuhesabu kutoka 60 hadi kuhesabu kutoka 0.
Hatua ya 10: Faili za Chanzo na Vizuizi
Ikiwa ungependa kuvuta kutoka kwa faili zetu za chanzo badala ya kuunda yako mwenyewe, hapa ndio. Pia, faili ya kikwazo imejumuishwa.
Ilipendekeza:
Kujifunga kwa Moja kwa Moja kwa Mchezo Mtendaji wa Mchezo wa Gofu wa 3: Hatua 12 (na Picha)
Kujifunga kwa Moja kwa Moja kwa Mchezo Mtendaji wa Mchezo wa Gofu wa 3: Hivi majuzi nilichapisha Inayoweza kufundishwa juu ya kujenga mchezo wa kufurahisha unaoweza kubeba na unaoweza kuchezwa ndani na nje. Inaitwa "Executive Par 3 Golf Game". Nilitengeneza kadi ya alama ya kuiga kurekodi kila alama ya wachezaji kwa "mashimo" 9. Kama ilivyo
Kujifunga Moja kwa Moja kwa Mchezo mdogo wa Mpira wa Skee: Hatua 10 (na Picha)
Kufunga moja kwa moja kwa Mchezo mdogo wa Skee-Mpira: Michezo ya Skee-Ball inayotengenezwa nyumbani inaweza kuwa ya kufurahisha kwa familia nzima, lakini shida yao imekuwa ukosefu wa bao moja kwa moja. Hapo awali niliunda mashine ya Skee-Ball ambayo iliweka mipira ya mchezo kwenye njia tofauti kulingana na sc
Moja kwa moja 4G / 5G HD Kutiririka Video Kutoka kwa DJI Drone kwa Ucheleweshaji wa Chini [Hatua 3]: Hatua 3
Moja kwa moja Video ya 4G / 5G ya Utiririshaji wa HD Kutoka kwa DJI Drone kwa Ucheleweshaji wa Chini [Hatua 3]: Mwongozo ufuatao utakusaidia kupata mitiririko ya video yenye ubora wa HD kutoka karibu na drone yoyote ya DJI. Kwa msaada wa Programu ya Simu ya FlytOS na Maombi ya Wavuti ya FlytNow, unaweza kuanza kutiririsha video kutoka kwa drone
Mlishaji wa Kiwanda cha Moja kwa Moja cha WiFi Pamoja na Hifadhi - Usanidi wa Kilimo cha Ndani / Nje - Mimea ya Maji Moja kwa Moja na Ufuatiliaji wa Mbali: Hatua 21
Kilima cha Kiwanda cha Kiotomatiki cha WiFi kilicho na Hifadhi - Kuweka Kilimo cha ndani / Nje - Mimea ya Maji Moja kwa Moja na Ufuatiliaji wa Mbali: Katika mafunzo haya tutaonyesha jinsi ya kuanzisha mfumo wa kulisha mimea ya ndani / nje ambayo hunyunyizia mimea moja kwa moja na inaweza kufuatiliwa kwa mbali kutumia jukwaa la Adosia
Kilishi cha Mbwa Raspberry Pi Moja kwa Moja na Kijirusha Video Moja kwa Moja: Hatua 3
Feeder ya mbwa ya Raspberry Pi moja kwa moja & Kijirisho cha Moja kwa Moja cha Video: Hii ni Raspberry PI yangu inayowezesha feeder ya mbwa moja kwa moja. Nilikuwa nikifanya kazi kutoka asubuhi 11am hadi 9pm. Mbwa wangu huenda wazimu ikiwa sikumlisha kwa wakati. Iliyotafutwa google kununua feeders moja kwa moja ya chakula, hazipatikani India na kuagiza ghali op