BBC Micro:Bit -viikko

11 thoughts
last posted Jan. 18, 2016, 11:05 p.m.

8 earlier thoughts

0

Projekti 4 - Musiikkisoitin

Hankin itselleni krokotiiliklipsullisia johtoja ja halusin kokeilla Microbitin musiikki moduulia. Moduulin dokumentaatiossa selitetään aika hyvin miten se toimii - musiikkia voi soittaa nuotti kerrallaan tai luomalla listan nuotteja. Mukana on myös joitain valmiita musiikinpätkiä joita voi käyttää sellaisenaan.

Ennen kuin pääsin testaamaan musiikkia tarvitsin kaiuttimen jonka yhdistää microbittiin. Käytin vanhoja passiivisia kaiuttimia (joihin ei tarvitse erillistä virtalähdettä). Kokeilin myös kännykän nappikuulokkeiden kanssa ja nekin toimivat, mutta äänenvoimakkuus oli liian kova joten niitä ei voinut laittaa korviin testatessa. Alla kuva käyttämästäni kaiuttimesta:

Yhdistämiseen käytin kaksi klipsullista johtoa. Mustan johdon yhdistin Marjan GND-pinnistä kaiuttimen jakkiliittimen alaosaan. Punaisen johdon yhdistin Marjan pin0:sta joko kaiuttimen jakkiliittimen yläosaan (jolloin musiikki soi vasemmanpuoleisesta kaiuttimesta) tai keskiosaan (jolloin musiikki soi oikeanpuoleisesta kaiuttimesta).

Musiikkimoduuli käyttää oletuksena pinniä 0 musiikin soittamiseen, mutta sen olisi voinut halutessaan vaihtaa asetuksella. Ensialkuun minulla oli vaikeuksia musiikin soittamisessa koska en tajunnut että moduuli pitää importata erikseen. Suuri osa tähän asti käyttämistäni toiminnoista onnistui kunhan ohjelman alussa oli from microbit import *, mutta musiikki piti lisätä erikseen import music avulla.

Musiikin soittaminen "blokkaa" oletusarvoisesti, mikä tarkoittaa sitä on pakko odottaa kunnes kappale loppuu ennnen kuin voi tehdä mitään muuta (kuten reagoida napin painallukseen). Asetuksen pystyi onnkesi vaihtamaan käyttämällä parametria wait=False. Halusin mahdollisuuden vaihtaa kappaletta vaikka edellinen kappale ei olisikaan vielä soinut loppuun asti.

Halusin myös vaihtaa kappaletta ravistamalla mikrobittiä, ja toteutukseen lainasin Martin O'Hanlonin kirjoittamaa koodia. Martinin koodi toimi hyvin huomaamaan ravistelun!

Lähdekoodi on luettavissa täällä.

2 later thoughts