Orodha ya maudhui:

Dashibodi ya Arduino VGA Na Michezo Mitano: Hatua 4
Dashibodi ya Arduino VGA Na Michezo Mitano: Hatua 4

Video: Dashibodi ya Arduino VGA Na Michezo Mitano: Hatua 4

Video: Dashibodi ya Arduino VGA Na Michezo Mitano: Hatua 4
Video: How to get 5V from 18650 Lithium Battery Powering Arduino ESP32 ESP8266 or charge your phone 2024, Julai
Anonim
Image
Image
Dashibodi ya Arduino VGA Na Michezo Mitano
Dashibodi ya Arduino VGA Na Michezo Mitano
Dashibodi ya Arduino VGA Na Michezo Mitano
Dashibodi ya Arduino VGA Na Michezo Mitano

Katika Maagizo yangu ya awali, nimetoa tena matoleo yaliyorahisishwa ya michezo maarufu zaidi ya kawaida, kwa njia ya Arduino wazi na vifaa vingine vichache. Baadaye nilijiunga na watano wao pamoja katika mchoro mmoja. Hapa nitaonyesha jinsi unaweza kujenga koni rahisi ambayo inaweza kucheza Pong, Breakout, Bomber, Tetris na toy ya kuchora iliyoongozwa na Etch-a-Sketch. Kiweko hiki kinaweza kutumiwa pia kucheza Nyoka, na michezo mingine miwili iliyoandikwa na waandishi wengine: Bit Ninja na Sandro Maffiodo aka "Smaffer" na Stacker na Nikita Kurylev.

Kipengele kuu ni kizazi cha ishara ya VGA, shukrani kwa maktaba ya VGAx, kwa hivyo kontena inahitaji mfuatiliaji wa VGA. Lengo langu, kama kawaida, ni kuzuia "sehemu maalum" kuijenga, hauitaji basi IC au ngao yoyote inayounga mkono! Vipengele pekee ni potentiometers mbili, vifungo vitano, vipinga vichache na kontakt DSUB15 (VGA). Spika ya piezo ni ya hiari. Unaweza kuona jinsi michezo hii inavyoonekana kwenye picha kwenye ukurasa huu.

Maktaba ya VGAx inaruhusu kutumia rangi nne na azimio la saizi 120 x 60, sio nyingi lakini za kutosha kwa koni hii ya mchezo wa retro. Mchoro ni mbichi lakini, shukrani kwa matumizi ya potentiometers, michezo huendesha vizuri. Athari rahisi za sauti zinapatikana pia.

Hatua ya 1: Jinsi ya Kuunda Dashibodi yako ya Arduino VGA

Jinsi ya Kuunda Dashibodi yako ya Arduino VGA
Jinsi ya Kuunda Dashibodi yako ya Arduino VGA
Jinsi ya Kuunda Dashibodi yako ya Arduino VGA
Jinsi ya Kuunda Dashibodi yako ya Arduino VGA

Kwanza pakua ArduinoVGAgame.ino na / au nambari za Snake.ino chini ya ukurasa huu na unakili kwenye PC yako kwenye saraka iliyo na jina moja. Pakua maktaba ya VGAx kutoka kwa kiunga hiki kwenye GitHub. Njia rahisi ni kunakili katika kijitabu cha programu ya Arduino iitwayo "maktaba", ili kutambuliwa mara moja.

MUHIMU: maktaba hii inafanya kazi kwa Arduno IDE 1.6.4 lakini haiendani kabisa na mzee au matoleo mapya.

Pakia nambari kwenye bodi yako ya Arduino (nilijaribu Uno na Nano). Onyo kwa kumbukumbu ya chini ni kawaida. Ikiwa huna makosa mengine kila kitu ni sawa na unaweza kuanza kujenga kiweko chako mara moja.

Kwa hili unahitaji:

  • Arduino Uno Rev. 3 au Arduino Nano 3.x (ATmega328)
  • Kiunganishi cha DSUB15, i.e.kontakt wa kike wa VGA au kebo ya VGA kukatwa.
  • vipinga: 2 x 68 Ohm na 2 x 470 Ohm na 5 x 1 hadi 2 kOhm
  • mbili kOhm potentiometers zenye mstari (maadili sawa ni sawa pia)
  • vifungo vitano
  • kipande cha kebo
  • sanduku moja au mbili nzuri kuweka vifaa vyote.

Ufundi:

  • ubao wa mkate au ubao wa kuvua
  • mzungumzaji wa piezo

Mpangilio umeripotiwa juu ya hatua hii, pamoja na mfano wa "koni" iliyomalizika.

skimu inaonyesha jinsi ya kuunganisha kitufe na potentiometer. Hasa haswa, unahitaji kuunganisha vifungo vitano kwenye pini 5, 10, 11, 12 na 13 mtawaliwa. Kitendo kinachofanywa na kila kifungo kimeelezewa kwenye jedwali la juu kulia katika skimu. Kushoto inaonyeshwa jinsi ya kuunganisha potentiometer (unahitaji potentiometers mbili kwa pini A1 na A2). Spika lazima iunganishwe na pini ya Analog A0.

Niliweka bodi ya Arduino na kiunganishi cha VGA kwenye sanduku la kuni, ambalo pia linashikilia kitengo cha kwanza cha mchezaji na vifungo vinne, wakati mchezaji wa pili potentiometer na kitufe chake cha kuanza ziko kwenye sanduku tofauti na dogo.

Ikiwa unapenda toy hii na unaamua kuizaa tena, nashukuru ukiandika maoni au kutuma picha kwenye sehemu ya maoni hapa chini.

Hatua ya 2: Michezo Kutoka kwa Waandishi Wengine

Sandro Maffiodo hivi karibuni amechapisha mchezo wa BitNinja. Youn unaweza kupata habari zaidi hapa na kupakua nambari hapa.

Ili kutumia koni yangu, lazima ubadilishe kitufe katika nambari yake kama ifuatavyo:

#fafanua BTN_UP 11 (badala ya 13)

#fafanua BTN_LEFT 10 (badala ya 12)

#fafanua BTN_RIGHT 12 (badala ya 11)

Stacker, kutoka kwa Nikita Kurylev, inapatikana hapa. Habari zaidi hapa.

Tena, lazima urejeshe kitufe kimoja, katika sehemu tofauti ya nambari: badala tu ya digitalRead (2) na digitalRead (13)

Hatua ya 3: Kiambatisho 1: Maelezo zaidi juu ya Jinsi ya Kuunda Watawala

Kiambatisho 1: Maelezo Zaidi Kuhusu Jinsi ya Kujenga Watawala
Kiambatisho 1: Maelezo Zaidi Kuhusu Jinsi ya Kujenga Watawala
Kiambatisho 1: Maelezo Zaidi Kuhusu Jinsi ya Kujenga Watawala
Kiambatisho 1: Maelezo Zaidi Kuhusu Jinsi ya Kujenga Watawala
Kiambatisho 1: Maelezo Zaidi Kuhusu Jinsi ya Kujenga Watawala
Kiambatisho 1: Maelezo Zaidi Kuhusu Jinsi ya Kujenga Watawala
Kiambatisho 1: Maelezo Zaidi Kuhusu Jinsi ya Kujenga Watawala
Kiambatisho 1: Maelezo Zaidi Kuhusu Jinsi ya Kujenga Watawala

Unaweza kutambua mtawala kwa njia nyingi tofauti, kulingana na nyenzo zinazopatikana na ladha yako.

Ninapenda kuwatambua na masanduku ya kuni (angalia picha kwenye ukurasa huu). Sanduku kuu la Arduino, kontakt VGA na vifungo vya mchezaji wa kwanza na potenziometer; ya pili (ndogo) moja tu kwa kitufe cha mchezaji wa pili na gurudumu (inahitajika kwa Pong na toy ya kuchora). Uwezekano mwingine ni kuweka kila kitu kwenye sanduku moja kubwa.

Kwanza ninakubali kuunganisha bandari ya VGA. Katika picha ya kwanza na ya pili unaweza kuona maelezo kadhaa: kumbuka vipikizi viwili vya 470 Ohm kwa Nyekundu na Kijani vimeunganishwa na pini 6 na 7 mtawaliwa, na mbili 68 Ohm kwa pini 3 na 9 kwa ishara ya usawa na wima ya maingiliano.

Unaweza kuchagua mchanganyiko tofauti wa rangi kulingana na pini ambazo unaunganisha kwenye kiunganishi cha VGA DSUB15, pini 1, 2 na 3 zinawakilisha Nyekundu, Kijani, Bluu (RGB) mtawaliwa. Niliunganisha pini 1 na 2, kwa hivyo nina mchanganyiko wa rangi ufuatao: (0, 0) = nyeusi; (1, 0) = nyekundu; (0, 1) = kijani; (1, 1) = manjano.

Kwa uwezekano wote tofauti, ninashauri kusoma maelezo kwenye ukurasa ambapo unapakua maktaba za VGAx.

Mara tu kiunganishi cha VGA kiko tayari, unaweza kuandaa nyaya zingine zote kwa vifungo, magurudumu na spika (angalia picha 2).

Sasa weka kila kitu pamoja: kumbuka kuwa kila pini ya kitufe inahitaji kuwa kiunganishi chini kupitia kipinga 1 au 2 kOhm, vinginevyo wakati kifungo kinafunguliwa hali ya pini inaweza kuwa isiyojulikana. Hii inamaanisha kuwa ikiwa pini imeachwa imekatika unaweza kuwa na voltage ya kawaida (tuli) juu yake inayoweza kuiwasha. Tazama deteils zaidi ya mpango katika hatua ya pili ya hii inayoweza kufundishwa.

Hatua ya mwisho ni kurekebisha kila kitu mahali. Nilitumia bunduki ya moto-gundi, lakini unaweza kutumia njia unayopendelea.

Hatua ya 4: Kiambatisho 2: Baadhi ya Mazingatio juu ya Kikomo cha Kumbukumbu

Inashangaza kwamba Arduino rahisi inaweza kutoa ishara ya VGA na michezo hii yote pamoja. Shingo la chupa halisi ni ukosefu wa SRAM. Mdhibiti mdogo wa AVR ana baiti 2048 tu za kuhifadhi na kudhibiti vigeuzi, na maktaba ya VGAx huhifadhi vigeuzi vya skrini katika fremu ya saizi 120x60 ambapo kila pikseli inahitaji bits 2 (rangi 4), kwa jumla ya ka 1800. Hii inamaanisha kuwa kuna baiti 248 tu zilizobaki kwa vigeuzi vya mchoro. Kwa kuongezea, kwa uzoefu wangu, mtu anapaswa kuacha angalau ka 100 bure ili kuepusha hali mbaya. Kutumia zaidi ya ka 1950 za kumbukumbu zenye nguvu, mdhibiti mdogo huanza kuonyesha tabia isiyo ya kawaida na isiyotabirika.

Hii inamaanisha kuwa vigeuzi vyote vinapaswa kugawanywa kati ya michezo tofauti, na hii inafanya nambari isome kabisa na kuwa ngumu kusuluhisha. Sio tu suala la "kuongeza mchezo mpya" kwenye mchoro uliopita, lakini nambari yote lazima ibadilishwe sana na kuboreshwa.

Kwa kuongezea, ilibidi nitumie fomati inayowezekana ya kutofautisha: kwa mfano, kwa kuratibu zote nililazimika kutumia "byte" badala ya "int" au, katika hali zingine, ilibidi nipende "int" badala ya "kuelea".

Mwishowe, kujua kwangu huenda kwa Sandro Maffiodo aka Smaffer, muundaji wa maktaba ya VGAx na mchezo wa kushangaza wa BitNinja. Bila maktaba hii, mradi huu haungeweza kutimizwa.

Asante pia kwa Nikita Kurylev kwa Stacker rahisi lakini ya kuchekesha ya mchezo.

Ilipendekeza: