Obsah:
- Krok 1: Požadované materiály
- Krok 2: Budování matice LED
- Krok 3: Ovládání LED diod
- Krok 4: Připojení joysticku
- Krok 5: Programování hry
- Krok 6: Připojení vaší LED matice
- Krok 7: Vyřezání dýně
- Krok 8: Připevnění představce k joysticku
- Krok 9: Umístění LED a joysticku
- Krok 10: Hraní hry
Video: Pumpktris - dýně Tetris: 10 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
Kdo chce šklebící se tváře a svíčky, když můžete mít tento Halloween interaktivní dýni? Zahrajte si svou oblíbenou hru skládání bloků na mřížce 8x16 vytesané do tváře tykve, osvětlené LED diodami a používající stonek jako ovladač. Jedná se o mírně pokročilý projekt, který vyžaduje zkušenosti s pájením a programováním v prostředí Arduino. Budete pracovat s organickou hmotou a všemi jejími neodmyslitelnými zvláštnostmi, takže měření bude možná nutné upravit tak, aby odpovídala dýni, kterou používáte.
Krok 1: Požadované materiály
K vybudování vlastního Pumpktris budete potřebovat následující: Komponenty
- 128 5mm jantarových LED diod (použil jsem tyto od Mousera) Kupte si nějaké další, abyste zakryli případné chyby nebo testy. Mám 140. Amber se nejvíce podobá plameni, který by byl uvnitř tradiční jack-o-lucerny, ale můžete použít libovolnou barvu, která se vám líbí.
- Mikrokontrolér Arduino
- Smršťovací bužírky 1/16 "(11 stop nebo 256 1/2" dlouhé kusy)
- Arkádový joystick s odnímatelnou rukojetí (tento od SparkFun se mi osvědčil)
- 4 #6 nylonové sádrokartonové kotvy To není ten typ s přepínači, ale ten, který vypadá jako šrouby s hlubokými závity
- 4 půlpalcové dlouhé šrouby stejné velikosti a typu, které byly dodány s kotvami do sádrokartonu. Ty, které přicházejí s kotvami, budou příliš dlouhé.
- Šroub 6 mm x 50 mm (nebo jakákoli jiná velikost odpovídá držáku pro rukojeť joysticku)
- 6mm spojovací matice (nebo jakákoli velikost je nutná, aby odpovídala výše uvedenému šroubu) Spojovací matice vypadá jako běžná matice, ale je asi palec dlouhá a používá se ke spojení dvou šroubů nebo kusů závitové tyče.
A v neposlední řadě budete potřebovat 1 dýni. Potřebujete pouze jeden, ale doporučuji dva, abyste měli jeden, který můžete použít k procvičování vrtání a řezání. Vaše LED matice pokryje oblast přibližně 4 palce širokou a 8 palců vysokou, takže chcete dýni s oblastí, která je co nejhladší a nejrovnější, aby se vaše matice neobalila příliš daleko. Dalo by se použít pěnové dýně, ale kde je to kouzlo? Nemohu mluvit o řezbářských technikách potřebných na pěnové dýni. Nástroje a spotřební materiál
- Páječka
- Pájka
- Nůžky na drát
- Odstraňovače drátů
- Elektrická vrtačka
- Pilka na kov
- Nůž X-Acto
- Vrták 13/64"
- 1-1/8 "vrták (použil jsem Forstnerův bit, ale může fungovat i rýč)
- 1/4 "pěnová jádrová deska
Krok 2: Budování matice LED
Každá matice je vyrobena ze 64 LED diod a 128 kusů drátu. Je nejjednodušší předem odstřihnout a odizolovat všechny vodiče pro každou matici. Nakrájejte 112 na 2,5 “kousky a z každého konce odizolujte 1/4“. Rozřízněte zbývajících 16 kusů na 12 kousky a odizolujte oba konce. Čím důslednější můžete dosáhnout délky vodičů, tím snazší bude stavba a instalace.
Začnete tím, že postavíte šestnáct osm segmentových řetězců, každý se 7 krátkými a 1 dlouhým drátem. Otočte každý konec společně s dalším kusem a pájkou. K připojení vodičů k LED diodám budete potřebovat přípravek pro držení LED diod. Nakreslete mřížku 8x8 s roztečí půl palce na kus desky s pěnovým jádrem o tloušťce 1/4 "a poté pomocí šídla na každé křižovatce vypíchněte otvor o průměru o něco menším než LED. Budete mít 64 otvorů, když jste hotovi. Do horní řady otvorů vložte 8 LED diod. Pěnové jádro se natáhne tak, aby odpovídalo LED diodám a pevně je drží. Zarovnejte LED diody tak, aby na každé z nich směřovala delší noha-anodový přívod. Znovu zkontrolujte, protože pokud uděláte chybu, matice nebude fungovat. Uchyťte každý anodový kabel asi na 1/4 "dlouhý a pocínujte ho pájkou, aby bylo snazší připojit vodiče. Odřízněte 8 kusů teplem smrštitelných hadiček na segmenty 1/2 ". Kousek hadičky nasuňte na první drátové připojení, zatlačte jej zpět, aby na něj nemělo vliv teplo pájky, poté pájejte drátové připojení k LED anodě. Jakmile vychladne, nasuňte hadičku dolů po připojení. Pokračujte na další LED, opakujte ještě sedmkrát postup klouzání po kousku hadičky, pájení spoje a poté spuštění hadice přes spoj. Když máte sada osmi LED diod připojených k sobě, vyjměte je z přípravku a opakujte znovu pro dalších sedm řádků, přičemž zajistěte všechna připojení k anodovému vývodu každé LED diody. Můžete použít kteroukoli řadu přípravku, ke které je nejsnazší dosáhnout, protože pracujete vždy jen s jedním. Poté, co bylo pájeno všech osm řad, je čas spojit sloupce a vytvořit matici. Vložte všechny LED diody do vámi vytvořeného přípravku. Držte dlouhý drát na stejném Odřízněte a pocínujte katodový kabel každé LED v prvním sloupci hm, stejně jako ty jsi postavil řetězec. Vezměte další drátěný řetěz a opakujte proces jeho připájení k LED diodám, ale tentokrát jej připojíte o 90 stupňů k první sadě vodičů, kterou jste provedli. Udržujte dlouhý vodič na stejné straně matice. Když dokončujete každý sloupec, vyjměte jej z přípravku s pěnovým jádrem a sklopte jej tak, abyste měli přístup k dalšímu sloupci. Až budete hotovi, budete mít 64 LED diod spojených v 8 řadách a 8 sloupcích. U druhé matice bohužel musíte postup zopakovat. Pokud potřebujete přestávku, přejděte na kroky 3, 4 a 5, abyste na kódu pracovali, a pak se k tomu vraťte.
Krok 3: Ovládání LED diod
LED matice, které jste vyrobili, budou ovládány dvěma mini maticovými batohy Mini 8x8 od společnosti Adafruit. Každý řadič vám umožňuje řídit 64 LED diod pouze dvěma vodiči z Arduina a na stejných dvou vodičích můžete spojit více ovladačů dohromady. Při pájení 4pinové hlavičky napájení/dat/hodin postupujte podle pokynů dodaných s batohem LED Matrix. Poté místo pájení na LED matici, která je součástí balení, připájejte dvě řady samičích hlaviček k batohu. Připojte přiloženou mini LED matici do záhlaví. Připojte matici do prkénka a připojte ji následujícím způsobem:
- Připojte pin CLK na batohu k analogovému kolíku 5 na Arduinu.
- Připojte pin DAT k analogovému pinu 4 na Arduinu.
- Připojte GND k uzemňovacímu kolíku na Arduinu.
- Připojte VCC+ k napájení 5 V.
Stáhněte si knihovnu Adafruit LED Backpack a knihovny Adafruit GFX a nainstalujte je do svého počítače zkopírováním každé do složky „libraries“ve složce skic Arduino ve vašem počítači. Nahrajte soubor „matrix8x8“do svého Arduina a ověřte, zda batoh LED funguje. Kolíky matice LED nemusí mít dobrý kontakt v zásuvkách, takže budete muset kroutit nebo částečně odstranit, abyste navázali kontakt a nechali rozsvítit všechny řádky a sloupce. Opakujte postup s druhým LED batohem, ale tentokrát pro něj budete muset nastavit novou adresu pájením propojky přes podložky A0 na batohu. Znovu spusťte kód „matrix8x8“, ale změňte řádek „matrix.begin (0x70)“na „matrix.begin (0x71)“, aby kód adresoval nový LED batoh.
Krok 4: Připojení joysticku
Joystick by měl mít čtyři přepínače, každý se dvěma terminály. Pohybem joysticku doprava se spustí spínač vlevo, posunutím dolů se spustí spínač nahoře atd. Na jeden terminál každého spínače připájejte 3 "vodič. Otočte druhý konec všech čtyř těchto vodičů k sobě a připájejte je na 12" vodič. Toto je společný základ pro všechny čtyři přepínače. Pájejte 12 "vodič na zbývající svorku každého spínače a poté je připojte následujícím způsobem:
- Připojte spodní spínač (aktivovaný zatlačením nahoru) k analogovému pinu 0 na Arduinu.
- Připojte levý přepínač (aktivovaný při stisknutí doprava) k analogovému kolíku 1 na Arduinu.
- Připojte horní spínač (aktivovaný při stisknutí dolů) k analogovému kolíku 2 na Arduinu.
- Připojte pravý přepínač (aktivovaný při stisknutí doleva) k analogovému pinu 3 na Arduinu.
- Připojte společný zemnící vodič k uzemňovacímu kolíku na Arduinu.
Krok 5: Programování hry
Stáhněte si přiložený Pumpktris.ino.zip, rozbalte jej a otevřete soubor ve vývojovém prostředí Arduino. Zkompilujte a nahrajte do svého Arduina. Nyní byste měli být schopni hrát na mini LED matici, kterou jste nastavili v předchozím kroku. Snažil jsem se kód co nejvíce okomentovat, ale zde je obecný přehled hlavních procesů: Popis tvarů Existuje sedm tetrominos, každé se 4 pixely a každé se čtyřmi možnými rotacemi. To vše ukládáme do vícerozměrného pole: první dimenze se skládá ze sedmi tvarů, druhá dimenze obsahuje čtyři rotace pro každý tvar, třetí obsahuje popisy čtyř pixelů, z nichž každý se skládá ze souřadnic X a Y. Toto například popisuje tvar „T“:/ * T */ {/ * úhel 0 */ {{0, 1}, {1, 1}, {2, 1}, {1, 2}},/ * úhel 90 */ {{1, 0}, {1, 1}, {2, 1}, {1, 2}},/ * úhel 180 */ {{1, 0}, {0, 1}, {1, 1}, {2, 1}}, / * úhel 270 * / {{1, 0}, {0, 1}, {1, 1}, {1, 2}}}
Sledování aktivního dílu Aby byla zachována skladba, která je právě ve hře, program udržuje proměnnou activePiece. Toto je index aktivního tvaru na nejvyšší úrovni pole. Také uchovává proměnnou otáčení obsahující index aktuálního otáčení. Proměnná xOffset sleduje, jak daleko je každý kus doleva nebo doprava (0-7), a yOffset sleduje, jak daleko dolů (0-15) padla deska. Chcete -li nakreslit aktivní kus, program přidá hodnoty X a Y do souřadnic X a Y každého pixelu vytaženého z aktuálního otočení vybraného kusu. Sledování pevných kusů Program používá 16bajtové pole ke sledování pevných kusů, přičemž každý bajt představuje řádek. Níže uvedené pole by například představovalo tvar L sedící uprostřed dolních dvou řádků (jak ukazuje 1 s v posledních dvou bajtech): byte sampleGrid [16] = {B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00100000, B00111000}; Detekce kolize Když dojde k pokusu o přesunutí aktivního kusu, program nejprve zkontroluje novou polohu oproti poli pevných kusů. Pokud nedojde ke kolizi, tah je povolen a matice je překreslena. Pokud je při pokusu o pohyb doleva, doprava nebo otočení detekována kolize, je akce zakázána. Pokud je při pokusu o shození figurky detekována kolize, figurka se zafixuje na svém místě a přidá se do řady pevných pixelů. Automatické shazování figurek Tempo hry je řízeno proměnnými gravityTrigger a stepCounter. Každá smyčka programu zvyšuje stepCounter a pokaždé, když stepCounter dosáhne počtu uloženého v gravityTrigger, klesne aktivní kus o jednu úroveň. Jak hra postupuje, gravityTrigger se snižuje, takže aktivní figurka klesá stále častěji, až nakonec klesá v každé smyčce programu. Pokaždé, když je aktivní kus fixován do mřížky, program zkontroluje plné bajty/řádky (B11111111). Pokud nějaké najde, třikrát je zabliká a poté je odstraní a shodí řádky výše, aby zaplnil mezeru. hodnota předaná v řádcích "matrixTop.setRotation (1);" a/nebo "matrixBottom.setRotation (1);" ve smyčce „setup ()“. Pokud kusy začínají ve špatné matici, přepněte fyzické umístění každé matice nebo obraťte adresy deklarované v "matrixTop.begin (0x70);" a "matrixBottom.begin (0x71);" řádky smyčky „setup ()“. Pokud se některé řádky nebo sloupce nerozsvítí, kroutte mini LED maticí v hlavičkách. Možná nemají dobrý kontakt.
Krok 6: Připojení vaší LED matice
Když byly všechny kódy a ovládací prvky ověřeny, že fungují s mini LED maticemi, je na čase zapojit velké LED matice, které jste sami pájili.
Každý vodič byste mohli zapojit do záhlaví na maticovém batohu jednotlivě, ale pravděpodobně budete hodně zapojovat a odpojovat, takže by to mohlo být skutečné potíže. Místo toho chcete pájet každý vodič na pásek hlavičky a zapojit jej do maticového batohu. Pásy záhlaví jsem namontoval na kus prototypové desky, abych mohl zapojit a odpojit všech 16 pinů dohromady. Řádky 1-4 se připojují k pinům 1-4 na maticovém batohu (číslování pinů začíná vlevo nahoře, když se díváte dolů na batoh se 4pólovými piny napájení/země/data/hodiny nahoře). Sloupce 1-4 se připojují k pinům 5-8. Číslování pinů se obtáčí tak, že kolík 9 je vpravo dole. Řádky 5-8 se připojují k pinům 12-9 a sloupce 5-8 se připojují k pinům 16-13. Pro větší přehlednost viz diagram. Zapojte každou matici do batohu a spusťte stejný program „matrix8x8“, jaký jste udělali pro mini LED matice v kroku 4. Pokud každá funguje, můžete načíst herní program. Pokud to nefunguje, zkontrolujte, zda jsou řádky a sloupce velké matice LED zapojeny do správných kolíků batohu. Montáž LED matice do pěnového jádrového přípravku, který jste vyrobili pro montáž, může usnadnit testování celého systému.
Krok 7: Vyřezání dýně
Na dýni nedělejte žádné vyřezávání, dokud vám nefunguje veškerá elektronika. Vyřezávaná dýně má omezenou trvanlivost, a pokud ji nejprve vydlabete a poté strávíte 2 dny elektronikou, jsou to dva dny zábavy při hraní her, o kterou jste přišli.
Najděte na dýni nejplošší stranu, aby se váš LED panel příliš nezavinul, a poté na druhé straně vyřízněte otvor. Buďte velkorysí; budeš potřebovat prostor, abys tam mohl dostat ruce do práce. Nebudete řezat vrchol jako na tradiční dýni, protože to musí být ponecháno neporušené pro joystick. Pumpkin goo a elektronika nejsou nejlepší přátelé, proto dobře vyčistěte vnitřek. Pro nejlépe vypadající Pumpktris chcete, aby vaše mřížka LED byla rovná a dobře zarovnaná s dýní. Soubor PDF je připojen s roztečí 8 x 16, od sebe vzdálený půl palce. Vytiskněte si to (nebo si vytvořte vlastní s vlastní roztečí), ořízněte okraje a přilepte na přední část dýně. Ujistěte se, že je to přímo nahoru a dolů. Hřebíkem, párátkem nebo jiným podobným nástrojem vypíchněte do středu každé diody LED vyznačené na papíře pilotní otvor. Vrtání přímo do papíru se nedoporučuje, protože se pravděpodobně posune nebo roztrhne. Jakmile jsou všechny pilotní otvory vystrčené, vyjměte papírovou šablonu a pomocí vrtáku 13/64 vyvrtejte každou díru. Nevyrovnávejte vrták kolmo k líci dýně! Pokud to uděláte, zakřivení dýně může způsobit, že se otvory, které jsou od sebe vzdáleny půl palce, na vnitřní straně setkají a bude obtížné vložit LED diody. Místo toho se snažte udržet všechny otvory rovnoběžné. Až budou všechny otvory vyvrtány, nožem X-Acto rozřízněte čtvercový „pixel“kolem každého otvoru. Nakloňte nůž směrem ke středu každé díry a mezi pixely ponechte asi 1/8 palce. Doporučuji koupit cvičnou dýni a použít ji k zdokonalení techniky vrtání a vyřezávání pixelů. Zvládněte to tam, než využijete šanci zničit dokonalou dýni, kterou jste našli pro hotový výrobek.
Krok 8: Připevnění představce k joysticku
Nyní přizpůsobíte stonek, který bude použit jako joystick k ovládání hry.
Odřízněte stonek co nejblíže základně. Pokud řez není hladký a čistý, vyrovnejte jej brusným blokem. Vyvrtejte otvor 1-1/8 "přímo skrz základnu stonku a do dýně. Odšroubujte kuličku joysticku a zarovnejte hřídel se středem otvoru z vnitřní strany dýně. Ujistěte se, že přední část joystick je hranatý s přední stranou dýně-při hraní chcete tlačit doleva a doprava, abyste pohybovali figurkami, ne šikmo. Když je střed a hranatý, pomocí hřebíku nebo párátka vypíchněte otvory do vnitřku dýně nad montážními otvory v základně joysticku. Demontujte joystick. Pomocí řezaček drátu odřízněte rozpínací hroty z kotev do sádrokartonu tak, aby byly kratší než tloušťka dýně. Šroubujte tyto zkrácené, snubnose sádrokartonové kotvy do pilotních otvorů, které jste vytvořili. Podrobnosti o další části budou záviset na joysticku, který jste si koupili. Ten, který jsem použil od SparkFun, měl 6mm nástavec na rukojeť míče, který bude nahrazen představcem. Pokud je váš joystick jiný, použijte matice a šrouby jakékoli velikosti. Najděte střed dříku a vyvrtejte otvor 13/64 "(stejnou velikost, jakou jste shodou okolností použili pro otvory pro LED) asi o palec přímo do představce. To by byl dobrý krok k otestování na vaší cvičné dýni, abyste se ujistili, že šrouby pevně zapadají do otvoru. Řezací pilou odřízněte hlavu šroubu 6 mm x 50 mm. Na závity poblíž odříznutého konce šroubu naneste epoxidové nebo dřevěné lepidlo a zašroubujte je do dříku. Chcete asi centimetr ve stonku a palec venku. Našroubujte 6mm spojovací matici na hřídel joysticku, ale joystick do dýně zatím nemontujte.
Krok 9: Umístění LED a joysticku
Zevnitř dýně vložte LED diody řádek po řádku do jejich otvorů, dokud jejich základny nebudou v jedné rovině s vnitřním povrchem dýně. Když jsou všechny na svém místě, pomocí bambusové špejle je zatlačte hlouběji dopředu. Nechal jsem jejich přední okraj sedět asi 1/4 "až 3/8" pod vnějším povrchem. Pokud jsou příliš hluboko pod povrchem, světlo se rozlije do masa dýně a každý pixel bude méně výrazný.
Přidejte vrstvu igelitu na horní část joysticku, přičemž samotný hřídel prochází skrz. Tím zabráníte prosáknutí alespoň nějaké vlhkosti. Připevněte joystick pomocí šroubů 1/2 do sádrokartonových kotev. Šrouby, které byly dodány s kotvami, budou příliš dlouhé a budou protlačovat dýni.
Krok 10: Hraní hry
Na dno dýně dejte misku nebo plastovou nádobu na potraviny, aby se žádná visící elektronika nedotýkala dna. Připojte joystick do Arduina, batohy LED do Arduina a matice LED do batohů. Připojte ke svému Arduinu zdroj energie. Nyní si zahrajte Pumpktris! Nápady pro další zkoumání Namísto montáže joysticku na horní část dýně pomocí LED diod můžete použít vzdálenou dýni, buď bezdrátově, nebo pomocí kabelu zdobeného tak, aby vypadal jako réva. Místo hry jste mohli na své svítilně zobrazit rolovací zprávy. Možná budete chtít namontovat matrice na stranu (16 na šířku a 8 na výšku), nebo dokonce použít pouze jednu matici. Nevyhnutelný rozpad Vaše dýně nakonec začne hnít a rašit plísně a houby. To by mohlo být nebezpečné pro vaše zdraví a mohlo by to vést k závadám ve vaší elektronice. Nejlepší je vytáhnout veškerou elektroniku, jakmile uvidíte na dýni nebo v ní nějaký růst, abyste je mohli později znovu použít, aniž byste museli čistit Haz-Mat.
Druhá cena v soutěži Halloween Decorations
Doporučuje:
Postup: Instalace Raspberry PI 4 bezhlavého (VNC) s Rpi imagerem a obrázky: 7 kroků (s obrázky)
Jak na to: Instalace Raspberry PI 4 Headless (VNC) s Rpi-imager a obrázky: Mám v plánu použít tento Rapsberry PI ve spoustě zábavných projektů zpět na mém blogu. Neváhejte se na to podívat. Chtěl jsem se vrátit k používání svého Raspberry PI, ale na novém místě jsem neměl klávesnici ani myš. Už je to dlouho, co jsem nastavoval Raspberry
ESP32 VGA Tetris: 3 kroky
ESP32 VGA Tetris: V tomto Instructables ukážu, jak vytvořit klon klasické hry Tetris pomocí ESP32 a generování výstupu pro VGA monitor. Tuto hru umožňuje úžasná knihovna ESP32Lib Arduino od bitluni. Budete potřebovat ESP32 b
GIANT Pumpktris: 8 kroků (s obrázky)
GIANT Pumpktris: Loni na Halloween HaHaBird - alias Nathan Pryor, osvětlil komunitu Instructables svým Pumpktrisem. Toto byl jeden z nejlepších návodů, jaké kdy byly zveřejněny. Nyní, když jsme zde v Instructables, sousedíme s nádherným, nádherným
Vykreslete 3D obrázky svých desek plošných spojů pomocí Eagle3D a POV-Ray: 5 kroků (s obrázky)
Vykreslování 3D obrázků vašich desek plošných spojů pomocí Eagle3D a POV-Ray: Pomocí Eagle3D a POV-Ray můžete vytvářet realistické 3D vykreslování vašich desek plošných spojů. Eagle3D je skript pro EAGLE Layout Editor. Tím se vygeneruje soubor pro sledování paprsku, který bude odeslán na POV-Ray, který nakonec vyskočí finální im
Vytvářejte stereofonní grafické obrázky v aplikaci Excel: 8 kroků (s obrázky)
Vytvářejte stereofonní grafické obrázky v aplikaci Excel: Stereo grafické obrázky mohou 3D hloubkám dodat hloubku