Съдържание:

Rainbow Dice: 6 стъпки (със снимки)
Rainbow Dice: 6 стъпки (със снимки)

Видео: Rainbow Dice: 6 стъпки (със снимки)

Видео: Rainbow Dice: 6 стъпки (със снимки)
Видео: How to Draw Valentines STITCH I Easy 2024, Ноември
Anonim
Rainbow Dice
Rainbow Dice

Това прави кутия за игри със зарове с 5 матрици, съставени от smd светодиоди в 5 цвята. Софтуерът, който го управлява, позволява различни режими на игри с множество зарчета.

Един главен превключвател позволява избор на игра и хвърляне на зарове. Отделните превключватели до всяка матрица позволяват избор или контрол в зависимост от типа игра.

Разходите за строителство са много скромни, но изискват доста време за изграждане, добър поялник и стабилна ръка.

Електрониката се основава на модул ESP8266 (ESP-12F), който работи с уеб сървър, позволяващ лесни актуализации на фърмуера и възможност за наблюдение / разширяване на игрите.

Кутията се захранва от батерия с акумулаторна батерия и тъй като текущата консумация е доста скромна, тя ще работи много часове с едно зареждане.

Стъпка 1: Части и инструменти

Части и инструменти
Части и инструменти
Части и инструменти
Части и инструменти
Части и инструменти
Части и инструменти

Компоненти

Необходими са следните компоненти. Всички те са достъпни в eBay

  1. ESP-12F ESP8266 модул за обработка на wifi. (£ 1,50)
  2. 18650 батерия и държач (£ 3,00)
  3. SMD светодиоди x7 от червено, синьо, зелено, жълто, бяло (пакет от 20 за всеки цвят 0,99 £)
  4. Бутон 6 мм превключватели x6 (£ 0,12)
  5. Плъзгащ се ключ за включване/изключване мини 8x4 мм (£ 0,10)
  6. LIPO USB модул за зареждане на батерии (£ 0,20)
  7. n канал MOSFETS - AO3400 x6 (£ 0,20)
  8. 3.3V регулатор на ниско отпадане - XC6203E (£ 0.20)
  9. 220uF електролитен (£ 0,15)
  10. 220R резистор x5 (£ 0,05)
  11. 4K7 резистор x 6 (0,06)
  12. Двойни странични отвори на прототипна дъска (£ 0.50)
  13. Гъвкав тел за свързване
  14. Емайлирана медна жица 32
  15. Щифтове на заглавката 40 щифта x3 (£ 0.30)

Освен това е необходимо заграждение. Проектирах 3D печатна кутия, която побира всичко и позволява на светодиодите да просветват. Това е достъпно в Thingiverse.

Инструменти

  1. Поялник с фина точка
  2. Фина пинсета
  3. Резачки за тел
  4. Джуниър хак трион
  5. Иглените файлове са полезни
  6. Смола лепило
  7. Достъп до 3D принтер, ако използвате включения дизайн на кутията.

Стъпка 2: Описание на веригата

Описание на веригата
Описание на веригата

Схемата показва модула ESP-12F, управляващ 5 светодиодни масива, съставящи заровете.

Всяко зарче е направено от 7 светодиода, подредени по 3 двойки (2 диагонала и средата) плюс един централен светодиод. Те се нуждаят от 4 GPIO пина за избор на светодиодите за показване. 220R резистори се използват за определяне на тока и 2 се използват последователно за централния светодиод, така че токът да е същият.

5 -те зарчета са мултиплексирани от 5 GPIO линии, управляващи MOSFET превключватели. Само един превключвател е разрешен наведнъж. Софтуерът позволява 1mSec на матрица, така че общият период на опресняване е 200Hz и няма трептене.

5 превключвателя са свързани с всяка матрица. Тъй като GPIO е ограничен, те се четат, като се използват същите редове, които се използват за мултиплексиране на матрицата. По време на мултиплексната последователност тези управляващи линии се задават като входове с издърпвания и състоянието на превключвателите се четат. След това те се връщат към изходите за останалата част от мултиплексната последователност.

Шестият превключвател за цялостен контрол се чете от реда GPIO16. Това може да има само издърпване, така че превключвателят е свързан към 3.3V. Това отчита ниско, когато превключвателят е отворен, и високо, когато е затворен.

Стъпка 3: Изграждане на DIe

Изграждане на DIe
Изграждане на DIe
Изграждане на DIe
Изграждане на DIe

Това е най -отнемащата време част от работата и се нуждае от грижи.

Всяка матрица е изградена върху парче квадратна прототипна дъска с 6 отвора x 6 отвора. Първата стъпка е да изрежете 5 от тях от едната дъска с помощта на мини трион. Опитайте се да оставите възможно най -малко граници извън дупките.

Следващият етап е да добавите 2 6 пинови заглавки надолу от всяка страна и 2 комплекта от 3 изолирани щифта до тях, а след това още една двойка в средата. Това е, което ще държи SMD светодиодите. Намирам за добре да премахна 2 неизползвани щифта от всяка от външните колони. Горната страна на платката, където трябва да се монтират светодиодите, трябва да има отрязани щифтове на заглавката, така че да излизат около 1 мм. Опитайте се да ги поддържате на ниво. Това позволява на светодиодите да изпъкват над повърхността на платката.

7 -те SMD светодиода вече са запоени върху всяка двойка щифтове. Това е най -сложната част от цялостната конструкция, но не отнема много време след малко практика. Техниката, която използвах, беше да калайдам горната част на половината щифтове, така че вече имаше някаква спойка. След това, като държите светодиода в пинсета, разтопете спойката отново и пуснете светодиода в нея. Не се притеснявайте твърде много за качеството на фугата на този етап. По -важното е да подредите светодиода възможно най -добре, хоризонтално и през щифтовете. След като светодиод е на място, той може да бъде правилно запоен в другия край на щифта му и след това първата връзка да бъде запоена отново, ако е необходимо.

Полярността на диодите трябва да е правилна. Подреждам всички външни щифтове на заглавките да бъдат свързани към анодите. Централният светодиод I направи същата ориентация като лявата колона (гледана от лицето и с резервен ред отдолу. Диодите имат слаба следа на катода, но също така е добре да се провери с метър. Диодите ще всъщност светят при използване на диапазона на съпротивление (да речем 2K) и червения проводник на анода и черния на катода. Те остават неосветени обратното. Това също е добър метод за проверка на цветовете, ако се смесят.

След като светодиодите са монтирани, останалата част от платката може да бъде завършена.

От долната страна на дъската.

  1. Свържете всички катоди заедно, като използвате тънка едножилна жица, неизолирана.
  2. Запоявайте MOSFET с дренажен щифт, свързан към катодната струна
  3. Свържете източника на MOSFET към неговия щифт на заглавката, който в крайна сметка ще бъде 0V
  4. Свържете портата през резистор 4K7 към щифта на заглавката. Добре е да изкорените това през друг долен отвор, както е показано, тъй като тук превключвателят ще се свърже.

В предната част на дъската кръстосано свързвате 3 двойки аноди.

  1. Използвайте спояваща емайлирана тел, за да поддържате профила нисък.
  2. Предварително оформете единия край на всяка жица
  3. Запояйте го към един анод.
  4. Прокарайте го през и го изрежете по дължина.
  5. Предварително калайдисвайте и го запоявайте към него, съответстваща двойка аноди.

В този момент е добре да направите предварително тестване на всяка матрица с помощта на мултицет. С черния проводник на общите катоди (изтичане на Mosfet), червеният проводник може да бъде преместен към 3 -те анодни двойки и единичния анод. Съответните светодиоди трябва да светят.

Стъпка 4: Конструкция на кутия

Конструкция на кутии
Конструкция на кутии
Конструкция на кутии
Конструкция на кутии
Конструкция на кутия
Конструкция на кутия
Конструкция на кутии
Конструкция на кутии

Това предполага, че се използва версията с 3D печатна кутия. Кутията има отстъпи за всяка матрица и всеки светодиод. Долният слой под всеки светодиод е много тънък (0,24 мм), така че с бяла пластмаса позволява светлината да просветва много добре и действа като дифузер. Има изрези за всички превключватели и точка за зареждане. Батерията има свое отделение.

Първо монтирайте 6 -те превключватели с мини бутон и плъзгача на място. Уверете се, че са на едно ниво с външната страна. Превключвателите с бутони имат две двойки контакти, свързани паралелно. Ориентирайте ги така, че превключващите контакти да са в непосредствена близост до матрицата им. Използвайте смола за бързо настройване, за да заключите на място.

Сега монтирайте батерията и нейната кутия в предвиденото място. Трябва да е доста плътно прилепнал, но използвайте малко лепило, ако е необходимо.

Залепете зарядното устройство LIPO на стената, снабдено с микро USB, достъпно през отвора му.

Завършете основното окабеляване на захранването, като завъртите земята на акумулатора през всички бутони и LIPO B- връзката и оставете прасен опашка за свързване към електрониката. Батерията + трябва да премине B + на зарядното устройство LIPO и към плъзгащия се превключвател. От другата страна на плъзгащия превключвател трябва да се намира шестият превключвател и свиня опашка за електрониката. Уверете се, че плъзгачът е в изключено положение и временно изолирайте свинските опашки. Не искате да скъсите батерията!

Запоявайте върху две къси неизолирани прасета на всеки от 5 -те превключвателя. Те трябва да бъдат малко гъвкави.

Поставете и закрепете всяка от матрицата в нейната позиция, като запоите двата превключвателя на превключвателя върху дъската за матрици, като се уверите, че 0V на превключвателя е свързан към MOSFET източника / 0V точката и живата страна на превключвателя към 4K7 / порта MOSFET. Светодиодите на платката трябва да се монтират във вдлъбнатините на кутията, а проводниците на превключвателя трябва да са достатъчни, за да задържат матрицата в позиция.

След това свържете всички общи аноди на 5 -те зарчета. Това е улеснено, тъй като връзките на диодната двойка са налични от двете страни на матрицата, но имайте предвид, че те са кръстосани по диагоналите. Не се обърквайте от червения проводник на изображението, очевидно отиващ на матрицата. Това е просто косичката и на този етап не е свързана с нищо.

Грим ESP-12F

Обърнете внимание, че може да искате да програмирате модула ESP-12F преди монтажа. След като бъде мигната, всички други актуализации могат да се извършват с помощта на wifi OTA.

Направете 3.3V регулатора на малко отляво над протип карта. Тук има само LDO регулатор и кондензатор за отделяне. Въпреки че разсейването на мощността е много ниско, споявам няколко от контактите заедно, за да действат като радиатор за устройството. Два проводника могат да изпъкнат и да направят директна връзка към 3.3V / 0V на ESP-12F.

Запоявайте проводници към щифтовете GPIO за 5 -те мултиплексни линии и превключвателя 6. Четирите LED анодни драйверни линии се нуждаят от резистори от серията 220R / 440R. Човек може да използва малки резистори с отвори към ESP-12F за това или аз го направих с SMD, просто подредени върху отворите, което също е доста здраво.

Накрая свържете мултиплексните линии към отделните щифтове на заглавната част на матрицата и линиите на анодния драйвер към съответната им верижка от маргаритка.

Стъпка 5: Софтуер

Софтуерът за това се основава на средата ESP8266 Arduino. Предлага се в github.

Кодът е достъпен тук

Има библиотека diceDriver, която предоставя функции на ниско ниво, използвани за мултиплексиране на светодиодите и четене на превключвателите. Това се управлява чрез прекъсване, така че след като стойностите на заровете са зададени, той се поддържа самостоятелно.

Общото време е разделено на 1 mSec интервал на матрица. Периодът в рамките на 1 mSec, в който са включени светодиодите, може да бъде зададен за всяка матрица независимо. Това позволява осветлението да се балансира в различните цветове и също така позволява затъмняване и мигане като част от контрола на играта.

Библиотеката също чете превключвателите на зарове като част от мултиплекса и има рутинни процедури за „хвърляне“на едно или повече зарове паралелно.

Скицата използва библиотеката, за да предостави избор на режими на игра със зарове и да стартира тези игри. Той също така предоставя функции за поддръжка за първоначално настройване на wifi, за OTA изтегляне на нов фърмуер и за предоставяне на някои основни уеб функции за тестване и проверка на състоянието на устройството.

Софтуерът е компилиран в Arduino IDE. Освен ino, той използва библиотеката BaseSupport за предоставяне на основни функции. Това е конфигурирано в локалния файл BaseConfig.h. Парола по подразбиране за „парола“се използва за свързване към настройката за wifi. Може да искате да промените това на нещо друго. Можете също да го конфигурирате с фиксирани идентификационни данни за wifi, ако не искате да използвате вградената настройка. По същия начин има същата парола по подразбиране за процеса на актуализиране на фърмуера на OTA, която може да искате да промените. Първият път, когато фърмуерът трябва да бъде зареден през серийната връзка към Arduino IDE. Това трябва да се подчинява на нормалните правила за мигане, когато GPIO0 е намален по време на нулиране, за да го включите в сериен режим на флаш. Това е по -удобно, преди модулът най -накрая да бъде свързан, но може да се направи на място, ако скобите са прикрепени към съответните щифтове.

Когато фърмуерът се стартира за първи път, той няма да успее да се свърже с локалния wifi и автоматично ще влезе в режим на настройка, като настрои своя собствена мрежа за достъп. Можете да се свържете с това от wifi устройство (например телефон) и след това да прегледате 192.168.4.1, което ще позволи да изберете истинския локален wifi и да въведете неговата парола. Ако това е наред, то ще се рестартира и ще използва тази мрежа.

OTA се извършва чрез експортиране на двоични файлове в Arduino IDE и след това преглеждане на ip/фърмуер, където ip е ip на кутията, когато е свързан. Това ще подкани / прегледа новия двоичен файл.

Други уеб функции са

  • setpower - задава мощност за матрица (ip/setpower? dice = 3 & power = 50)
  • setflash - задава флаш за зарове (ip/setflash? маска = 7 & интервал = 300)
  • setdice - задава една стойност на матрицата (ip/setdice? dice = 3 & value = 2)
  • параметри - задава параметри на ролка (ip/параметри? маска = 7 & време = 4000 & интервал = 200)
  • status - връща стойностите на заровете и състоянието на превключвателя

Стъпка 6: Игри

Софтуерът позволява избор на игра и игра, контролирана от главния превключвател.

Първоначално системата е в режим на настройка на играта, като само първата матрица показва „1“. Обикаляте 12 различни режима на игра, като правите кратки натискания на този бутон. Първата матрица отива 1 - 6, а след това остава на 6, докато втората матрица показва 1-6.

За да изберете конкретна игра, натискате продължително бутона (> 1 секунда) и това го поставя в режим на игра.

В рамките на една игра обикновено се започва хвърляне с кратко натискане на този ключ. За да се върнете в режим за избор на игра от режим на изпълнение, след това натиснете дълго този превключвател и той ще покаже номера на играта както преди и ще позволи по -нататъшен избор.

В момента са дефинирани 9 режима на игра с 3 резервни.

Игрите от 1 до 5 са прости хвърляния от този брой зарове. Всяко хвърляне просто хвърля всички зарове. Превключвателите на зарове нямат ефект в тези игри.

Игра 6 е динамичен брой зарове. Натиснете един от превключвателите, за да изберете броя на заровете, а след това главния превключвател, за да хвърлите заровете. Броят на заровете може да се променя преди всяко хвърляне.

Игра 7 е хвърляне с много хвърляния. Всички 5 зарчета са включени. Натискането на главния превключвател хвърля всички зарове. Натискането на всеки матричен превключвател го кара да мига. Когато главният превключвател е натиснат, само мигащата матрица ще се търкаля, освен че ако никой не мига, всички ще се търкалят. Това е като покер зарове или Yahtzee. Обърнете внимание, че няма налагане на разрешения брой хвърляния. Това се дължи на почтеността на играча.

Игра 8 е като игра 7, с изключение на нея, за да се посочи, че избраната матрица не мига.

Игра 9 използва превключвателите за определяне на хвърлянията. Ако е избран един от първите 3, това определя броя на заровете за хвърляне 1, 2 или 3). След това, ако един от долните 2 превключвателя е натиснат, горният ред се запазва и това избира броя на заровете, които да хвърлят в долния ред (1 или 2). Това се използва в игри като Risk.

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