Satura rādītājs:

Mastermind Zvaigžņu kari ar Arduino MEGA: 5 soļi (ar attēliem)
Mastermind Zvaigžņu kari ar Arduino MEGA: 5 soļi (ar attēliem)

Video: Mastermind Zvaigžņu kari ar Arduino MEGA: 5 soļi (ar attēliem)

Video: Mastermind Zvaigžņu kari ar Arduino MEGA: 5 soļi (ar attēliem)
Video: SCAPE Mēneša filma - "Zvaigžņu kari: Pēdējie džedi" 2024, Novembris
Anonim
Mastermind Zvaigžņu kari ar Arduino MEGA
Mastermind Zvaigžņu kari ar Arduino MEGA
Mastermind Zvaigžņu kari ar Arduino MEGA
Mastermind Zvaigžņu kari ar Arduino MEGA
Mastermind Zvaigžņu kari ar Arduino MEGA
Mastermind Zvaigžņu kari ar Arduino MEGA

Šie ir dumpim nelabvēlīgi laiki. Lai gan Nāves zvaigzne ir iznīcināta, imperatora karaspēks izmanto bezmaksas aparatūru un Arduino kā slepenu ieroci.

Tā ir bezmaksas tehnoloģiju priekšrocība, un tās var izmantot jebkura persona (laba vai slikta).

Slēptā bāzē, kas atrodas uz planētas Anoat, viņi būvē 3D printeri, kas spēj atkārtot Imperial Destroyer.

Vienīgais risinājums, kā uzvarēt impēriju, ir tas, ka nemiernieku grupa, kuru komandē Lūks Skycuartielles un Obi-Wan Banzi, sakauj imperatora karaspēku un iegūst atslēgu, kas ļaus piekļūt slepenā ieroča iznīcināšanas plāniem.

Šī atslēga sastāv no 4 krāsām, un jums ir 10 mēģinājumi to atšifrēt. Ir tikai četri noteikumi:

  1. Krāsas var atkārtot
  2. Balta gaisma norāda, ka esat sasniedzis pareizo krāsu un pozīciju
  3. Violeta gaisma norāda, ka esat sasniedzis krāsu, bet ne pozīciju
  4. Ja nav gaismas, jūs neesat uzminējis krāsu vai pozīciju.

Jums jāsteidzas, jo otrā galējībā ļaunais Dārts Ballmers mēģinās iegūt atslēgu pirms jums. Tādā gadījumā jūs nevarēsiet uzzināt, kas tas ir, un jums nebūs piekļuves slepenā ieroča plāniem. Jūsu misija būs izgāzusies.

Mazais Padawan, lai spēks pavada tevi, lai atšifrētu atslēgu un tādējādi spētu glābt Galaktiku.

1. solis: materiāls

Materiāls
Materiāls

Materiāls, kas nepieciešams, lai izveidotu Mastermind Star Wars ar Arduino, ir sadalīts trīs daļās.

  • Galdniecība un kancelejas preces mājokļa realizācijai
  • Visas elektronikas sastāvdaļas, kabeļi un Arduino
  • Rīki

Sāksim ar galdniecību. Nepieciešams šāds materiāls:

  • 2 x MDF plātnes no 90x60
  • 1 x dārzeņu papīra lapa

Elektroniskajā daļā ir nepieciešams šāds materiāls:

  • 1 x NeoPixel Strip 5 metri
  • 1 x Arduino MEGA
  • 1 x kondensators 100 µF
  • 4 x pretestība 470 Ω
  • 5x melna poga
  • 5x balta poga
  • 1 x jauda 5V-5A
  • 1 x jauda 5V-2A

Visbeidzot, rīku daļā mēs izmantojām sekojošo:

  • Silikona lielgabals karsts
  • Lāzers CNC de MxN
  • Elektriskais metinātājs
  • Metinātāja skārds

2. solis: projektēšana

Dizains
Dizains
Dizains
Dizains
Dizains
Dizains

Viena no šī projekta svarīgākajām daļām ir korpusa dizains. Tas sastāv no 3 gabaliem, kas sagriezti ar lāzera griezēju.

Pamatne ir ņemta no 90x60 gabala MDF. Ņemiet vērā materiāla izmērus, jo jums būs nepieciešams pietiekami liels lāzera griezējs.

SVG failu var atrast šīs darbības beigās.

Augšējais vāks ir tas, kurā ir Zvaigžņu karu tematiskie zīmējumi, kā arī caurumi pogām un pikseļiem.

Tam ir tāda pati forma kā pamatnei.

Sānu sienas ir izgatavotas, izmantojot lāzergriešanas tehniku, ko sauc par iezāģējumu. Tas ļauj materiālam būt elastīgam. Lai novietotu sienas, daži gabali ir paredzēti kalpošanai.

Visbeidzot, katrai NeoPixel matricai ir režģis, kurā vienā pusē NeoPixel ir fiksēts, un, no otras puses, ir fiksēts augu papīrs, lai izkliedētu NeoPixel gaismu. Šeit jums ir visi SVG faili, lai tos varētu izgriezt un izgatavot pats.

3. darbība: elektroniskā montāža

Elektroniskā montāža
Elektroniskā montāža
Elektroniskā montāža
Elektroniskā montāža
Elektroniskā montāža
Elektroniskā montāža
Elektroniskā montāža
Elektroniskā montāža

Elektronikas montāžas pirmais posms bija 5 metru NeoPixel sloksnes sagriešana 8 sloksnēs pa 10 pikseļiem un 4 atsevišķi pikseļi katram spēlētājam. Kopumā 84 pikseļi vienam spēlētājam. No vienas puses, 10 sloksnes ir saliktas viena, kam seko otra, atstājot pietiekami daudz kabeļa, lai katra sloksne būtu paralēla dažiem milimetriem. Šī pikseļu matrica kalpos, lai parādītu katru spēli un rezultātu. 4 pikseļi parāda taustiņa četras krāsas, bet pārējie četri pikseļi parāda rezultātu. Atgādinu, ka rezultātā mums ir:

  • Ja pikselis ir balts, tā atrašanās vieta un krāsa ir bijusi veiksmīga.
  • Ja pikselis ir violets, krāsa ir pareiza, bet ne pozīcija.
  • Ja pikselis ir izslēgts, ne krāsa, ne novietojums nav pareizs.

Viena no mūsu pieļautajām kļūdām ir strāvas vadi un GND. Tas varēja būt vienkāršāk, bet mēs sapratām vēlāk. Datu kabelim ir jāievēro secība, jo pikseļu numerācija notiek no apakšas uz augšu.

No otras puses, mums ir 4 atsevišķi pikseļi, kas ir jāsavieno starp tiem. Šie pikseļi parādīs krāsu, kuru mēs izvēlamies ar pogām.

Sērijveidā savienots ar katru sloksni ir 470Ω rezistors, lai aizsargātu datus. Katras pikseļu joslas datu kabelis ir savienots ar digitālo tapu. Arduino MEGA atlasītās tapas ir 6, 7, 8 un 9.

Piemēram, 6 un 7 ir 1. spēlētājam un 8. un 9. spēlētājs 2. spēlētājam.

Mūsu izmantotās pogas ir arkādes mašīnu tipiskās pogas. Mēs domājām, ka viņi izskatīsies labi, un tā tas bija.

Var izmantot citas spiedpogas, taču jāņem vērā, ka, ja tās ir mazākas vai lielākas, pirms griešanas ar lāzera CNC ir jāmaina DXF fails.

Lai atšķirtu spēlētājus, dažas pogas ir baltas, bet citas - melnas.

Katram spēlētājam ir 4 pogas uz augšu un 1 poga uz leju. 4 augšējās pogas kalpo, lai izvēlētos katras taustiņa pozīcijas krāsu.

Apakšējā poga tiek izmantota, lai apstiprinātu, tas ir, tā nosūta atslēgu, lai tā parādītos pikseļu matricā, pārbaudot, vai krāsa un pozīcija ir bijusi veiksmīga.

Pirms visu salikšanas mēs pielodējām visus kabeļus. Tātad jums būs nepieciešams daudz kabeļu. Tas būs atkarīgs no spēles lieluma. Mūsu gadījumā tas ir bijis diezgan liels.

Piemēram, varat izmantot Ethernet kabeli, lai to atvērtu un ņemtu iekšējos kabeļus. Tas ir labs risinājums. Centieties, lai tie būtu pēc iespējas sakārtotāki, jo tad būs nepieciešams izveidot savienojumus ar Arduino MEGA, kā redzams elektriskajā diagrammā.

Tiklīdz jūs visi esat karavīrs pirms tā uzstādīšanas, jums tas ir jāizmēģina. Tas tiek pārbaudīts, jo, kad tas ir uzstādīts korpusā, tas tiks iestrēdzis ar karstu silikonu, un, ja tas neizdosies, tas būs sarežģīti, tad noņemiet to. Lai novietotu pikseļu matricas, ir izveidots režģis ar tādiem pašiem izmēriem kā vāka režģim, kur vienā pusē pikseļi ir iestrēdzis, bet otrā - augu papīrs.

Šis papīrs izkliedē katra pikseļa gaismu, radot daudz skaistāku efektu. Pēc tam šī struktūra pielīp augšējai daļai iekšpusē. Tas ir nedaudz sarežģīti, bet ar rūpību tiek sasniegts labs rezultāts.

Barošana ir bijusi nedaudz sarežģīta. Principā un, aplūkojot shēmu, mēs izmantojām tikai vienu lādētāju. Tomēr pēc pirmajiem testiem un NeoPixel patēriņa mēs redzējām, ka tam būs nepieciešami divi lādētāji.

Katrs pikselis var patērēt ne vairāk kā 60 mA. Ja mēs reizinām ar 168 pikseļiem, jūs saņemat aptuveni 10 A.

Lai gan tas būtu sliktākajā gadījumā. Programmēšanā mēs jau esam ņēmuši vērā, lai maksimāli nepalielinātu NeoPixel intensitāti.

Mēs pat nesasniedzam 50%, tāpēc ar 5V un 5A lādētāju ir vairāk nekā pietiekami.

No otras puses, Arduino MEGA ir atsevišķs lādētājs, ko var pievienot, izmantojot ligzdas savienotāju vai caur USB portu. Viens no iespējamiem uzlabojumiem būtu vienas sistēmas lādētājs.

4. solis: Spēļu programmēšana

Spēļu programmēšana
Spēļu programmēšana
Spēļu programmēšana
Spēļu programmēšana

Programmēšana tika veikta, izmantojot divas bibliotēkas: OneButton un Adafruit_NeoPixel.

OneButton bibliotēka ļauj vienkāršā veidā kontrolēt pogas ar pārtraukumiem.

Adafruit_NeoPixel bibliotēka ļāva mums ļoti vienkārši kontrolēt NeoPixel sloksni.

Programmēšana ir balstīta uz dažādiem stāvokļiem, kuros programmatūra var būt:

Spēles sākšana. Stāvoklis = 0

Šajā stāvoklī spēle tiek sākta, un abos spēlētājos ir gaismas secība, kas norāda, ka spēle sāksies. Šajā stāvoklī spiedpogas nereaģē.

Sākotnējais stāvoklis. Valsts = 1

Sākotnējā stāvoklī pagaidiet, līdz viens no diviem spēlētājiem veic dubultklikšķi uz apstiprinājuma pogas (piektā poga). Šī darbība ļaus sākt spēli.

Spēles sagatavošana. Valsts = 2

Spēles sagatavošanas stāvoklī visi mainīgie tiek atiestatīti un tiek sākta nejauša atslēgas krāsu izvēle.

Play stāvoklis = 3

Trešajā stāvoklī spēle sākas. Katrs spēlētājs ar pogām izvēlas atslēgu un apstiprina to, noklikšķinot uz apstiprinājuma pogas. Šis stāvoklis var beigties divos veidos: kad spēlētājs atklāj atslēgu vai kad abi spēlētāji patērē 10 mēģinājumus.

Viena uzvarētāja valsts = 4

Ja spēlētājs uzvar zaļo čeku, uz viņa dēļa tiks parādīta un uzvarētāja kombinācija un sarkanais krusts uz zaudētāja.

Izšķirta spēle. Valsts = 5

Neizšķirta rezultāta gadījumā uz neviena dēļa nekas netiek rādīts un uzvarētāju kombinācija uz abu spēlētāju dēļiem.

Neatkarīgi no tā, vai spēlē ir uzvarētājs vai neizšķirts, nākamais stāvoklis būs sākotnējais, kas gaida dubultklikšķi.

Visu kodu varat atrast zemāk. Vienīgais spāņu valodā:)

5. darbība: pārbaude un uzlabojumi

Spēle tiek pārbaudīta, spēlējot. Iepriekš redzamajā video varat redzēt pilnu spēli.

No šejienes mēs varam domāt par vairākiem uzlabojumiem, kurus var pievienot Mastermind Star Wars ar Arduino.

Tālāk es tos uzskaitīšu.

  • Lai varētu spēlēt pēc kārtas ar 10 mēģinājumiem abiem spēlētājiem. Kad spēlētājs izmēģina atslēgu, otrs spēlētājs redzēs spēli.
  • Individuāls spēles režīms, lai varētu spēlēt tikai viens cilvēks.
  • Režīms katrs ar savu atslēgu.
  • Iekļaujiet OLED ekrānu.
  • Visam lietojiet vienu lādētāju.
  • Pievienojieties NodeMCU ESP8266

Esmu pārliecināts, ka daudzi cilvēki nāks klajā ar daudziem uzlabojumiem. Es gaidu komentārus zemāk.

Un lai spēks ir ar jums.

Ieteicams: