Sisukord:

Mastermind Star Wars koos Arduino MEGA -ga: 5 sammu (piltidega)
Mastermind Star Wars koos Arduino MEGA -ga: 5 sammu (piltidega)

Video: Mastermind Star Wars koos Arduino MEGA -ga: 5 sammu (piltidega)

Video: Mastermind Star Wars koos Arduino MEGA -ga: 5 sammu (piltidega)
Video: MF DOOM - Books of War (The Lost Chapters) ft. RZA, Jeru The Damaja, Guru, Talib Kweli, DMX 2024, November
Anonim
Mastermind Star Wars koos Arduino MEGA -ga
Mastermind Star Wars koos Arduino MEGA -ga
Mastermind Star Wars koos Arduino MEGA -ga
Mastermind Star Wars koos Arduino MEGA -ga
Mastermind Star Wars koos Arduino MEGA -ga
Mastermind Star Wars koos Arduino MEGA -ga

Praegu on mässuks ebasoodsad ajad. Kuigi Surmatäht on hävitatud, kasutavad keiserlikud väed tasuta riistvara ja Arduinot salarelvana.

See on tasuta tehnoloogiate eelis, iga inimene (kas hea või halb) saab neid kasutada.

Planeedil Anoat asuvas peidetud baasis ehitavad nad 3D -printerit, mis on võimeline imperaatorlikku hävitajat kopeerima.

Ainus lahendus impeeriumi alistamiseks on see, et Luke Skycuartiellesi ja Obi-Wan Banzi juhitud mässuliste rühm alistab keiserlikud väed ja saab võtme, mis võimaldab juurdepääsu salarelva hävitamise plaanidele.

See võti koosneb neljast värvist ja teil on 10 katset selle dešifreerimiseks. On ainult neli reeglit:

  1. Värve saab korrata
  2. Valge tuli näitab, et olete valinud õige värvi ja positsiooni
  3. Violetne tuli näitab, et olete tabanud värvi, kuid mitte positsiooni
  4. Kui valgust pole, pole te värvi ega asukohta ära arvanud.

Peate kiirustama, sest teises äärmuses püüab kuri Darth Ballmer võtme teie ette saada. Sellisel juhul ei saa te teada, mis see on, ja teil pole juurdepääsu salarelva plaanidele. Teie missioon on ebaõnnestunud.

Väike Padawan, olgu väega kaasas, et võti lahti mõtestada ja seega galaktikat päästa.

Samm: materjal

Materjal
Materjal

Arduinoga Mastermind Star Warsi tegemiseks vajalik materjal on jagatud kolmeks osaks.

  • Puusepatööd ja kirjatarbed eluaseme realiseerimiseks
  • Komponendid, kaablid ja Arduino kogu elektroonika jaoks
  • Tööriistad

Alustame puusepatöödest. Vajalik on järgmine materjal:

  • 2 x MDF plaati alates 90x60
  • 1 x köögiviljapaberi leht

Elektroonilises osas on vaja järgmist materjali:

  • 1 x NeoPixel Strip 5 meetrit
  • 1 x Arduino MEGA
  • 1 x kondensaator 100 µF
  • 4 x takistus 470 Ω
  • 5x must nupp
  • 5x valge nupp
  • 1 x toide 5V-5A
  • 1 x toide 5V-2A

Lõpuks kasutasime tööriistaosas järgmist:

  • Silikoonpüstol kuum
  • Laser CNC de MxN
  • Elektriline keevitaja
  • Keevitaja plekk

2. samm: disain

Disain
Disain
Disain
Disain
Disain
Disain

Selle projekti üks olulisemaid osi on korpuse kujundus. See koosneb 3 tükist, mis on lõigatud laserlõikuriga.

Alus on võetud MDF -plaadist 90x60 tükist. Võtke arvesse materjali mõõtmeid, kuna vajate piisavalt suurt laserlõikurit.

Selle sammu lõpus leiate SVG -faili.

Ülemine kaas on see, mis sisaldab Tähesõdade temaatilisi jooniseid ning auke nii nuppude kui ka pikslite jaoks.

Sellel on sama kuju kui alusel.

Külgseinad on valmistatud laserlõiketehnikaga, mida nimetatakse kerfiks. See võimaldab materjalil olla paindlik. Seinte paigutamiseks on mõned tükid kavandatud juhiks.

Lõpuks on igal NeoPixeli maatriksil ruudustik, mille ühel küljel on NeoPixel fikseeritud ja teiselt poolt taimne paber, mis hajutab NeoPixeli valgust. Siin on teil kõik SVG -failid, et saaksite neid ise lõigata ja valmistada.

3. samm: elektrooniline kokkupanek

Elektrooniline kokkupanek
Elektrooniline kokkupanek
Elektrooniline kokkupanek
Elektrooniline kokkupanek
Elektrooniline kokkupanek
Elektrooniline kokkupanek
Elektrooniline kokkupanek
Elektrooniline kokkupanek

Elektroonika kokkupaneku esimene etapp oli lõigata 5 -meetrine NeoPixeli riba 8 ribaks 10 pikslit ja 4 eraldi pikslit iga mängija jaoks. Kokku 84 pikslit mängija kohta. Ühelt poolt on 10 riba kokku pandud, millele järgneb teine, jättes piisavalt kaablit, et asetada iga riba mõne millimeetriga paralleelselt. See pikslite maatriks näitab iga esitust ja tulemust. 4 pikslit näitavad klahvi nelja värvi ja ülejäänud neli pikslit näitavad tulemust. Tuletan teile meelde, et selle tulemusena peame:

  • Kui piksel on valge, on selle asukoht ja värv olnud edukad.
  • Kui piksel on violetne, on värv õige, kuid mitte asukoht.
  • Kui piksel on välja lülitatud, pole värv ega asukoht õiged.

Üks meie tehtud vigu on toitejuhtmed ja GND. Oleks võinud lihtsam olla, aga mõistsime hiljem. Andmekaabel peab järgima järjekorda, kuna pikslite nummerdamine toimub alt üles.

Teisest küljest on meil 4 eraldi pikslit, mis tuleb nende vahel ühendada. Need pikslid näitavad meile värvi, mille me nuppudega valime.

Andmete kaitsmiseks on järjestikku ühendatud iga ribaga 470Ω takisti. Iga piksliriba andmekaabel on ühendatud digitaalse tihvtiga. Arduino MEGA -s valitud tihvtid on 6, 7, 8 ja 9.

Näiteks 6 ja 7 on mõeldud mängijale 1 ja 8 ning 9 mängijale 2.

Nupud, mida oleme kasutanud, on arkaadimasinate tüüpilised nupud. Me arvasime, et need näevad head välja ja nii see oli.

Võib kasutada ka teisi nuppe, kuid tuleb arvestada, et kui need on väiksemad või suuremad, tuleb DXF -faili enne laser -CNC -ga lõikamist muuta.

Mängijate eristamiseks on mõned nupud valged ja teised mustad.

Igal mängijal on 4 nuppu üles ja 1 nupp alla. Neli ülemist nuppu valivad klahvi iga positsiooni värvi.

Alumist nuppu kasutatakse valideerimiseks, see tähendab, et see saadab võtme pikslimaatriksisse ilmumiseks koos asjakohase kontrollimisega, kas värv ja asukoht on õnnestunud.

Enne kõike kokku panime, jootsime kõik kaablid. Nii et teil on vaja palju kaablit. See sõltub mängu suurusest. Meie puhul on see olnud üsna suur.

Näiteks saate selle avamiseks ja sisemiste kaablite võtmiseks kasutada Etherneti kaablit. See on hea lahendus. Proovige need võimalikult korrastada, sest siis on vaja ühendused Arduino MEGA -ga luua, nagu näete elektriskeemil.

Kui olete enne paigaldamist kõik sõdur, peate seda proovima. Seda testitakse, sest kui see on korpusesse paigaldatud, jääb see kuuma silikooniga kinni ja kui see ebaõnnestub, on see keeruline, siis eemaldage see. Pikslimaatriksite paigutamiseks on kujundatud ruudustik, mis on samade mõõtmetega kui kaane võre, kus ühel küljel on pikslid kinni ja teisel küljel taimne paber.

See paber hajutab iga piksli valgust, andes palju ilusama efekti. Seejärel kleepub see struktuur selle ülemise osa külge. See on natuke keeruline, kuid hoolikalt saavutatakse hea tulemus.

Toitumine on olnud mõnevõrra keeruline. Põhimõtteliselt ja skeemi vaadates kasutasime ainult ühte laadijat. Pärast esimesi katseid ja NeoPixeli tarbimist nägime aga, et selleks kulub kaks laadijat.

Iga piksel võib tarbida maksimaalselt 60 mA. Kui korrutada 168 piksliga, saate umbes 10 A.

Kuigi see oleks halvimal juhul. Programmeerimisel oleme juba arvestanud, et mitte maksimeerida NeoPixeli intensiivsust.

Me ei jõua isegi 50% -ni, seega on 5V ja 5A laadijaga enam kui piisav.

Teisest küljest on Arduino MEGA -l eraldi laadija, mida saab ühendada pistikupesa või USB -pordi kaudu. Üks võimalik parandus oleks kogu süsteemi jaoks ühe laadija olemasolu.

4. samm: mängu programmeerimine

Mängu programmeerimine
Mängu programmeerimine
Mängu programmeerimine
Mängu programmeerimine

Programmeerimine on tehtud kahe teegi abil: OneButton ja Adafruit_NeoPixel.

OneButtoni teek võimaldab katkestustega nuppe lihtsal viisil juhtida.

Adafruit_NeoPixeli raamatukogu on võimaldanud meil NeoPixeli riba juhtida väga lihtsal viisil.

Programmeerimine põhineb erinevatel olekutel, kus tarkvara võib olla:

Mängu alustamine. Olek = 0

Selles olekus mäng käivitatakse ja mõlemal mängijal on tulede jada, mis näitab mängu algust. Selle oleku ajal nupud ei reageeri.

Esialgne olek. Osariik = 1

Esialgses olekus oodake, kuni üks kahest mängijast topeltklõpsab kinnitusnupul (viies nupp). See toiming võimaldab mängu alustada.

Mängu ettevalmistamine. Osariik = 2

Mängu ettevalmistamise ajal lähtestatakse kõik muutujad ja käivitatakse võtme värvide juhuslik valik.

Esitusolek = 3

Olekul 3 mäng algab. Iga mängija valib nuppudega võtme ja kinnitab selle, klõpsates kinnitusnupul. See olek võib lõppeda kahel viisil: kui mängija avastab võtme või kui kaks mängijat tarbivad 10 katset, mis neil on.

Üks võitjariik = 4

Kui mängija võidab rohelise tšeki, kuvatakse tema laual ja võidukombinatsioon ning kaotajale punane rist.

Tasavägine mäng. Osariik = 5

Võrdse tulemuse korral ei näidata midagi ühelgi laual ja võidukombinatsiooni mõlema mängija laual.

Ükskõik, kas mängus on võitja või viik, on järgmine olek topeltklõpsu ootav esialgne.

Kogu koodi leiate altpoolt. Ainus asi, mis on hispaania keeles:)

Samm: testimine ja täiustamine

Mängu testitakse mängides. Ülaltoodud videol näete täielikku mängu.

Siit võime mõelda mitmele täiustusele, mida saab Arduinoga Mastermind Star Warsile lisada.

Järgmisena loetlen need.

  • Et oleks võimalik mängida kordamööda kahe mängija jaoks kokku 10 katsega. Kui mängija proovib võtit, näeb teine mängija mängu.
  • Individuaalne mängurežiim, nii et mängida saab ainult üks inimene.
  • Režiim igaüks oma võtmega.
  • Kaasa OLED -ekraan.
  • Kasutage kõige jaoks ühte laadijat.
  • Ühendage NodeMCU ESP8266 -ga

Olen kindel, et paljud inimesed pakuvad palju parandusi. Ootan allpool olevaid kommentaare.

Ja olgu jõud teiega.

Soovitan: