Obsah:

Mastermind Star Wars s Arduino MEGA: 5 krokov (s obrázkami)
Mastermind Star Wars s Arduino MEGA: 5 krokov (s obrázkami)

Video: Mastermind Star Wars s Arduino MEGA: 5 krokov (s obrázkami)

Video: Mastermind Star Wars s Arduino MEGA: 5 krokov (s obrázkami)
Video: Приказ комиссара. Warhammer 40k 2024, December
Anonim
Mastermind Hviezdne vojny s Arduino MEGA
Mastermind Hviezdne vojny s Arduino MEGA
Mastermind Hviezdne vojny s Arduino MEGA
Mastermind Hviezdne vojny s Arduino MEGA
Mastermind Hviezdne vojny s Arduino MEGA
Mastermind Hviezdne vojny s Arduino MEGA

Toto sú nepriaznivé časy pre vzburu. Aj keď bola Hviezda smrti zničená, cisárske jednotky používajú bezplatný hardvér a Arduino ako tajnú zbraň.

To je výhoda bezplatných technológií, môže ich používať ktokoľvek (či už dobrý alebo zlý).

V skrytej základni umiestnenej na planéte Anoat stavajú 3D tlačiareň schopnú replikovať cisársky torpédoborec.

Jediným riešením, ako poraziť Impérium, je to, že skupina rebelov pod velením Luka Skycuartiellesa a Obi-Wana Banziho porazí cisárske vojská a získa kľúč, ktorý umožní prístup k plánom na zničenie tajnej zbrane.

Tento kľúč pozostáva zo 4 farieb a máte 10 pokusov na jeho dešifrovanie. Existujú iba štyri pravidlá:

  1. Farby je možné opakovať
  2. Biele svetlo znamená, že ste dosiahli správnu farbu a polohu
  3. Fialové svetlo naznačuje, že ste trafili farbu, ale nie pozíciu
  4. Ak nie je svetlo, neuhádli ste farbu ani polohu.

Musíte sa poponáhľať, pretože v opačnom extréme sa zlý Darth Ballmer pokúsi získať kľúč pred vami. V takom prípade nebudete môcť zistiť, čo to je, a nebudete mať prístup k plánom tajnej zbrane. Vaša misia zlyhá.

Malý Padawan, nech ťa sila sprevádza pri dešifrovaní kľúča, a tak dokáže zachrániť Galaxiu.

Krok 1: Materiál

Materiál
Materiál

Materiál potrebný na výrobu hry Mastermind Star Wars s Arduino je rozdelený na tri časti.

  • Tesárske a kancelárske potreby na realizáciu bývania
  • Komponenty, káble a Arduino pre všetku elektroniku
  • Nástroje

Začnime stolárstvom. Je potrebný nasledujúci materiál:

  • 2 x MDF dosky o rozmere 90x60
  • 1 x list zeleninového papiera

V elektronickej časti je potrebný nasledujúci materiál:

  • 1 x NeoPixel Strip 5 metrov
  • 1 x Arduino MEGA
  • 1 x kondenzátor 100 µF
  • 4 x odpor 470 Ω
  • 5 x čierne tlačidlo
  • 5 x biele tlačidlo
  • 1 x napájanie 5V-5A
  • 1 x výkon 5V-2A

Nakoniec sme v časti s nástrojmi použili nasledujúce:

  • Silikónová pištoľ horúca
  • Laserové CNC de MxN
  • Elektrická zváračka
  • Zváračský plech

Krok 2: Dizajn

Dizajn
Dizajn
Dizajn
Dizajn
Dizajn
Dizajn

Jednou z najdôležitejších častí tohto projektu je návrh bývania. Skladá sa z 3 kusov rezaných laserovou rezačkou.

Základňa je prevzatá z kusu 90 x 60 z MDF. Vezmite do úvahy rozmery materiálu, pretože budete potrebovať dostatočne veľkú laserovú rezačku.

Súbor SVG nájdete na konci tohto kroku.

Horný kryt je ten, ktorý obsahuje tematické kresby Hviezdnych vojen a tiež otvory pre tlačidlá a pixely.

Má rovnaký tvar ako základňa.

Bočné steny boli vyrobené metódou laserového rezania nazývanou kerf. Vďaka tomu je materiál flexibilný. Na umiestnenie stien boli niektoré kusy navrhnuté tak, aby slúžili ako sprievodca.

Nakoniec každá matica NeoPixel má mriežku, kde sú na jednej strane fixované NeoPixel a na druhej strane je pripevnený rastlinný papier, ktorý rozptyľuje svetlo NeoPixelu. Tu máte všetky súbory SVG, aby ste ich mohli rezať a vyrábať sami.

Krok 3: Elektronická montáž

Elektronická montáž
Elektronická montáž
Elektronická montáž
Elektronická montáž
Elektronická montáž
Elektronická montáž
Elektronická montáž
Elektronická montáž

Prvou fázou montáže elektroniky bolo rezanie pásu 5 metrov NeoPixelu na 8 pásov s 10 pixelmi a 4 oddelenými pixelmi pre každého hráča. Spolu 84 pixelov na hráča. Na jednej strane je zostavených 10 pásov, po ktorých nasleduje ďalší, a ponecháva dostatok kábla, aby bol každý pás rovnobežný s niekoľkými milimetrami. Táto matica pixelov bude slúžiť na zobrazenie každej hry a výsledku. 4 pixely zobrazujú štyri farby kľúča a ostatné štyri pixely ukazujú výsledok. Pripomínam vám, že v dôsledku toho musíme:

  • Ak je pixel biely, bola úspešná poloha a farba.
  • Ak je pixel fialový, farba je správna, ale nie poloha.
  • Ak je pixel vypnutý, farba ani poloha nie sú správne.

Jednou z chýb, ktorých sme sa dopustili, je napájacie vedenie a GND. Mohlo to byť jednoduchšie, ale neskôr sme si to uvedomili. Dátový kábel musí postupovať podľa poradia, pretože číslovanie pixelov prebieha zdola nahor.

Na druhej strane máme 4 samostatné pixely, ktoré je potrebné medzi nimi prepojiť. Tieto pixely nám ukážu farbu, ktorú vyberáme pomocou tlačidiel.

Sériovo na každý pásik je zapojený odpor 470Ω na ochranu údajov. Dátový kábel každého pásu pixelov je spojený s digitálnym kolíkom. Piny vybrané v Arduino MEGA sú 6, 7, 8 a 9.

Napríklad 6 a 7 sú pre hráča 1 a 8 a 9 pre hráča 2.

Tlačidlá, ktoré sme použili, sú typické tlačidlá arkádových automatov. Mysleli sme si, že budú vyzerať dobre a tak to aj bolo.

Môžu byť použité aj iné tlačidlá, ale treba vziať do úvahy, že ak sú menšie alebo väčšie, je potrebné súbor DXF pred rezaním pomocou laserového CNC upraviť.

Na rozlíšenie hráčov sú niektoré tlačidlá biele a iné čierne.

Každý hráč má 4 tlačidlá hore a 1 tlačidlo dole. Štyri horné tlačidlá slúžia na výber farby každej polohy kľúča.

Spodné tlačidlo slúži na validáciu, to znamená, že odošle kľúč, aby sa objavil v pixelovej matici s príslušným overením, či boli farba a pozícia úspešné.

Pred zostavením všetkého sme spájkovali všetky káble. Budete teda potrebovať veľa káblov. To bude závisieť od veľkosti hry. V našom prípade to bolo dosť veľké.

Môžete napríklad použiť ethernetový kábel a otvoriť vnútorné káble. Je to dobré riešenie. Pokúste sa ich usporiadať čo najskôr, pretože potom bude potrebné vykonať prepojenia s Arduino MEGA, ako vidíte na elektrickom diagrame.

Keď ste všetci vojakmi, pred montážou to musíte vyskúšať. Je testovaný, pretože keď je nainštalovaný v kryte, bude sa lepiť horúcim silikónom a ak zlyhá, bude to komplikované, potom ho zložte. Na umiestnenie pixelových matíc bola navrhnutá mriežka s rovnakými rozmermi ako mriežka veka, kde sú na jednej strane pixely uviaznuté a na druhej strane rastlinný papier.

Tento papier rozptyľuje svetlo každého pixelu a vytvára oveľa krajší efekt. Potom sa táto štruktúra prilepí k hornej časti vo vnútri. Je to trochu komplikované, ale s opatrnosťou sa dosiahne dobrý výsledok.

Kŕmenie bolo trochu komplikované. V zásade a pri pohľade na schému sme používali iba jednu nabíjačku. Po prvých testoch a spotrebe NeoPixel sme však videli, že to bude potrebovať dve nabíjačky.

Každý pixel môže spotrebovať maximálne 60 mA. Ak vynásobíme 168 pixelov, získate spotrebu asi 10 A.

Aj keď by to bolo v najhoršom prípade. Pri programovaní sme už brali ohľad na to, aby sme maximalizovali intenzitu NeoPixelu.

Nedosiahneme teda ani 50%, s 5 V a 5 A nabíjačkou je viac než dosť.

Na druhej strane má Arduino MEGA samostatnú nabíjačku, ktorú je možné pripojiť pomocou konektora jack alebo cez port USB. Jedným z možných vylepšení by bola jedna nabíjačka pre celý systém.

Krok 4: Programovanie hier

Programovanie hier
Programovanie hier
Programovanie hier
Programovanie hier

Programovanie sa vykonáva pomocou dvoch knižníc: OneButton a Adafruit_NeoPixel.

Knižnica OneButton umožňuje jednoduché ovládanie tlačidiel s prerušeniami.

Knižnica Adafruit_NeoPixel nám umožnila ovládať prúžok NeoPixel veľmi jednoduchým spôsobom.

Programovanie je založené na rôznych stavoch, v ktorých môže byť softvérový program:

Spustenie hry. Stav = 0

V tomto stave je hra spustená a u oboch hráčov je sled svetiel, ktoré naznačujú, že hra sa začne. V tomto stave tlačidlá nereagujú.

Počiatočný stav. Stav = 1

V počiatočnom stave počkajte, kým jeden z dvoch hráčov dvakrát klikne na potvrdzovacie tlačidlo (piate tlačidlo). Táto akcia umožní spustenie hry.

Príprava hry. Stav = 2

V stave prípravy hry sa vynulujú všetky premenné a spustí sa náhodný výber farieb pre kľúč.

Stav hry = 3

V stave 3 sa hra začína. Každý hráč si pomocou tlačidiel vyberie kľúč a potvrdí ho kliknutím na potvrdzovacie tlačidlo. Tento stav sa môže skončiť dvoma spôsobmi: keď hráč objaví kľúč alebo keď títo dvaja hráči spotrebujú 10 pokusov, ktoré majú.

Jeden víťazný štát = 4

Ak hráč vyhrá, na šachovnici sa mu zobrazí zelený šek, výherná kombinácia a červený kríž na porazení.

Viazaná hra. Stav = 5

V prípade nerozhodného výsledku nie je nič zobrazené na žiadnej tabuli a víťazná kombinácia na tabuliach oboch hráčov.

Či už je v hre víťaz alebo remíza, ďalším stavom bude počiatočný stav, ktorý čaká na dvojité kliknutie.

Celý kód nájdete nižšie. Jediná vec, ktorá je v španielčine:)

Krok 5: Testovanie a vylepšenia

Hra sa testuje hraním. Vo videu vyššie môžete vidieť kompletnú hru.

Odtiaľto môžeme myslieť na niekoľko vylepšení, ktoré je možné pridať k Mastermind Star Wars s Arduino.

Ďalej ich uvádzam.

  • Byť schopný hrať striedavo s celkovým počtom 10 pokusov pre týchto dvoch hráčov. Keď hráč vyskúša kláves, druhý hráč hru uvidí.
  • Individuálny herný režim, aby mohol hrať iba jeden človek.
  • Režim každý s jeho kľúčom.
  • Zahrňte obrazovku OLED.
  • Na všetko použite jedinú nabíjačku.
  • Pripojte sa k NodeMCU ESP8266

Som si istý, že veľa ľudí príde s mnohými vylepšeniami. Čakám na komentáre nižšie.

A nech je sila s vami.

Odporúča: