Jeffrey Cross
Jeffrey Cross

Noise Toy - kaatuu ohjelmoinnissa

Noise Toy -pakkaus on hauska käyttää, mutta jos pidät minusta - jätät sen vähän ”PROGRAM” -porttia käyttämättä, joka ajaa sinut hulluksi.

Pienellä tietämyksellä AVR-ohjelmoinnista on hauskaa Arduinon kanssa, ja opetin itselleni, kuinka ladata ja hakata lähdekoodia sille. Lue lisää siitä, miten teko tehtiin ja kuuntele näytteen ääntä.

Related:

  • MITEN - rakenna meluntorjunta
  • Noise Toy-in-a-box

Osa 1 - Laitteiston hakkerit

Jos et ole aiemmin ohjelmoinut mikrokontrolleria, näkymä saattaa tuntua hieman pelottavalta - mutta se ei todellakaan ole kovin kovaa, ja tämän prosessin oppiminen avaa uusia vaihtoehtoja. (Jos tiedät jo, voit ohittaa osan 3, asiaankuuluvien meluntorjuntatiedostojen osalta)

Noise Toy käyttää Atmel AVR -mikrokontrolleripiiriä (ATTiny85, joka on erityinen). Loud Objects on suunnitellut paketin niin, että siru voidaan ohjelmoida uudelleen irrottamatta sitä laitteesta tai "piirissä". Itse asiassa lelu voidaan nähdä yksinkertaisena AVR: n ”kohdekorttina”, johon mikrokontrolleri voi vastaanottaa uutta koodia PC: n sarjaliitännästä.

Sarjaliitännät ovat melko harvinaisia ​​useimmissa uusissa koneissa (eivätkä ne ole Macissa), joten useimmat ihmiset käyttävät USB: tä sen sijaan. Jotta USB-data voidaan muuntaa pienemmäksi siruksi, käytämme järjestelmän sisäistä ohjelmoijaa (ISP). Noise Toy -suunnittelijat järjestivät tämän PROGRAM-otsikon liittymään tiettyyn ISP: hen - Tuxgraphicsin AvrUsb500: een. Minulla ei ollut sellaista, joka käsi kävi, mutta minulla oli toinen Internet-palveluntarjoaja, nimittäin Adafruit Industriesin USBTinyISP. Jotta sitä voitaisiin käyttää lelun kanssa, tarvittiin hieman mukautusta.

USBTinyISP: ssä on 6-nastainen liitin, vielä yksi pin kuin AvrUsb500. Voit selvittää, mitkä nastat tekivät mitä, vertain molempien laitteiden asiakirjoja ja vertain ATTiny85: n tietolehteä.

Osoittautuu, että USBTiny: n lisätappi antaa valinnaisen tehon laudalle, kun taas AvrUsb500 olettaa, että siru on jo käynnissä ohjelmoinnin aikana.

Tätä tarkoitusta varten poistin USBTinyISP: n valinnaisen virtapistokkeen siirtämällä laitteen sisällä olevan yksinkertaisen hyppyjohdon. Käyttämällä näitä pin-vertailuja koskevaa tietoa laadin nopean kaavion, jossa kuvataan, miten minun USBTiny-laitteen pitäisi liittyä lelun PROGRAM-otsikkoon.

Voit käyttää kiinteää ydin- tai hyppyjohdinta oikean yhteyden muodostamiseen - pysyvämmän ratkaisun tekemiseen tein pienen sovittimen täydestä tasosta -

Ei liian siisti, mutta se saa työn.

Osa 2 - Ohjelmiston hauskaa ja ohjelmointiprosessia

Kun käyttöliittymä on tajunnut, tarvitset ohjelmistoja todellisen ohjelmoinnin suorittamiseksi. Latasin ja asensin AVR MacPackin PowerBookiin (ne, joilla on ikkunat voivat käyttää WinAVRia) Sitten tutustuin perusohjelmointiprosessiin Ladyada.netin kätevien opetusohjelmien kautta.

Muita meluntorjuntalähteitä voidaan ladata Loud Objects -sivustosta. Nämä ovat .c-tiedostoja ja ne on koottava .hex: ksi ennen kuin ne kirjoitetaan sirulle. Tätä varten tarvitset "makefile" -toiminnon, joka määrittää joitakin tarvittavia muuttujia. Löysin yksinkertaisen mallin makefile-sivuston Psychogenic-sivustosta ja päivitin sen tarvittavilla tiedoilla -

mikrokontrollerin nimi:

MCU = attiny85 PROGRAMMER_MCU = t85

projektin nimi:

Projektin = mynoisetoyproject

.c-lähdetiedoston nimi:

PRJSRC = mynoisetoyproject.c

Voit ladata muokatun makefileen täältä.

Tallenna uusi makefile kuten (arvasit sen)makefile”Ja sijoita se uuteen kansioon”mynoisetoyproject" sisällä asiakirjat kansio.

Loud Objects 'dave_matthews_band.c kuulosti kokeilun tärkeimmältä kohdalta, joten avasin sen suosikkitekstitiedostossani ja menin töihin. Havaitsen koodin, huomasin yhden bitin, joka näytti tutulta. Utelias, korvatin kaikki Random () ja korvasi ne 0 - tallensi sitten tiedoston nimellä ”mynoisetoyproject.c” sisään Dokumentit / mynoisetoyproject.

Kun kansio ja tiedostot olivat hyvä mennä, jatkoin seuraavia muodollisuuksia:

Avaa Terminal-sovellus ja anna nämä rivit:

cd Documents / mynoisetoyproject tekevät kaikki mynoisetoyproject.hex: stä

Kytke Internet-palveluntarjoaja tietokoneeseen USB: n kautta, sitten meluntorjuntaan ja syötä tämä seuraava -

avrdude -c usbtiny -p t85 -U salama: w: mynoisetoyproject.hex

Kun päätelaite näytti nopean latausprosessin, irrotin lelun ja annoin pikku demoni kuunnella. Kuulin hieman ennustettavasti vähemmän satunnaisia ​​versioita "dave_matthews_band.c" - kutsun sitä "chris_mattews_band"

Kuuntele chris_matthews_band

Vain pari muutosta alkuperäiseen ohjelmaan muutti huomattavasti tuotettua ääntä. Jos olet työskennellyt Arduinon kanssa ennen kuin tunnistat todennäköisesti kielen näissä lähdetiedostoissa. Tämäntyyppinen hakkerointi näyttää olevan hyvä tapa oppia lisää koodauksesta yleensä - ja se on hauskaa!

Osa 3 - Tiedostot ja sellaiset

Seuraavassa on muutamia esimerkkejä Loud Objects -sivuston muista ohjelmista -

  • birdlane.mp3
  • stereo.mp3
  • dave_matthews_band.mp3
  • Ike.mp3
  • kunrnd.mp3
  • rptrnd.mp3
  • salvation.mp3

Jos et halua hakata / kirjoittaa mitään koodia, tässä on .zip kaikista alkuperäisistä ohjelmista, jotka on valmiiksi koottu .hex-tiedostoina ladattavaksi - Noise Toy hex pack

Ja tässä on muokattu makefile ja esimerkkikoodi hack - mynoisetoyproject makefile

Toivon, että tämä voi auttaa jotakin murtamaan jäätä mikrokontrollerin kehityksellä ja saamaan ylimääräisen rajan ulos yksinkertaisesta mutta erittäin hyödyllisestä paketista. Jos kirjoitat / hakasit hyvän ohjelman paketille, muista jakaa se alla olevissa kommenteissa!

EOM

Osake

Jättänyt Kommenttia