Jeffrey Cross
Jeffrey Cross

Ноисе Тои - убрзани курс у програмирању

Ноисе Тои кит је забаван за кориштење, али ако сте попут мене - остављајући ту малу “ПРОГРАМ” луку неискориштену ће вас излуђивати.

Уз мало знања о програмирању АВР-а, уз мало забаве са Ардуином, научио сам себе како да уплоадујем и хакујем изворни код за њега. Прочитајте даље да бисте видели како је дело извршено и слушајте неки узорак звука.

Повезан:

  • КАКО - изградити Ноисе Тои
  • Бука Тои-ин-а-бок

Парт 1 - Хардваре хацкери

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

Ноисе Тои користи Атмел АВР микроконтролерски чип (АТТини85, да буде специфичан). Гласни објекти дизајнирали су комплет тако да се чип може репрограмирати без његовог уклањања из уређаја, или "у кругу". Заправо, Тоиу се може гледати као на једноставну АВР боард циљну плочу а на којој микроконтролер може примити нови код из ПЦ серијског повезивања података.

Серијски портови су прилично ретки на већини нових машина (и не постоје на Мац рачунарима), тако да већина људи користи УСБ уместо тога. Да бисмо претворили те УСБ податке у нешто „серијскији“ за наш мали чип, користимо системски програмер (скраћено ИСП). Дизајнери Ноисе Тои-а су договорили да ПРОГРАМ заглавље буде повезано са специфичним ИСП-ом - Тукграпхицс-ом АврУсб500. Нисам имао један од оних који су били при руци, али сам имао још један ИСП, односно УСБТиниИСП од Адафруит Индустриес. Да би се користила са играчком, било је потребно мало адаптације.

УСБТиниИСП користи 6-пински конектор, још један пин него АврУсб500. Да бих сазнала које су пинове урадиле, упоредила сам документацију са оба уређаја и упоредила податке са АТТини85.

Испоставља се да додатни пин на УСБТини-у даје опциону снагу на плочи, док АврУсб500 претпоставља да ће ваш чип већ бити напајан док програмира.

Имајући то у виду, онемогућио сам УСБТиниИСП опциони пин за напајање померањем једноставног џампера унутар уређаја. Користећи информације прикупљене из тих пин-поређења, саставио сам брзу схему која описује како би мој УСБТини требао да се повеже са ПРОГРАМ заглављем играчке.

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

Не превише уредан, али то доводи до посла.

Дио 2 - Софтверски забавни и програмски процес

Када је интерфејс откривен, потребан вам је неки софтвер да бисте извршили програмирање. Скинуо сам и инсталирао АВР МацПацк на мој повербоок (они са прозорима могу користити ВинАВР) Онда сам се упознао са основним процесом програмирања преко практичних туторијала на Ладиада.нет.

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

назив микроконтролера:

МЦУ = аттини85 ПРОГРАММЕР_МЦУ = т85

Назив пројекта:

ПРОЈЕЦТНАМЕ = миноисетоипројецт

име моје .ц изворне датотеке:

ПРЈСРЦ = миноисетоипројецт.ц

Овде можете скинути измењени макефиле.

Сачувајте нови маке-фајл као (погодите)макефиле"И ставите га у нову фасциклу"миноисетоипројецт" у оквиру Документи фолдер.

Даве_маттхевс_банд.ц гласни објекти су звучали као главна мета за експериментисање, па сам га отворио у свом омиљеном уређивачу текста и отишао на посао. Проучавајући код, примијетио сам да ми је нешто било познато. Занимљиво, заменио сам све инстанце Рандом () и замени их 0 - затим сачували датотеку као “миноисетоипројецт.ц” у Документи / миноисетоипројецт.

Када су фасцикла и фајлови били у реду, наставио сам са следећим формалностима -

Отворите апликацију Терминал и унесите следеће линије:

цд Документи / миноисетоипројецт чине све што чини миноисетоипројецт.хек

Повежите ИСП-а са рачунаром преко УСБ-а, а затим на Ноисе Тои и унесите следеће:

аврдуде -ц усбтини -п т85 -У фласх: в: миноисетоипројецт.хек

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

Слушај цхрис_маттхевс_банд

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

Дио 3 - Датотеке и слично

Ево неколико примера из других програма на сајту Лоуд Објецтс -

  • бирдлане.мп3
  • стерео.мп3
  • даве_маттхевс_банд.мп3
  • Ике.мп3
  • кунрнд.мп3
  • рптрнд.мп3
  • салватион.мп3

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

А ево и измењени макефиле и пример кода хацк - миноисетоипројецт макефиле

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

ЕОМ

Удео

Оставите Коментар