Направите Тамаготцхи за радну површину: 8 корака (са сликама)

Направите Тамаготцхи за радну површину: 8 корака (са сликама)

Преглед садржаја:

Anonim

Једног дана седео сам за столом на послу и имао сам чудну потребу да нешто саградим, након што сам мало погледао око себе, погледао сам ЛЕД матрицу и то је изазвало идеју у мојој глави: "Желим направити ТАМАГОТЦХИ".

Дакле, за оне од вас који не знају шта је тамаготи овде је мало снип-ит из википедије:

"Тамагоццхи (" Тамагоццхи ") је ручни дигитални љубимац, којег су у Јапану направили Акихиро Иокои из ВиЗ-а и Аки Маита из Бандаја. Први пут га је продао Бандаи 1996. године у Јапану."

Тако да је моја класична играчка направљена тако да се нађе на десктоп гадгету са ЛЕД матрицом за екран, и Ардуино за мозак како би га учинио приступачнијим људима. Са тим речима ми се придружите док дизајнирамо, правимо и програмирамо прву светску (колико ја знам) десктоп Тамаготцхи.

Залихе:

Корак 1: Добијање праве ствари

Тако да као и сваки други електронички пројекат требате добити неке основне алате:

1) Лемилица

2) Неке жице за лемљење

3) Пар резача

4) Клешта за иглу

Опционо: Набавите неке лемне плетенице или лемне пумпе да бисте поправили грешке у лемљењу

Што се тиче електронике, попис дијелова је мало дужи, ево што ћете требати:

1) АТмега328П са ардуино боотлоадер + 16Мхз кристалом са два 22пФ капе

* Требат ће вам нешто за програмирање чипа као и за ардуино платформу или ФДТИ адаптер

2) 4 к 74ХЦ595 регистра помака

3) 2 к УЛН2803 Дарлингтонов транзисторски низ

4) 1 к ДС1302 РТЦ + 32.768кХз Цристал

5) 1 к 3В држач батерија на батерији.

6) 4 к правоугаона тастера

7) 1 к Пеиззо Буззер

8) 4 к 8к8 ЛЕД матрица

9) 16 к 330Охм отпорника (потребно је да израчунате вредност за вашу матрицу)

10) 2 к ред од 16 женских пинова

11) 2 к ред од 16 мушких пинова

12) 1 к ред од 4 женске главе (за програмирање)

13) Капа од 5 к 100нФ

14) 1 к 10уФ капа

15) 1 к 10К отпорник

15) Утичница за напајање

16) 5В ДЦ зидна брадавица

17) Велики комад протобоарда

18) Неке жице за повезивање

Корак 2: Хардверска страна

Чак и ако је овај пројекат углавном фокусиран на софтвер, мораћемо прво да направимо хардвер како бисмо живот олакшали писању кода и дебаговали га.

Хардвер се састоји од два главна дела: микроконтролера и ЛЕД дисплеја.

Дио микроконтролера је врло раван, то је самостални ардуино (АТмега328 са ардуино боотлоадер-ом) са

неке периферне уређаје (4 дугмета, зујалица и РТЦ), али то је најкритичнији део јер он ради све мисли.

Дио ЛЕД дисплеја је мало сложенији и потребно је неко вријеме за лемљење. Овај круг се састоји од 4 регистра смене (74ХЦ595), 2 низа транзистора Дарлингтон (УЛН2803) и 4 8к8 ЛЕД матрице.

Као и код већине ЛЕД дисплеја, не чуди што се екран мора мултиплексирати (погледати то је прилично цоол концепт) јер ће вожња 16к16 ЛЕД диода појединачно узети 256 пинова из микроконтролера и то је само глупост.

Чак и са приступом мултиплексирања ће нам и даље требати 32 (16 редова + 16 ступаца) пинова из микроконтролера за погон дисплеја који опет немамо, тако да је рјешење да користите регистре помака као И / О експанзију, 4 8 регистри за пребацивање битова нам дају 32 излаза и потребно је само 3 линије за контролу свих њих.

Али проблеми се не завршавају јер регистар смјена не може поднијети струју од 16 ЛЕД-ова (ако је упаљен цијели ред) на једном пину, тако да нам треба дати руку уз помоћ поља транзистора из Дарлингтона ће се понашати као бафер који може да поднесе велике струје које могу пржити регистре смене.

Дакле, да поновимо, користимо 4 регистра за пребацивање у серију даиси контролисањем дисплеја, прва 2 покрећу редове, а друга 2 управљају колонама уз помоћ дарлингтонског низа.

Једина ствар која треба да се израчуна у овом пројекту је вредност отпорника који ће управљати ЛЕД редовима.

Формула је веома једноставна и иде тако:

Р = (Всоурце - Влед) / Илед

Всоурце је 5В, Влед је предњи напон на једној ЛЕД у матрици, а Илед је предња струја тог истог ЛЕД-а.

Такођер можете користити онлине калкулаторе који ће вам помоћи у томе.

Корак 3: Концепт изградње - ЛЕД одбор

Када сам почео да градим желео сам да добијем чист изглед без коришћења случаја (проналажење правог случаја је ноћна мора) па сам отишао

дводелна конструкција, тј. једна плоча која држи ЛЕД матрицу, а друга са свом електроником.

На овај начин једина ствар коју видите када гледате напред је ЛЕД екран и све остале ствари су скривене иза екрана.

Прва плоча са ЛЕД матрицом ће диктирати величину друге, јер желите да сакријете другу плочу иза екрана. Зато поставите матрицу на плочу, означите где да сечете и исечете плочу. Изрежите другу плочу тако да буде исте величине као и прва. Трик са овим стилом изградње је то што морате имати прото-плоче исте величине, тако да је добра идеја да обришете плоче да бисте их добили на исту величину.

Пошто сам имао 4 8к8 ЛЕД матрице, морао сам да их повежем да бих добио једну 16к16 ЛЕД матрицу, што је прилично једноставно и потребно је само мало времена да их повежемо. Начин на који то радите је повезивање редова хоризонталних матрица са укљученим и другим и повезивањем колона вертикалних матрица (направио сам везе са неким танким жицама за омотавање жице).

Сада је једини део који остаје са овом плочом повезивање заглавља која ће повезати плоче заједно, положај овог конектора се одређује позицијом прекидача на другој плочи. Прекидачи ће бити на странама плоче тако да не можете ставити конекторе на ивицу плоче и зато су конектори постављени око 4 рупе са ивице.

Постоје два конектора за редове, а други за колоне.

И да завршимо изглед препоручам да ставите лист белог папира преко матрице како бисте сакрили склоп и добили чист изглед.

Љепила сам папир на рубове матрице тако да је заслон сигуран од љепила.

Корак 4: Концепт конструкције - Возачка табла

Управљачка плоча је најсложенији дио ове конструкције због просторних ограничења и не могу вам рећи како да је направите јер сваки има свој стил градње.

Оно што вам могу рећи је постављање кључних компоненти као што су дугмад и конектори. Сада би дугмад требала бити на странама плоче, а већина би требала бити под правим кутом, тако да ће бити изван видокруга, али још увијек их можете притиснути.

Одатле постављате конекторе који ће се придружити двјема плочама, конектори би требали бити што ближе рубу да би се добила добра и чврста веза, тако да прво поставите гумбе на ивицу и одатле одлучите гдје да ставите конекторе.

Напомена: Прилично је важно да се уверите да су конектори на обе плоче савршено повезани и да су странице плоча у равнини.

Након тих критичних делова, ви сте слободни да изградите остатак као што видите право, али будите сигурни да не постоје делови који иду "у море".

Препоручујем да се саставе у групама и да се сви делови у тој групи држе близу један другом ради лакшег повезивања, на пример:

Конектор колоне треба да буде повезан са два дарлингтонска чипа и два регистра за пребацивање, тако да има смисла ставити ту гомилу близу један другом и уз мало размишљања могуће је извући се са само неколико жица ту и тамо у овој групи..

Такође се побрините да ставите неколико програмских заглавља за микро-контролер за будуће модове.

Корак 5: Правила игре

Након завршетка хардверског дијела, вријеме је размишљања о коду и механици игре.

То је било најтеже за мене јер сам гледао од нуле и морао сам да правим своја правила која нису савршена ни на који начин.

Игра је таква каква је, веома је лако искористити и добро је радити, али ово није озбиљна игра и требала би бити цоол мали гадгет.

Дакле, са овим малим одрицањем од одговорности, можемо мало причати о правилима игре.

Љубимац има 5 основних статистика: здравље, тежину, срећу, глад и године.

Улога играча је да балансира ову статистику са 4 акције које има: храни љубимца, игра се с њим, чисти након њега и медицинска нега.

Свака акција има позитиван ефекат и негативан ефекат и играч треба да се потруди да изабере најбољи компромис.

Када играч одлучи да нахрани љубимца има 3 опције: дајте му месни оброк, дајте му воће или посластицу слаткиша.

Месни оброк надокнађује највише бодова глади и додаје пуно на тежину, воће подиже здравље кућних љубимаца, али смањује срећу кућних љубимаца, а слаткиш даје велики потицај срећи, али смањује здравље и повећава тежину кућних љубимаца.

Када играч одлучи да игра са кућним љубимцем, Симон почиње игре и зависно од тога колико је играч имао среће статистика подиже, али ако је играч учинио јако лоше срећа ће пасти.

С времена на време љубимац ће ићи у тоалет и играч ће морати очистити након њега, сваки окрет играчице ће пропустити здравље кућних љубимаца и повећава шансу да се животиња разболи.

Такође постоји случајна шанса да ће се љубимац разболети, та шанса је већа ако је кућни љубимац стар или прљав. Постоје три нивоа болести са сопственим негативним ефектима. Играч може пуцати на кућног љубимца да га излијечи, али то ће смањити здравље кућних љубимаца (нитко не воли снимати: Д).

А најнеповољнији део (за мене) је да љубимац аутоматски одлази у спавање у 23:00 и буди се у 8:00 тако да неће умрети преко ноћи. Наравно, можете да промените овај део за свој укус и поставите ново време за спавање за кућног љубимца.

Корак 6: Софтвер: Менији и анимације

Овде смо у најзгоднијем делу пројекта, након што смо одлучили о свим карактеристикама и стањима игре, време је да их оживи креирањем свих анимација, поставки, акција и стања игре.

За овај корак користио сам комбинацију два програма: паинт.нет и екцел.

У боји сам креирао све иконе и меније један по један. Употреба боје је од велике помоћи јер можете лако да копирате, обојите, избришете и манипулишете сликом. Ипак, овај дио ми је био изузетно тежак јер сам имао тешкоћа с прилагођеним иконама које се залажу за сваку акцију, поставку, храну и емоције.

Напомена: У боји сам користио опцију пиксела да ми је дозволио да поделим део на пикселе и обојим сваки.

По завршетку рада на анимацијама и иконама, нумерисао сам иконе у групама и почео да радим на стварању битмапа икона, да бих то урадио.

Направио сам Екцел табелу која ми омогућава да "обојим" ћелије у одређеном подручју и онда испљуне битмапу у формату који желим.

Након што је све ово урађено, само је питање копирања битмапа у код и почетак писања софтвера.

Корак 7: Софтвер: Финал Цоде

Главни део овог пројекта је софтвер и то је оно што овом пројекту даје карактер.

Сада нећу детаљно прегледавати код јер сам то учинио у самом коду, тако да очекујем да ћу видјети пуно коментара (неки са неким ужасним правописним грешкама: Д).

Код користи 3 библиотеке, али сви они долазе са Ардуино ИДЕ тако да нема потребе за преузимањем.

Написао сам код без специјалних библиотека да бих сачувао проблеме у ажурирању кода и проналажењу тих библиотека у будућности, то је разлог зашто је код дугачак и има пуно ако је другачије функције.

Сада код који има сам има два главна дијела: главну петљу која управља свим правилима игре и понашањем "кућних љубимаца" и рутином прекида тајмера која управља ажурирањем приказа.

Мој рад на коду још увијек није завршен јер увијек има нових ствари које треба додати и побољшати, па ћу с времена на вријеме ажурирати код. Али за сада је код у свом радном стању и потпуно опремљен.

Корак 8: Завршили сте! Шта даље?

То, бре! Ми смо готови! или ми?

Имамо потпуно радну клупу Тамаготцхи са свим основним функцијама, али зашто се зауставити?

Постоји много ствари које треба додати и побољшати, а на вама је да то урадите. Зато узмите препоне и побољшајте се, промијените се и забавите се с њим!

И не заборави да поносно ставиш на своју палубу и покажеш своју нову креацију.

П.С.

Водите рачуна о томе и не заборавите га хранити с времена на време:)