Съдържание:

Pumpktris - Tetris Pumpkin: 10 стъпки (със снимки)
Pumpktris - Tetris Pumpkin: 10 стъпки (със снимки)

Видео: Pumpktris - Tetris Pumpkin: 10 стъпки (със снимки)

Видео: Pumpktris - Tetris Pumpkin: 10 стъпки (със снимки)
Видео: I work at the Private Museum for the Rich and Famous. Horror stories. Horror. 2024, Юли
Anonim
Pumpktris - Титрината тиква
Pumpktris - Титрината тиква

Кой иска ухилени лица и свещи, когато можете да имате интерактивна тиква този Хелоуин? Играйте любимата си игра за подреждане на блокове върху решетка 8x16, издълбана в лицето на кратунката, осветена от светодиоди и използваща стъблото като контролер. Това е умерено напреднал проект и изисква опит в запояване и програмиране в средата Arduino. Ще работите с органична материя и всички присъщи й странности, така че може да се наложи измерванията да се адаптират, за да отговарят на тиквата, която използвате.

Стъпка 1: Необходими материали

Необходими материали
Необходими материали
Необходими материали
Необходими материали

За да изградите свой собствен Pumpktris ще ви трябва следното: Компоненти

  • 128 5 -милиметрови кехлибарени светодиода (използвах ги от Mouser) Купете допълнително, за да покриете всички грешки или тестове. Получих 140. Амбър най-много прилича на пламъка, който би бил вътре в традиционен фенер, но можете да използвате всеки цвят, който харесвате.
  • Микроконтролер Arduino
  • 1/16 "термосвиваеми тръби (11 фута или 256 1/2" дълги парчета)
  • Аркаден джойстик със сваляща се дръжка (този от SparkFun ми работи добре)
  • 4 #6 найлонови анкери за гипсокартон Това не е от типа с превключвателите, а от вида, който прилича на винтове с дълбоки резби
  • 4 винта с дължина половин инч със същия размер и тип, които се доставят с анкерите за гипсокартон. Тези, които идват с котвите, ще бъдат твърде дълги.
  • 6 мм х 50 мм болт (или какъвто и да е размер, съответстващ на стойката за дръжката на джойстика ви)
  • 6 мм съединителна гайка (или какъвто и да е размер, необходим, за да съответства на горния болт) Съединителната гайка прилича на обикновена гайка, но е дълга около 1 инч и се използва за съединяване на два болта или парчета резбован прът.

И не на последно място, ще ви трябва 1 тиква. Имате нужда само от един, но аз препоръчвам два, така че да имате един, който можете да използвате, за да практикувате пробиване и рязане. Вашата LED матрица ще покрива площ приблизително 4 "широка на 8" висока, така че искате тиква с площ с възможно най -гладък и плосък размер, така че матрицата ви да не се увива твърде далеч. Бихте могли да използвате тиква от пяна, но къде е магията в това? Не мога да говоря с техниките за дърворезба, необходими на пяна от тиква. Инструменти и консумативи

  • Поялник
  • Припой
  • Резачки за тел
  • Машини за сваляне на тел
  • Бормашина
  • Ножовка
  • Нож X-Acto
  • Свредло 13/64"
  • Свредло 1-1/8 "(използвах бита Forstner, но и пика може да работи)
  • 1/4 "дъска от пяна

Стъпка 2: Изграждане на LED матрица

Изграждане на LED матрица
Изграждане на LED матрица
Изграждане на LED матрица
Изграждане на LED матрица
Изграждане на LED матрица
Изграждане на LED матрица

Всяка матрица е направена от 64 светодиода и 128 парчета тел. Най -лесно е да отрежете и отстраните всички проводници за всяка матрица предварително. Нарежете 112 на 2,5 "парчета и отстранете 1/4" от всеки край. Нарежете останалите 16 на 12 "парчета и отстранете двата края. Колкото по -последователни можете да получите дължините на проводниците си, толкова по -лесно ще бъде изграждането и инсталирането.

Ще започнете, като изградите шестнадесет осегментни вериги от маргаритки от жици-всяка със 7 къси и 1 дълъг проводник. Завъртете всеки край заедно със следващото парче и спойка. За да свържете проводниците към светодиодите, ще ви е необходим приспособление за задържане на светодиодите. Начертайте решетка с размери 8x8 с половин инчово разстояние на парче от 1/4 "дебела дъска от пяна, след това използвайте шило, за да пробиете дупка с малко по-малък диаметър от светодиода на всяко кръстовище. Ще имате 64 дупки, когато готови сте. В горния ред отвори поставете 8 светодиода. Ядрото от пяна ще се разтегне, за да пасне на светодиодите и ще ги държи плътно. Подравнете светодиодите така, че по-дългият крак-анодният проводник-да е обърнат към вас на всеки. Проверете още веднъж, защото ако получите грешка, матрицата няма да работи. Закрепете всеки аноден проводник с дължина около 1/4 "и го оформете с спойка, за да улесните свързването на проводниците. Нарежете 8 парчета термосвиваема тръба на 1/2 "сегменти. Плъзнете парче тръба през първата жична връзка, избутайте я назад, така че да не се влияе от топлината на спойката, след това запоявайте кабелната връзка към LED анода. Плъзнете тръбата надолу по връзката, след като се охлади. Продължете към следващия светодиод, като повторите още седем пъти процеса на плъзгане по парче тръби, запояване на връзката, след което спускане на тръбата над съединението. Когато имате набор от осем светодиода, всички свързани помежду си, извадете ги от приспособлението и повторете отново за още седем реда, като се уверите, че сте направили всички връзки към анодния проводник на всеки светодиод. Можете да използвате кой от редовете на джига е най -лесно достъпен, тъй като работите само с един по един. След като всички осем реда са запоени, е време да се присъедините към колоните и да направите матрица. Поставете всички LED низове в джига, който сте направили. Дръжте дългия проводник на същото от всяка страна на всеки низ. Изрежете и оформете катодния проводник на всеки светодиод в първия колона umn, точно както направихте за изграждането на низ. Вземете друга телена верига и повторете процеса на запояване към светодиодите, само че този път го свързвате на 90 градуса към първия набор от проводници, който сте направили. Дръжте дългия проводник от същата страна на матрицата. Докато попълвате всяка колона, я извадете от приспособлението от сърцевина от пяна и я сгънете, за да осигурите достъп до следващата колона. Когато приключите, ще имате 64 светодиода, свързани в 8 реда и 8 колони. За съжаление, трябва да повторите процеса отново за втората матрица. Ако имате нужда от почивка, преминете към стъпки 3, 4 и 5, за да работите по кода, след това се върнете към това.

Стъпка 3: Управление на светодиодите

Управление на светодиодите
Управление на светодиодите
Управление на светодиодите
Управление на светодиодите
Управление на светодиодите
Управление на светодиодите
Управление на светодиодите
Управление на светодиодите

LED матриците, които сте направили, ще се управляват от две мини 8x8 LED матрични раници от Adafruit. Всеки контролер ви позволява да управлявате 64 светодиода само с два проводника от Arduino и можете да свържете няколко контролера заедно на същите тези два проводника. Следвайте указанията, които се доставят с LED матричната раница за запояване на 4-пиновия хедър за захранване/данни/часовник. След това, вместо да запоявате светодиодната матрица, която се доставя с нея, запоявайте два реда женски заглавки към раницата. Включете включената мини LED матрица в заглавките. Включете матрицата в макет и я свържете, както следва:

  • Свържете щифт CLK на раницата към аналогов щифт 5 на Arduino.
  • Свържете DAT щифта към аналоговия щифт 4 на Arduino.
  • Свържете GND към заземяващия щифт на Arduino.
  • Свържете VCC+ към 5v захранване.

Изтеглете библиотеката Adafruit LED Backpack и Adafruit GFX и ги инсталирайте на компютъра си, като копирате всяка от тях в папката „библиотеки“на папката за скици на Arduino на вашия компютър. Качете файла „matrix8x8“на вашия Arduino и проверете дали LED раницата работи. Щифтовете на LED матрицата може да не установят добър контакт в женските заглавки, така че може да се наложи да размърдате или частично да я премахнете, за да осъществите контакт и да разрешите всички редове и колони да светят. Повторете процеса с втората LED раница, но този път ще трябва да зададете нов адрес за нея, като запоите джъмпер през подложките A0 на раницата. Пуснете отново кода „matrix8x8“, но променете реда „matrix.begin (0x70)“на „matrix.begin (0x71)“, така че кодът да адресира новата LED раница.

Стъпка 4: Свързване на джойстика

Свързване на джойстика
Свързване на джойстика
Свързване на джойстика
Свързване на джойстика

Вашият джойстик трябва да има четири превключвателя с по два извода. Когато преместите джойстика си надясно, той задейства превключвателя вляво, когато го преместите надолу, той задейства превключвателя отгоре и т.н. На една клема на всеки превключвател запойте 3 "проводник. Завъртете другия край на всичките четири от тези проводници заедно и ги запоявайте към 12" проводник. Това е общото за всички четири превключвателя. Запоявайте 12 -инчов проводник към останалия терминал на всеки превключвател, след което ги свържете, както следва:

  • Свържете долния превключвател (активиран при натискане нагоре) към аналоговия щифт 0 на Arduino.
  • Свържете левия превключвател (активиран при натискане надясно) към аналоговия щифт 1 на Arduino.
  • Свържете горния превключвател (активиран при натискане надолу) към аналоговия щифт 2 на Arduino.
  • Свържете десния превключвател (активиран при натискане наляво) към аналоговия щифт 3 на Arduino.
  • Свържете обикновения заземен проводник към заземяващия щифт на Arduino.

Стъпка 5: Програмиране на играта

Програмиране на играта
Програмиране на играта

Изтеглете приложения Pumpktris.ino.zip, разархивирайте го и отворете файла в средата за разработка на Arduino. Компилирайте и го качете на вашия Arduino. Вече трябва да можете да играете на мини LED матрицата, която сте настроили в предишната стъпка. Опитах се да коментирам кода колкото е възможно повече, но ето общ преглед на основните процеси: Описване на формите Има седем тетромино, всяко с 4 пиксела и всяко с четири възможни завъртания. Съхраняваме всичко това в многоизмерен масив: първото измерение, състоящо се от седемте форми, второто измерение съдържа четирите завъртания за всяка форма, третото съдържа четири описания на пиксела, всяко от които се състои от X и Y координата. Например това описва формата „Т“:/ * T */ {/ * ъгъл 0 */ {{0, 1}, {1, 1}, {2, 1}, {1, 2}},/ * ъгъл 90 */ {{1, 0}, {1, 1}, {2, 1}, {1, 2}},/ * ъгъл 180 */ {{1, 0}, {0, 1}, {1, 1}, {2, 1}}, / * ъгъл 270 * / {{1, 0}, {0, 1}, {1, 1}, {1, 2}}}

Проследяване на активното парче За да следите парчето, което се играе в момента, програмата поддържа променлива activePiece. Това е индексът на активната форма в най -високото ниво на масива. Той също така запазва променлива ротация, съдържаща индекса на текущото въртене. Променлива xOffset проследява докъде е наляво или надясно (0-7) всяко парче, а yOffset проследява докъде (0-15) на дъската е паднала. За да нарисува активното парче, програмата добавя стойностите на отместване X и Y към координатите X и Y на всеки пиксел, извлечен от текущото завъртане на избраното парче. Проследяване на фиксираните части Програмата използва 16 -байтов масив, за да следи фиксираното парчета, като всеки байт представлява ред. Например, масивът по -долу би представлявал L форма, разположена в центъра на долните два реда (както е посочено с 1s в последните два байта): byte sampleGrid [16] = {B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00100000, B00111000}; Откриване на сблъсък Когато се прави опит за преместване на активното парче, програмата първо проверява новата позиция спрямо масива от фиксирани фигури. Ако няма сблъсъци, ходът е разрешен и матрицата се прекроява. Ако се установи сблъсък, докато се опитвате да се движите наляво, надясно или да завъртите, действието е забранено. Ако се открие сблъсък, докато се опитвате да пуснете фигура, фигурата се фиксира в позицията си и се добавя към масива от фиксирани пиксели. Автоматично пускане на фигури Темпото на играта се контролира от променливите gravityTrigger и stepCounter. Всеки цикъл на програмата увеличава stepCounter и всеки път, когато stepCounter достига броя, съхранен в gravityTrigger, той изпуска активната част на едно ниво. С напредването на играта gravityTrigger намалява, така че активното парче пада все по -често, докато накрая отпадне във всеки цикъл на програмата. Всеки път, когато активна част е фиксирана към мрежата, програмата проверява за пълни байтове/редове (B11111111). Ако открие такива, мига и ги включва три пъти, след което ги премахва и изпуска редовете отгоре, за да запълни празнината. стойност, предадена в редовете "matrixTop.setRotation (1);" и/или "matrixBottom.setRotation (1);" в цикъла "setup ()". Ако парчетата започват в грешна матрица, превключете физическото местоположение на всяка матрица или обърнете адресите, декларирани в "matrixTop.begin (0x70);" и "matrixBottom.begin (0x71);" редове от цикъла "setup ()". Ако някои редове или колони не светят, размахвайте мини LED матрицата в женските заглавки. Може да не поддържат добър контакт.

Стъпка 6: Свързване на вашата LED матрица

Свързване на вашата LED матрица
Свързване на вашата LED матрица
Свързване на вашата LED матрица
Свързване на вашата LED матрица
Свързване на вашата LED матрица
Свързване на вашата LED матрица

Когато всички кодове и контроли са проверени за работа с мини LED матрици, е време да включите големите LED матрици, които сте запояли сами.

Можете да включите всеки проводник в заглавките на матричната раница поотделно, но вероятно ще правите много включване и изключване, така че това може да стане истинска караница. Вместо това искате да запоите всеки проводник върху мъжка лента за глава и да го включите в матричната раница. Монтирах лентите за заглавки на парче прототипираща платка, за да мога да включа и извадя всички 16 щифта заедно. Редове 1-4 се свързват с щифтове 1-4 на матричната раница (номерирането на щифтове започва в горния ляв ъгъл, докато гледате надолу към раницата с 4-пиновите щифтове за захранване/заземяване/данни/часовник отгоре). Колоните 1-4 се свързват с щифтове 5-8. Номерацията на щифтовете се увива така, че щифт 9 е в долния десен ъгъл. Редове 5-8 се свързват с щифтове 12-9, а колони 5-8 се свързват с щифтове 16-13. Вижте диаграмата за повече яснота. Включете всяка матрица в раница и изпълнете същата програма „matrix8x8“, която сте направили за мини LED матриците в стъпка 4. Ако всяка работи, тогава можете да заредите програмата за игри. Ако не работи, проверете дали редовете и колоните на голямата LED матрица са включени в правилните щифтове на раницата. Монтирането на LED матрицата в джига от сърцевина от пяна, който сте направили за сглобяване, може да улесни тестването на цялата система.

Стъпка 7: Издълбаване на тиквата

Издълбаване на тиквата
Издълбаване на тиквата
Издълбаване на тиквата
Издълбаване на тиквата
Издълбаване на тиквата
Издълбаване на тиквата

Не правете резба върху тиквата, докато цялата ви електроника не работи. Издълбаната тиква има ограничен срок на годност и ако първо я издълбаете и след това прекарате 2 дни в електрониката, това са два дни забавление, което сте загубили.

Намерете най -плоската страна на тиквата, така че вашият LED панел да не се увива твърде много наоколо, след това изрежете отвор от страната срещу нея. Бъдете щедри; ще имате нужда от място, за да накарате ръцете си да работят. Няма да режете върха като на традиционна тиква, защото това трябва да се остави непокътнато за джойстика. Тиквата и електрониката не са най -добрите приятели, така че почистете добре вътрешността. За най-добре изглеждащия Pumpktris искате вашата мрежа от светодиоди да бъде права и добре подравнена с тиквата. Прикачен е PDF с интервал 8x16, на половин инч една от друга. Отпечатайте това (или направете своя собствена със собствено разстояние), изрежете около краищата и го залепете върху предната част на тиквата. Уверете се, че е направо нагоре и надолу. С пирон, клечка за зъби или друг подобен инструмент пробийте пилотен отвор в центъра на всеки светодиод, отбелязан върху хартията. Не се препоръчва пробиване директно през хартията, тъй като има вероятност да се измести или разкъса. След като всички пилотни отвори бъдат пробити, отстранете шаблона за хартия и използвайте бита 13/64 "във вашата електрическа бормашина, за да пробиете всеки отвор. Не подравнявайте свредлото перпендикулярно на лицето на тиквата! Ако направите това, изкривяването на тиквата може да причини дупки, които са на половин инч една от друга, да се срещнат отвътре и ще бъде трудно да се вмъкнат светодиодите. Вместо това се опитайте да държите всички отвори успоредни. Когато всички отвори са пробити, използвайте ножа си X-Acto, за да изрежете квадратен "пиксел" около всяка дупка. Наклонете ножа към центъра на всяка дупка и оставете около 1/8 "между пикселите. Предлагам да закупите практична тиква и да я използвате, за да усъвършенствате техниката си на пробиване и изрязване на пиксели. Овладейте го там, преди да рискувате да съсипете идеалната тиква, която сте намерили за крайния продукт.

Стъпка 8: Монтиране на стъблото към джойстика

Монтиране на стъблото към джойстика
Монтиране на стъблото към джойстика
Монтиране на стъблото към джойстика
Монтиране на стъблото към джойстика
Монтиране на стъблото към джойстика
Монтиране на стъблото към джойстика
Монтиране на стъблото към джойстика
Монтиране на стъблото към джойстика

Сега ще адаптирате стъблото да се използва като джойстик за управление на играта.

Отрежете стъблото възможно най -близо до основата. Ако разрезът не е гладък и чист, използвайте шлифовъчен блок, за да го изравните. Пробийте отвор 1-1/8 "направо през основата на стъблото и в тиквата. Развийте топката на джойстика и подравнете вала с центъра на отвора от вътрешната страна на тиквата. Уверете се, че предната част на джойстика е квадратен с предната страна на тиквата-когато играете, искате да бутате наляво и надясно, за да премествате парчета, а не под ъгъл. Когато е центриран и квадрат, използвайте пирон или клечка за зъби, за да пробиете дупки във вътрешността на тиквата над монтажните отвори в основата на джойстика. Извадете джойстика. С ножовете за тел отрежете разширяващите се върхове на анкерите за гипсокартон, така че да са по -къси от дебелината на кожата на тиквата. Завинтете тези съкратени анкери за гипсокартон в пилотните отвори, които сте направили. Подробностите за следващата част ще зависят от джойстика, който сте закупили. Този, който използвах от SparkFun, имаше 6 мм приставка за дръжката на топката, която ще бъде заменена от стъблото. Ако вашият джойстик е различен, използвайте гайки и болтове с какъвто и да е размер. Намерете в центъра на стъблото и пробийте отвор 13/64 "(същия размер, който сте използвали за LED отворите, случайно) на около сантиметър направо в стъблото. Това би било добра стъпка да тествате върху практическата си тиква, за да се уверите, че болтовете завинтват плътно в отвора. Отрежете главата с болт 6 мм x 50 мм с ножовка. Поставете епоксидно или лепило за дърво върху резбите близо до отрязания край на винта и го завийте в стеблото. Искате около инч от него в стъблото и инч отвън. Завийте 6 -милиметровата съединителна гайка върху вала на джойстика, но все още не монтирайте джойстика в тиквата.

Стъпка 9: Поставяне на светодиоди и джойстик

Поставяне на LED и джойстик
Поставяне на LED и джойстик

От вътрешната страна на тиквата поставете светодиодите ред по ред в отворите им, докато основите им се изравнят с вътрешната повърхност на тиквата. Когато всички са на мястото си, използвайте бамбуков шиш, за да ги избутате по -дълбоко към предната част. Оставих предния им ръб около 1/4 "до 3/8" под външната повърхност. Ако те са твърде далеч под повърхността, светлината ще се разлее в месото на тиквата и всеки пиксел ще бъде по -малко различен.

Добавете слой пластмасова обвивка към горната част на джойстика, като самият вал пробива. Това ще попречи поне малко влага да проникне в него. Прикрепете джойстика с 1/2 винтове към анкерите за гипсокартон. Винтовете, които идват с анкерите, ще бъдат твърде дълги и ще пробият през тиквата.

Стъпка 10: Играйте играта

Игра на играта
Игра на играта

Поставете купа или пластмасов контейнер за съхранение на храна в долната част на тиквата, за да предотвратите докосване на всяка висяща електроника до дъното. Включете джойстика във вашия Arduino, LED раниците в Arduino и LED матриците в раниците. Включете източник на захранване във вашия Arduino. Сега си пуснете няколко Pumpktris! Идеи за по -нататъшно проучване Вместо да монтирате джойстика върху горната част на тиквата със светодиодите, можете да използвате дистанционна тиква, безжично или с кабел, украсен да изглежда като лоза. Вместо игра, можете да показвате превъртащи се съобщения на вашия фенер. Може да искате да монтирате матриците отстрани (16 широки на 8 високи) или дори да използвате само една матрица. Неизбежното разпадане Вашата тиква в крайна сметка ще започне да гние и да покълне мухъл и гъбички. Това може да бъде опасно за вашето здраве и може да доведе до проблеми в електрониката ви. Най-добре е да извадите цялата си електроника, след като видите някакъв растеж върху или в тиквата, за да можете да ги използвате повторно по-късно, без да се налага почистване с Haz-Mat.

Конкурс за декорации за Хелоуин
Конкурс за декорации за Хелоуин
Конкурс за декорации за Хелоуин
Конкурс за декорации за Хелоуин

Втора награда в конкурса за декорации за Хелоуин

Препоръчано: