Orodha ya maudhui:

Mafunzo ya Mkusanyiko wa AVR 11: 5 Hatua
Mafunzo ya Mkusanyiko wa AVR 11: 5 Hatua

Video: Mafunzo ya Mkusanyiko wa AVR 11: 5 Hatua

Video: Mafunzo ya Mkusanyiko wa AVR 11: 5 Hatua
Video: UKIZIONA DALILI HIZI MAMA MJAMZITO BASI UTAJIFUNGUA MTOTO WA KIUME 2024, Julai
Anonim
Mafunzo ya Mkusanyiko wa AVR 11
Mafunzo ya Mkusanyiko wa AVR 11
Mafunzo ya Mkusanyiko wa AVR 11
Mafunzo ya Mkusanyiko wa AVR 11
Mafunzo ya Mkusanyiko wa AVR 11
Mafunzo ya Mkusanyiko wa AVR 11

Karibu kwenye Mafunzo ya 11!

Katika mafunzo haya mafupi, mwishowe tutaunda sehemu ya kwanza ya mradi wetu wa mwisho.

Jambo la kwanza unapaswa kufanya ni kwenda hatua ya mwisho kabisa ya mafunzo haya na utazame video. Kisha rudi hapa. [kutulia wakati unafanya hivyo….] Sawa. Sasa endelea.

Ikiwa haujafikiria tayari, tunaunda mchezo wa Craps! Kwa kweli, kwa sababu tu ninajenga mchezo wa craps hakika haimaanishi lazima. Natumaini hiyo huenda bila kusema. Ni muhimu kwa hali yoyote kutumia watawala wadogo kudhibiti maonyesho yaliyogawanywa, n.k., na kuwasiliana na kila mmoja - ndio hasa tunafanya hapa. Unaweza kuandika nambari ili uzitumie unapenda. Kwa sasa nitawatia nambari ili wacheze craps ingawa ninaweza kuamua baadaye kusudi tena maonyesho yaliyogawanywa kufanya kitu kingine.

Sababu ya kujenga hii ni kwa sababu ninafikiria kwamba mwishowe nitataka meza kamili ya Vegas craps katika "pango langu la mtu" kwenye basement ya nyumba yangu. Walakini, hakuna rafiki yangu aliye na wazo hata kidogo jinsi ya kushughulikia, kufunga alama, au kubashiri pesa za malipo na safu. Kwa hivyo nilidhani itakuwa nzuri kuwa na meza itufanyie kazi ya muuzaji! Tunapoweka dau mezani tunaweza pia kushinikiza kitufe kidogo karibu na mraba ambayo chips zetu zinaonyesha ni kiasi gani kimewekwa hapo, basi mdhibiti mdogo anaweza kuhesabu malipo ya mraba huo baada ya roll ya kete na kuionyesha. Bado sina hakika kabisa jinsi nitakavyoandaa kipengele hiki ingawa. Wazo moja nililokuwa nalo ni kwamba kila mtu ataulizwa kuweka bets zao zote kwa zamu ili mtawala arekodi mahali ambapo pesa za kila mtu ziko kabla ya kurekodi mchezaji anayefuata na kadhalika. Halafu baada ya roll, kompyuta inaweza kuonyesha malipo kwenye kila mraba na pia inaweza kuweka "jumla ya pesa" kwa kila mchezaji.

Kwa moja ya picha za jalada la mafunzo haya ilibidi nitumie picha yangu nikivuta ekari 5 kwenye meza ya poker huko Vegas msimu huu wa joto. Heheh. Nijihusishe.

Hapa kuna kiunga cha mkusanyiko kamili wa mafunzo yangu ya kukusanyika ya AVR:

Hatua ya 1: Craps

Craps!
Craps!
Craps!
Craps!
Craps!
Craps!

Katika mafunzo haya tutaunda tu sehemu rahisi zaidi ya mchezo wa mwisho wa Craps. Hii inaitwa "Njia ya Kupita" na unaweza kubashiri. Unaweza kujifunza kila kitu unachohitaji kujua juu ya sehemu ya "kupita" ya mchezo kwa kutazama video fupi ya dakika 2 ya kufundisha niliyoambatanisha na hatua hii.

Tutaunda onyesho lingine la nambari 4 ambalo litafuatilia Fedha za muuzaji kwa njia ile ile ambayo onyesho letu la sasa la tarakimu nne linafuatilia Fedha za Mchezaji. Muuzaji ataanza na $ 20 na mchezaji ataanza na $ 20 (jumla ya pesa inayowezekana kwenye mchezo ni $ 9999 - kiwango cha juu cha maonyesho yetu ya tarakimu 4, lakini tutahitaji tu $ 20 kwa kipande hiki cha kwanza cha mchezo au vinginevyo itakuwa ngumu sana na ngumu kushinda au kupoteza kwa muda mzuri). Ikiwa mchezaji atachukua pesa zote za muuzaji, mchezaji atashinda. Ikiwa mchezaji atapoteza pesa zake zote basi muuzaji atashinda.

Je! Unashindaje au unapoteza pesa? Kweli, wale ambao mmecheza Craps, mmeona watu "wakipiga kete" barabarani, au kuiona ikicheza dhidi ya kasino huko Vegas, watajua tayari. Kwa ninyi wengine, wacha nikupe maelezo mafupi juu ya sehemu ya "kupitisha" ya mchezo ambao tutakuwa tukiandika leo.

Craps imechezwa kwa mamia ya miaka, kuanzia wakati wa vita vya msalaba. Ilichezwa na askari kwenye mitaro ya WWII, ilichezwa barabarani, ilichezwa kwenye kasino na kumbi za kamari. Ilianza na laini tu ya kupitisha na vitu vingine vyote viliongezewa baadaye. Tutafuata maendeleo haya haya.

Njia ya kupitisha njia ni hii. Unaweka dau halafu unazunguka kete. Gombo la kwanza linaitwa "roll-out-roll". Ukipata 2 (macho ya nyoka), 3 (ace deuce), au 12 (box box) kwenye roll-out, utapoteza bet yako na inaitwa "craps". Ikiwa unasonga 7 (asili) au 11 (yo, au yo-leven) unashinda. Ukizungusha nambari nyingine yoyote basi nambari hii inakuwa "point" yako. Mara tu "uhakika" unapoanzishwa unaendelea kutembeza kete kwa lengo la kupiga hatua tena kabla ya kusongesha 7. Ukipata hoja yako kabla ya 7 kutembezwa unashinda hata pesa. Kwa hivyo dau la dola linakushindia dola kutoka kwa muuzaji. Ukipata 7 kabla ya hoja yako kuvingirishwa, hii inaitwa "saba nje" na utapoteza dau lako kwa muuzaji.

Baada ya hapo unaanza tena. Weka dau kwenye laini ya kupitisha na usonge kete, ushindi wa 7 au 11, 2, 3, au 12 hupoteza.

Kuna aina nyingi zaidi za dau, "usipitishe", "pita tabia mbaya", "usipitishe tabia mbaya", "njoo bet", "usije bet", "uwanja", "pembe", " njia ngumu ", nk nk nk. Unaweza kupata maelezo hapa:

en.wikipedia.org/wiki/Craps

Kama nilivyosema hapo juu, kwa sasa, tutakaa tu kuweka alama kwenye sehemu ya kupitisha mchezo ambao ndio tu waliyokuwa nayo siku ambayo watoto walikuwa wakirusha kete ukutani kwa pesa ya chakula cha mchana cha kila mmoja na kwa hivyo hapa ndipo tutakapoanza.

Walakini, kabla ya kuanza kuweka vitu vya kuweka alama, hebu tujenge onyesho la muuzaji pesa. Kwa hili, nataka kutumia moja ya maonyesho makubwa ya tarakimu 4 ambayo unaweza kupata kutoka Sparkfun au mahali pengine. Kuanzia sasa sitaenda kuorodhesha vifaa kwenye mafunzo haya. Ikiwa kweli umekuwa ukijenga kila kitu pamoja nami basi tayari unajua wapi unaweza kupata vifaa na ni nini. Sio maana kwangu kuziorodhesha au ni gharama ngapi.

Kwa hivyo inachukua moja ya bodi zetu za prototyping, onyesho kubwa la tarakimu 4, ATmega328p nyingine kudhibiti onyesho hilo, na kuijenga kama tulivyofanya na roller ya kete, na onyesho la mchezaji hapo awali. Tutakuwa pia tukiunganisha vichwa vya habari vya nguvu, kwa programu, na kwa mawasiliano ya TWI kama wengine.

Hatua ya 2: Onyesho la Fedha la muuzaji

Onyesho la Fedha la muuzaji
Onyesho la Fedha la muuzaji
Onyesho la Fedha la muuzaji
Onyesho la Fedha la muuzaji
Onyesho la Fedha la muuzaji
Onyesho la Fedha la muuzaji

Tunaunda onyesho la muuzaji vile vile tulifanya na onyesho la nambari 4 za mchezaji katika mafunzo ya mwisho. Tofauti pekee ni kwamba ni kubwa, na ina pini chache, kwa hivyo tutakuwa tukipanga na kuiweka waya tofauti.

Nimeambatanisha picha ya wiring ya onyesho hili. Unaweza kuona kuwa ni kubwa na ina pini chache kuliko onyesho letu la kuchezea. Picha hiyo imetoka kwenye ukurasa wa cheche ambapo nilipata onyesho na inaonyesha ni pini zipi zina nguvu kwa kila tarakimu na ni pini gani zinazodhibiti kila sehemu katika nambari.

Kama kawaida, unapaswa kuanza kwa kuingiza onyesho kwenye ubao wako wa kuandikia na ujaribu kila sehemu ili uhakikishe kuwa unaelewa jinsi ilivyo na waya. Kisha unapaswa kuifunga kwa pini za mdhibiti mdogo wa AVR kwenye ubao wako wa mkate na kuiendesha kutoka hapo mpaka tutakapokuwa na nambari yetu yote inayofanya kazi katika mafunzo haya. Mwishowe, mwishoni, unapaswa kujenga bodi ya nje na kuiunganisha. Halafu unapojaribu bidhaa ya mwisho utajua kuwa shida zozote zinatokana na kazi yako ya kutengeneza na kukata na sio nambari. Pia, usisahau axiom inayojulikana kutoka kwa useremala "pima mara mbili, na ukate mara moja", au katika kesi ya kutengeneza bodi za mzunguko: "kata mara mbili, solder mara moja." Kama unavyoona kwa picha, mwishowe nilivunja na kununua kiambatisho kizuri cha Dremel kwa aina hii ya kazi. Seti ya "Alama ya Almasi". Iligharimu pesa 5 lakini hiyo ni kidogo sana kuliko gharama ya Tiba ya Kudhibiti Hasira ambayo inakuja na kumaliza kazi yangu ya kukata mara nyingi mfululizo.

Ninatumia vipinga 333 ohm kwa onyesho hili. Pini za COM hupitia kontena kwa GND na nguvu huenda kwa sehemu yoyote unayotaka kuonyesha. Nitatumia PC0 kupitia PC3 kwa pini za COM na PB0, PB1, PB2, PB3, PB4, PD5, PD6, na PD7 kwa sehemu.

Hapa kuna ufunguo wa kuongeza nafasi zako za kupata haki:

  1. ramani nje ya mzunguko
  2. kata mzunguko
  3. angalia wiring yako
  4. ambatanisha vipinga, kofia, na oscillator ya kioo
  5. angalia viunganisho na wiring tena
  6. ambatisha waya za nje
  7. ambatisha microcontroller
  8. angalia wiring tena
  9. ambatisha onyesho lenye tarakimu nne
  10. angalia kila tarakimu na waya kutoka kwenye ubao wa mkate
  11. weka kando na andika nambari hiyo, ukijua kwamba labda itabidi ubadilishe mambo baadaye na unatumai kuwa haujaficha unganisho ambalo linahitaji kukatwa.

Nimeonyesha mfululizo wa picha za kazi yangu ya wiring. Tafadhali tambua kuwa wewe ni huru kuweka waya yako kwa njia yoyote unayopenda. Kuna uwezekano mkubwa unaweza kupata ramani bora kuliko mimi na unapaswa kuitumia. Hakuna chochote katika mafunzo haya hutegemea jinsi vifaa vyako vimefungwa waya, maadamu wana bandari sahihi za pato. Ambayo inanikumbusha. Angalia kuwa sasa kuna vichwa viwili vinaenda kwa SDA na viwili vinaenda SCL? Kwa nini unafikiri tulifanya hivyo?

Sasa, kama unavyoweza kuona kwa nambari iliyoambatanishwa mwishoni mwa mafunzo mimi nilikata tu na kubandika nambari kutoka kwa onyesho la kichezaji cha mafunzo ya mwisho hadi faili mpya ya onyesho la muuzaji. Kisha nikapita na kubadilisha meza ya kutafuta "sehemu" ili kuendana na ramani mpya ya pini na kubainisha kuwa kwa onyesho hili pini za "com" ni chini na pini za sehemu ni 5V badala ya njia nyingine kote kama ilivyokuwa kwa onyesho lingine.. Nilibadilisha pia uanzishaji wa bandari kuonyesha wiring mpya, nilibadilisha anwani ya onyesho la muuzaji kuwa 0b1000000 ili roller roller iweze kuzungumza naye, nilibadilisha subroutine ya "mzunguko" ili izime PC0 kupitia pini za "com" za PC3 wakati inataka kuwezesha sehemu fulani na nilibadilisha "tarakimu" inayoonyeshwa kwani wiring mpya ina nambari kwa mpangilio tofauti (ikiwa uliiacha kama ilivyokuwa na kujaribu kuionesha 1234 ingeonekana kama 4321 badala yake).

Hapa kuna ramani mpya ya kujiandikisha:

(PD7, PD6, PD5, PB4, PB3, PB2, PB1, PB0) = (sehemu ya desimali, c, g, b, f, a, e, d)

ambapo 1 imewashwa na 0 imezimwa.

Sasa jaribu onyesho kwa kuweka kwanza thamani iliyoonyeshwa ya onyesho kwa nambari anuwai ili ikiiwasha iwaonyeshe. Hii itakuambia ikiwa kila kitu kinafanya kazi kwa usahihi.

Kisha rekebisha nambari ya diceroller ili itumie anwani mpya kwa mtumwa, waunganishe pamoja, na uiendeshe. Inapaswa kutenda sawasawa na yale tuliyoyafanya kwenye mafunzo ya mwisho isipokuwa kwamba safu za kete sasa zinaonyeshwa kwenye onyesho jipya.

Kubwa! Sasa tuko tayari kuandika nambari mpya ya roller ya kete ili iweze kuwasiliana na onyesho la kicheza na onyesho la muuzaji.

Hatua ya 3: Muhtasari wa Programu

Muhtasari wa Programu
Muhtasari wa Programu
Muhtasari wa Programu
Muhtasari wa Programu
Muhtasari wa Programu
Muhtasari wa Programu

Njia ambayo nambari itafanya kazi kwa mchezo wetu ni kwamba tutaweka roller ya kete kama bwana na kuongeza onyesho la muuzaji kama mtumwa wa ziada. Roller ya kete itadhibiti mchezo na itatuma mabadiliko yanayosababishwa kwa pesa kwa muuzaji na maonyesho ya mchezaji baada ya kila roll. Kwa sasa tutakuwa na dau la kupitisha kuwa $ 10 kila wakati kwa hivyo sio lazima kuwa ngumu sana bado na mchezaji kubadilisha dau lake. Baadaye, mara tu tutakapokuwa na mitambo inayofanya kazi, tutaongeza mtawala mwingine ambaye atakuwa bwana wa ziada ambaye atadhibiti ubashiri na malipo na roller yetu ya kete itabaki kuwa bwana lakini inatumika tu kwa kutembeza kete. Hii itaturuhusu kuingia katika usuluhishi wa TWI, migongano, na mambo mengine muhimu ya mawasiliano ya serial wakati una mabwana na watumwa wengi. Pia tutaongeza idadi ya onyesho moja la tarakimu 7 na vifungo vya kushinikiza chini yao ambavyo vitaturuhusu kubashiri aina zingine za safu, lakini yote yatakuja katika mafunzo ya baadaye. Kwa sasa, tunataka tu roller roller kama bwana, na maonyesho mawili kama watumwa. Tunapobonyeza kitufe, nambari hiyo itaamua ikiwa utalipa asili, kuchukua pesa kutoka kwa craps, au tawi hadi safu ya "alama" ya safu hadi kushinda au kutolewa saba.

Wacha tuandike utaratibu wa watumwa. Hizi ni rahisi kwa kuwa watakachofanya ni kutazama laini ya SDA kwa anwani yao, ikiwa wataitwa wataisoma nambari mpya kuionyesha na kuionyesha. Ni hayo tu! Sio lazima hata wazungumze na bwana kwani bwana atakuwa akifuatilia jumla yao na kufanya mahesabu yote ya malipo kabla ya kuiboresha. Katika mafunzo ya siku zijazo tutakuwa na watumwa wanaomwandikia bwana (kwa mfano tunapokuwa na onyesho moja la tarakimu 7 na vifungo vya kushinikiza kwa kiwango cha kubashiri, watalazimika kumweleza bwana ni kiasi gani cha kubashiri kwenye kila onyesho na kwa hivyo tutafanya hivyo. washughulikie na anwani + soma simu na bwana katika "hali ya mpokeaji mkuu") lakini tutafika kwa wakati unaofaa.

Kwa sasa kila kitu kimechochewa na kitufe cha roll roll ikifuatiwa na hesabu au kitufe zaidi inasukuma na mwishowe ujumbe kwa kila onyesho na jumla yao mpya. Kutakuwa na jaribio baada ya kila malipo ili kubaini ikiwa mchezaji ameshinda au amepoteza, kwa maneno mengine, ikiwa muuzaji pesa huwa zero baada ya roll, au ikiwa pesa ya mchezaji huwa sifuri baada ya roll (hakuna muuzaji au mchezaji inaweza kwenda hasi kwani wataruhusiwa tu kubash $ 10 au vinginevyo chochote kilichobaki ikiwa ni chini ya $ 10).

Kwa hivyo ndivyo itakavyofanya kazi. Wacha tupate coding.

Hatua ya 4: Nambari ya Mawasiliano ya Mwalimu

Nambari ya Mawasiliano ya Mwalimu
Nambari ya Mawasiliano ya Mwalimu

Sasa tunaweza kuandika utaratibu wa mawasiliano wa roller ya kete. Pia ni sawa na ile tuliyoandika mara ya mwisho isipokuwa kwamba tutakuwa tukiwasiliana na watumwa wawili tofauti badala ya mmoja tu. Kumbuka kuwa kwa kila mtumwa tunatumia anwani tofauti. Unapaswa kurekebisha nambari mwenyewe na kisha ujaribu tu kwa kila anwani na uhakikishe inafanya kazi kama mafunzo ya mwisho isipokuwa kwa kila onyesho tofauti.

Nitaambatanisha nambari kwa kila sehemu ambayo inaonyesha tu matokeo ya roll ili iweze kutumiwa kupata maonyesho kufanya kazi vizuri na kuangalia wiring.

Kuweka alama kwenye mchezo hauleti kitu kipya kama amri za lugha ya mkutano au vifaa vya kudhibiti microcontroller vya AVR na kwa hivyo sijisikii ninahitaji kuipitia kwa mstari. Labda umegundua kuwa tunapoanzisha kitu kipya mimi hupitia kila mstari kwa undani ya dakika hadi kufikia wakati wa kukukasirisha ikiwa sio kukuweka usingizi. Kwa upande mwingine sitafanya hivyo ikiwa hakuna kitu kipya kilicholetwa. Ndivyo ilivyo leo. Kwa hivyo nadhani uko tayari kucheza na nambari hiyo, soma nambari hiyo, chambua nambari hiyo, uelewe nambari hiyo, ukosoe nambari hiyo, dharau nambari hiyo, na umcheke mtu aliyeandika nambari hiyo. Kwa hivyo nitakuruhusu uendelee na ufanye hivyo. Ni hakika kuwa utapata maeneo mengi ambayo unaweza kuboresha au angalau kurahisisha yale niliyoandika.

Kama kawaida, nimeambatanisha toleo la mwisho la nambari ya maonyesho mawili na diceroller katika hatua inayofuata pamoja na video yangu nikijaribu kitu hicho.

Hatua ya 5: Nambari ya Mwisho na Video

Nimeambatanisha video na programu 3. Utagundua kuwa unaweza kurekebisha wager na muuzaji anayeanza na pesa ya mchezaji juu ya programu na taarifa za.ququ.

Katika mafunzo yanayofuata tutaongeza uwezo wa kubet juu ya vitu tofauti ambavyo vitafanya mchezo kuwa wa kufurahisha zaidi. Jambo la kufurahisha juu ya Craps za kisasa ni kwamba una njia nyingi za kubashiri na jaribu kuongeza tabia mbaya zako. Kwa kweli, Craps ndio mchezo wa hali ya juu kabisa katika Kasino! … Kama unajua kucheza. Kwa upande mwingine, ikiwa hujui kucheza basi inakuwa moja wapo ya michezo ya hali ya chini kabisa.

Mara tu tutakapokuwa na vitu zaidi vya kubashiri pesa zetu basi nitaongeza jumla ya pesa kwenye mchezo.

Lazima nifurahi!

Tutaonana wakati mwingine!

Ilipendekeza: