Tartalomjegyzék:

Space Invaders Clock (költségvetésből!): 6 lépés (képekkel)
Space Invaders Clock (költségvetésből!): 6 lépés (képekkel)

Videó: Space Invaders Clock (költségvetésből!): 6 lépés (képekkel)

Videó: Space Invaders Clock (költségvetésből!): 6 lépés (képekkel)
Videó: PS1 STORIES - 2999 Game Kids (2999年のゲーム・キッズ) (Playstation Comic) (渡辺浩弐) (Koji "Kozy" Watanabe) 2024, Július
Anonim
Image
Image
Gyűjtse össze az alkatrészeket
Gyűjtse össze az alkatrészeket

Nemrég láttam egy jó konstrukciót a GeckoDiode -tól, és azonnal magam akartam megépíteni. Az Instructable a Space Invaders asztali óra, és javaslom, hogy nézze meg, miután elolvasta ezt.

A projekt szinte kizárólag az Adafruit -ból származó, 3D nyomtatott burkolattal és lézervágással ellátott részekkel épült. Mindent összeadni az építési költséggel nagyon költséges lesz! (körülbelül 100 font vagy több). A probléma az, hogy ha nem rendelkezik 3D nyomtatóval, fizetnie kell a modell nyomtatásáért, vagy vesz egy csúnya burkolatot az ebay -ről, amely gyakran csak egy kicsit túl kicsi, túl keskeny, rövid vagy éppen ellenkezőleg.

Az építéseim nagy részét hobbista költségvetésből kell elvégezni, és a házak mindig a legdrágább részek. Ezért úgy döntöttem, hogy ugyanazt az órát építem, de tisztességes költségvetéssel.

Ha szeretsz furcsa órákat nézni, nézd meg a Steampunk Voltmérő órámat, amely ugyanazokat az építőanyagokat használja a házhoz:-)

1. lépés: Gyűjtse össze az alkatrészeket

A projekt elkészítéséhez a következőkre lesz szüksége. Ne feledje, hogy a burkolat anyagaival rengeteg maradványa lesz, amelyeket más projektekben is felhasználhat (ami még olcsóbbá teszi a jövőbeli építkezések költségeit). Feltöltöttem a szükséges dokumentumok PDF -eit, ha meg szeretné nézni az árat stb. Az ebay -en.

Eszközök (feltételezem, hogy ezek már megvannak)

  • Forrasztópáka
  • Forrasztó
  • Forrasztópumpa (ha hibázik, és el kell távolítania a forrasztást)
  • Ragasztópisztoly
  • Forró ragasztórudak
  • Kézműves kés (más néven Stanley kés)
  • Vonalzó / mérőszalag / Vernier féknyereg
  • Akkus fúró + fúrószárak (1-13 mm)
  • Forgó multifunkciós szerszám vágótárcsával (más néven Dremel)
  • Tisztító folyadék, mint az izopropil-alkohol (olcsó borotválkozás utáni is működik)
  • Biztonsági maszk (spray -festéskor használatos)

Elektronika (az elektronika költsége = £ 13.05)

Ezek közül néhányat ingyen kaptam. A régi elektronikus játékokban ezek a szép Mylar hangszórók vannak, ha szétszeded őket. Amíg ott van, valószínűleg kap egy DC csövet és egy nyomógombot is.

  • Dupont / Jumper kábelek - £ 0.99
  • DS1307 Valós idejű óra modul - 0,99 £ (azt javaslom, hogy a DS3231 -et szerezze be, ahol elérhető)
  • Arduino nano + USB kábel - 2,23 font
  • 8 ohmos Mylar hangszóró - 0,99 £
  • SPST pillanatnyi nyomógomb - 1,49 £
  • 5,5 mm -es DC hordó foglalat - 1,26 £
  • 5V, 0,5A DC tápegység - 2,83 £
  • MAX7219 Pontmátrix kijelző - £ 3.76

Ház (a burkolat anyagainak költsége = £ 17.19)

  • 60 mm -es négyzet alakú leeresztő cső - £ 5.99 (ebből rengeteg marad a további projektekhez)
  • Fekete spray festék - £ 4.85
  • Fekete PVC (habszivacs) - £ 2.99
  • Szuper ragasztó - 0,99 £
  • 60 mm -es zárósapka - 2,37 £

Teljes költség = £ 30,24:-) …….. mára ez a nemzetközi dollárnak megfelelő 38 USD.

Szívesen dolgozom a négyzet alakú PVC csővel. Könnyen fúrhatók, vághatók, festhetők, és egyet használtam a Steampunk órámhoz.

2. lépés: Készítse elő a leeresztő csövet

Készítse elő a leeresztő csövet
Készítse elő a leeresztő csövet

Jelölje meg, hol szeretné elhelyezni a dolgokat

Ez olyan könnyű volt. Nem használtam semmi divatosat. Először vágtam le a 2,5 m hosszúságot ésszerű méretre az otthoni padomhoz (kb. 30 cm) hack fűrésszel. Később ezt levágtam egy dremellel, hogy a szélei szépek és egyenesek legyenek. Ezután pihentettem az alkatrészeket a cső felületén, és állandó piaccal jelöltem meg, hogy hol akarok fúrni és vágni. Körbejártam a LED-mátrix külsejét, és egy forgó multifunkciós szerszámmal négyzet alakú lyukat vágtam, hogy simára illeszkedjen. Digitális tolómérővel mértem a nyomógomb és az egyenáramú cső átmérőjét, hogy kivágjam a megfelelő méretű lyukakat hátul és felül.

Vágjon egy keretet

Rengeteg PVC hablapot helyezek el a korábbi projektekből. Kiválóan alkalmasak áramkörök házakba szereléséhez, epoxi keveréséhez, és más bitek és bobok készítéséhez. Vegyünk egy A4 vagy A5 méretű darabot, és vágjunk négyzet alakú 5 mm -es keretet vagy keretet a LED -mátrix keretére. Ez elrejti az esetleges peremeket, amelyeket a mátrix négyzetes lyukának vágásakor készített. Ehhez rajzoltam egy kis sablont az Inkscape -re és kinyomtattam (SVG fájl csatolva). Ezután ragasztószalaggal leragasztottam a hablapra, és óvatosan körbevágtam egy kézműves késsel. Bonyolult jobbra fordulni, azt javaslom, hogy először vágja le a belső részt, majd a külsőt.

Mindent befest

Miután az összes lyukat kifúrták és kivágták, távolítsa el az esetleges égetett széleket. Tisztítsa meg a felületeket alkoholos törlőkendővel, hogy eltávolítsa a port vagy szennyeződést (vagy néhány olcsó borotválkozás utáni borotválkozást, ha nincs IPA). Próbálja meg permetezni jól szellőző helyen, és ahol lehetséges, használjon maszkot. Ezt kint csináltam egy kartonpapírral a padlón, de ez nem ideális, még egy kis szellő miatt a festék visszarepülhet az arcodba. Legyen óvatos és lehetőleg viseljen védőfelszerelést.

Permetezze be a csövet, a keretet és a zárósapkákat, hogy mindegyik azonos típusú fekete legyen, majd hagyja néhány órán át száradni.

Lépés: Programozza be az Arduino programot

Programozza be az Arduino programot
Programozza be az Arduino programot

Néhány információ a kódról

Köszönjük a GeckoDiode -nak, mivel elvettem a kódját, és úgy módosítottam, hogy működjön a MAX7219 Chip -el. Az Adafruit verzió I2C buszt, a MAX pedig SPI buszt használ. Ehhez a MaxMatrix könyvtárat használtam, amelyet letöltöttem és telepítettem az Arduino IDE -be. Ha többet szeretne megtudni a MaxMatrixről és arról, hogyan működik a LED mátrix, akkor egy nagyon rövid oktatóanyag található a HowToMechatronics.com webhelyen. A LED mátrix kizárólag egyszínű LED-ekből áll, nem pedig többszínű kijelzővel.

Az egyik csalódásom az volt, hogy NINCS egyértelmű definíció arra vonatkozóan, hogy mi a funkciója a könyvtárnak, és milyen érveket kell átadni mindegyiknek. Szerencsére sikerült kipróbálni, hogy mit csinált próbával és tévedéssel, és végül nem volt túl nehéz elérni, hogy megfelelően működjön. Az első dolog, amit meg kell értenie, hogy meg kell határoznia, hány 8x8 modul van a mátrixban. A kódomban ezt egy "modulok" nevű egész számban tárolják, így:

"int modulok = 4;"

Ez a NUMBER 8x8 modul, amelyeket összekapcsolt a kijelzőn. Nem a LED -ek száma vagy az, hogy milyen tűt használ a küldési adatokhoz. A következő dolog, amit emlékeznie kell, hogy ha a "sprite" vagy bármi lefedi mind a négy mátrixot, akkor a bájt tömböt a következőképpen kell meghatározni:

"byte text_start_bmp = {32, 8,…*néhány bájt adat*…};"

A számok a mátrixban lévő sorok és oszlopok számát jelzik. Ebből az alkalomból a "text_start_bmp" nevű bájt 32 oszlopban és 8 sorban jelenik meg. A számok csak egyetlen 8x8 mátrixon jelennek meg, így a 10 -es percszám így néz ki:

"byte minute_ten_bmp = {8, 8,…*néhány bájt adat*…};"

A betolakodók két mátrixot fednek le, így a bájt 16, 8 -at kap a bájtadatokban.

A másik dolog, ami megfogott, a sprite adatok pozicionálása volt. Megkérheti az Arduino -t, hogy jelenítse meg a sprite -et az alapértelmezett alaphelyzettől eltérő X/Y pozícióban a mátrixon. A nulla perc kódja így néz ki:

"matrix.writeSprite (8, 0, minute_zero_bmp);"

Az egyik szám X kiigazítás, a másik az Y. Nem emlékszem, melyik most, de ha fel akarja vagy felfelé szeretné bökni a sprite -t 1 sorral vagy oszloppal, egyszerűen növelje a számot pozitív vagy mínusz értékkel. Elég egyszerű 8x8 mátrixhoz, de ha a sprite egynél több mátrixot takar, akkor ennek megfelelően kell beállítani a kezdő pozíciót. A "POP" sprite az alábbiakban látható:

"matrix.writeSprite (16, 0, invader_pop_bmp);"

Most vegye észre, hogy a kezdő pozíció 16, nem 8? Itt a kód azt jelzi, hogy a sprite balról jobbra jelenik meg a 16. pozíció sorból/oszlopból. Két 8x8 -as kijelzőt egyetlen 16x8 -as kijelzőnek tekint, annak ellenére, hogy 4 van! Ezért fontos átgondolni, hogy a sprite hány kijelzőn fog megjelenni, és ennek megfelelően méretezni az egyes sprite bájt tömbjeit. Különben nagyon érdekes sprite lesz!

DS1307 RTC

Bár a DS1307 jól működik az Adafruit RTClib.h könyvtárral, manuálisan nem állíthatja be az időt, ami csak fájdalom. Csak azért mentem ezzel, mert kevesebb kódot kellett megváltoztatni. A DS1307 az időt a dátum és a dátum alapján állítja be, amikor a kódot összeállították a számítógépek idejéből. Ehelyett tanulja meg a DS3231 könyvtár használatát, és állítsa be egyszer, egy -két percre előre. Ezenkívül kevesebb "sodródása" van, így idővel jobban tartja az időt. Mindkét modul az I2C buszt használja, és úgy gondolom, hogy a DS3231 használható az RTClib.h -val, ha továbbra is használni szeretné.

Töltse fel a kódot

Ha elégedett a kóddal, töltse fel az Arduino -ba. Mellékeltem az Arduino vázlatomat megfontolás céljából.

4. lépés: Az elektronika összeszerelése

Elektronika összeszerelése
Elektronika összeszerelése

A kód feltöltése közben azt javaslom, hogy az elektronikát dupont/jumper vezetékekkel szereltesse össze először egy kenyérsütő táblán, így a kód feltöltésekor tudja, hogy minden rendeltetésszerűen működik. Ez lehetővé teszi, hogy kiküszöbölje a sprite stb. Megjelenítésével kapcsolatos problémákat, mielőtt elkezdené ragasztani és ragasztani. A kódomban látható, hogy a 4, 5, 6, 7, 9 digitális tűket használom, de szükség esetén módosíthatja ezeket. Lehet, hogy forrasztania kell a kábeleket a gombra, az egyenáramú aljzatra és a hangszóróra, de a legtöbbnek könnyen nyomható illesztésű csatlakozónak kell lennie.

Ha elégedett az elektronika rendeltetésszerű működésével, fontolja meg a csatlakozók forrasztását. Ezt megteheti réz szalaglemezzel/veroboarddal, de a kis mennyiségű alkatrészekhez közvetlenül az Arduino csapjaihoz forraszthat. Úgy fog kinézni, mint egy patkányfészek, de összerakás után senki sem látja a ház belsejét, csak győződjön meg arról, hogy az összes fém alkatrész el van választva, és nem akarja, hogy bármi kimaradjon a tokból.

A nyomógombot működésbe hoztam, amikor a "mainButton" csap le van húzva. Azt találtam, hogy az Arduino felismeri a hamis nyomógombot, amikor lebegő elektronika telepedik rá. A 10K lehúzható ellenállás használata a nyomógombon és a tű "INPUT_PULLUP" beállítása megoldotta ezt a problémát számomra.

A mellékelt rajz a PDF és-p.webp

5. lépés: Szerelje fel az elektronikát és közelről

Szerelje fel az elektronikát és közelről
Szerelje fel az elektronikát és közelről
Szerelje fel az elektronikát és közelről
Szerelje fel az elektronikát és közelről

Az órámhoz az elektronikát forró ragasztóval szereltem fel, de ügyeljen arra, hogy ne tegyen fel túl sokat (az elektronika nem szereti, ha túl sokáig melegszik). Egy kis csepp szuper ragasztót használtam a keret körül, és az előlaphoz nyomtam. A házat úgy fejeztem be, hogy mindkét végén benyomtam a zárósapkákat. Természetesen ragaszthatja a zárósapkákat, hogy teljesen lezárja a szerelvényt, de az egyik oldalamat nyitva hagytam, így továbbra is hozzáférhetek az arduino USB -portjához, hogy a jövőben visszaállítsam a dátumot és az időt.

6. lépés: Élvezze

Élvezd
Élvezd
Élvezd
Élvezd

Összességében elégedett vagyok a megjelenés módjával, tekintve, hogy ez csak egy csatornacső és festékszóró. Remélem tetszeni fog, és tudassa velem, ha eszébe jut valami hozzáillő frissítés. Érdekelne, hogy tud -e valaki olcsóbban ilyet készíteni, vagy van -e más takarékos módja annak, hogy egy házat kipróbálhassak a következő projektemben.

Ajánlott: