Metalen Doctor Who Sonic schroevendraaier met Arduino (10 / 13 stap)

Stap 10: Arduino Sketch geplukt, behalve


Hier is hoe de code werkt en hoe om het te wijzigen.  Gelieve spelen met de onderstaande code om verschillende geluiden en delen van uw resultaten in het commentaar. Als je serieus bent over het kopen van een kit van mij, dan verwachten ik je spelen met deze code en geeft me feedback.

/*
* Versie 2.5 M
* Voor ATTiny85 16Mhz
*/

#include "pitches.h"

Deze regel bevat het tabblad worp in de code. Het tabblad pitch.h bevat de verschillende toonhoogte - we zullen noemen ze "NOTE" van nu af aan.

int melodie [] {} =
NOTE_F7, NOTE_G4, NOTE_A2};

Deze matrix "melody" bevat de toelichting die zal worden gespeeld en de volgorde waarin die ze worden gespeeld in. Ik experimenteerde met notities van 2 tot en met 5. Ik voelde voor mijn project 3 noten een goede warble of piepende ruis voor de sonics die ik maakte gemaakt. Ik had een vriend van de muzikant analyseren het echte geluid van de TV-show en hij vertelde me dat de overheersende notitie was in de schaal van autoG. Gelieve te knoeien met deze array door toe te voegen en het verwijderen van notities, het wijzigen van de notities en het organiseren van de volgorde totdat u het geluid dat je wilt krijgen.

int noteDurations [] {9,12,7} =;

Opmerking de duur. Muzieknoten zijn meestal goede nota, half note, kwartnoot en 8th opmerking. Deze omgeving wordt voorgesteld in de code als 1,2,4,8 wat betekent 1 seconde gedeeld door 1,2,4 of 8. Echter zijn wij niet het maken van muziek. We maken een warbly, vrolijke lawaai. Dus speelde ik met de duur van de niet-conventionele Opmerking zoals notities duur 1/15th voor een tweede lange of 1/6th - of 1/12th. De matrix "noteDuration" onder staten die NOTE_F7 zal worden gespeeld op 1/9th duur, NOTE_G4 speelt voor 1/12th, en NOTE_A2 bij 1/7th. De duur van een opmerking moet worden opgegeven voor elke noot in de "melody"-matrix. Spelen met noteDuration om het juiste ritme voor uw sonic.

int x = 0;

Dit is gewoon een variabele moet worden gebruikt als een teller

int led1 = 3;
int led2 = 2;
VOID Setup {}
pinMode (led1, OUTPUT);
pinMode (led2, OUTPUT);
}

Deze twee variabelen definiëren de pincodes voor onze LED-uitgang. Als u echt wilde u twee meer LEDs kunt toevoegen, aangezien niet alle van de pinnen op de ATTiny85 wordt gebruikt. Maar ik denk dat twee is genoeg.

void loop {}

Hoofdlus. Met elke punt via de hoofdlus, is slechts één noot gespeeld na de opgegeven tijd gevolgd door een pauze (meer over pauzes hieronder).

Als (x < 5) {}
digitalWrite (led1, hoge);
digitalWrite (led2, laag);
x = x ++;
}
anders als (x < 7) {}
digitalWrite (led1, hoge);
digitalWrite (led2, hoge);
x = x ++;
}
anders als (x < 9) {}
digitalWrite (led1, laag);
digitalWrite (led2, hoge);
x = x ++;
}
else {}
x = 0;
}

In dit gedeelte definieert de LED knipperen patroon. Elke logica die u willen maken van het Knipoogje patroon dat u wilt gebruiken. De mijne gebruikt 'x' als een teller met een bereik van 0-10. Op de lagere bereik LED1 brandt en LED2 is uitgeschakeld. Klik vervolgens in het middelste bereik van "x" zowel LEDs zijn op. Op het bovenste bereik voor "x" is LED1 OFF en LED2 is op.

voor (int thisNote = 0; thisNote < 3; thisNote ++) {}
int noteDuration = 1000/noteDurations [thisNote];

De bovenstaande code gaat door en speelt de noten in de melodie matrix één nota tegelijk. Het deel waar het zegt "thisNote < 3" de waarde moet gelijk zijn aan het aantal notities in de matrix. Dus als "melody" vier noten dan heeft "thisNote < 4". De rest van de cijfers van de code uit de opmerking duur in milliseconden.

Toon (4, melody[thisNote],noteDuration);

Dit is waar de Toon is eigenlijk uitgedraaide aan de spreker. In dit voorbeeld is de uitvoer op pin 4.

int pauseBetweenNotes = noteDuration *. 14;
delay(pauseBetweenNotes);
noTone(4);

Een pauze tussen notities moet worden ingevoegd anders de notities tegelijk uitvoeren en het klinkt als een slechte gierende geluid. De duur van de pauze kan een vaste hoeveelheid tijd (zoals 1/4 seconde tussen elke noot) maar moet gebaseerd zijn op de duur van de opmerking om het goed recht.  De onderstaande code stelt de pauze tijd als een percentage van de duur van de opmerking.  Spelen met de decimale waarde te krijgen van een goede pauze tijd tussen notities. Ik vond een waarde tussen.09-.21 als een goede hoeveelheid pauze. De laatste regel "noTone(4)" uitgeschakeld in de output naar pin 4.

}
}

EINDE van code

Gerelateerde Artikelen

"Doctor Who" Sonic schroevendraaier (9e/10e Doctor)

"Doctor Who" Sonic schroevendraaier (9e/10e Doctor)

toen een vriend gaf me het idee verder te gaan als de tiende Doctor voor Halloween, was ik helemaal verkocht op het, ondanks het feit dat ik had slechts vier dagen tot de grote partij het om samen te trekken. Het kostuum zelf waarschijnlijk rechtvaar
Doctor Who Sonic schroevendraaier WiFi stoorzender

Doctor Who Sonic schroevendraaier WiFi stoorzender

Dus als een grote fan van Doctor Who had ik een idee van het bouwen van een sonische schroevendraaier, dat ook een wifi stoorzender was. Dus in deze video maakte ik een met geen echte planning alleen met behulp van 3 goedkope fakkels buiten ebay en d
How To Build The 4e Doctor's Sonic schroevendraaier

How To Build The 4e Doctor's Sonic schroevendraaier

dit instructable ziet u hoe te bouwen van de 4e dokter sonic schroevendraaier. Dit is deel één, dat het belangrijkste deel is. Deel twee zal omvatten de elektronica.Stap 1: materialen Aluminium buizen-ongeveer.55 in 5/8 ID in. OD-5/8 in-ID 3/4 in OD-
Van de meester Laser schroevendraaier van "Doctor Who"

Van de meester Laser schroevendraaier van "Doctor Who"

Fellow Whovians begrijpen dat Doctor Who sonic schroevendraaier speelgoed onnodig duur zijn. Hier is een model van de Master's laser schroevendraaier (er zijn al verschillende Instructables op de sonic, is het tijd om iets een beetje meer unieke te d
Sonic schroevendraaier TV-B-Gone conversie

Sonic schroevendraaier TV-B-Gone conversie

dus vorige maand, ik ontdekte verjaardag van mijn vriend is het bedenken, en ik besloot dat ik moest ze iets verbazingwekkend.  Ze is een echt grote fan van de Doctor Who, en ik was net klaar met kijken naar alle van de afleveringen die momenteel op
Lego Mini Sonic schroevendraaier

Lego Mini Sonic schroevendraaier

wil graag een mini Lego 11e Doctor's Sonic schroevendraaier? U bent bij ons aan het juiste adres! Dit strekt zich ook uit! U kunt het desgewenst wijzigen.Stap 1: Om de stukken te laten De stukken weergegeven zijn wat u nodig zult hebben.Stap 2: De Em
Sonic schroevendraaier Wand: Doctor Who voldoet aan Harry Potter

Sonic schroevendraaier Wand: Doctor Who voldoet aan Harry Potter

Backgrund:Ongeveer een jaar geleden zag een vriend van mij een zeer mooie Sonic schroevendraaier Wand gemaakt door Maranda Li aka Praeclarus Wands.Als gevolg van die worden uitverkocht vroeg ze mij als zou het mogelijk voor mij om haar een, dat is wa
Hoe maken Doctor Who's Sonic schroevendraaier

Hoe maken Doctor Who's Sonic schroevendraaier

ik hou DOCTOR WHO en ik merk dat hij altijd heeft dit kleine instrument dat hij om open deuren en pick sloten gebruikt en allerlei dingen. Ik keek een paar dingen op google erover en ontdekte dat het heet een SONIC schroevendraaier. Dus ik wist dat i
Maken van een Sonic schroevendraaier voor de Premiere van Doctor Who

Maken van een Sonic schroevendraaier voor de Premiere van Doctor Who

Is het Happy Hour nog?Als u houdt van wodka drinken en de arts, probeer dit nerdy recept voor een "Sonic schroevendraaier". Wodka, jus d'orange en sommige timey wimey en u zult wibbly-wiebelig.Sorry, had om het te doen.Deze video is onderdeel va
LEGO tiende Doctor, Sonic schroevendraaier, & TARDIS

LEGO tiende Doctor, Sonic schroevendraaier, & TARDIS

ik keek rond op Instructables de andere dag, en ik kon het niet vinden van een model van het echt goed, gemakkelijk te maken van de TARDIS. Dus, natuurlijk heb ik besloten om een mijn zelf, en voeg een tiende Doctor Minifiguren en Sonic schroevendraa
DIY functionele Sonic schroevendraaier

DIY functionele Sonic schroevendraaier

Laatste Halloween mijn oudste zoon die Colin verkleed als de dokter van Doctor Who en ik in elkaar geflanst een Sonic schroevendraaier voor hem van bits van junk die ik scrounged omhoog in de garage. Bij het zien van de Sonic schroevendraaier besloot
Waarvan klok?? Doctor Who's Clock!

Waarvan klok?? Doctor Who's Clock!

Adventures in Time And Space!Nu verkrijgbaar in mijn Etsy Shop!Ik houd het maken van klokken. Ik ben gefascineerd door tijd en reizen in de tijd. Mogelijk vanwege dit graag ik ook Doctor Who (de langstlopende sciencefiction televisieserie ooit!).De n
Sonic schroevendraaier

Sonic schroevendraaier

eerst en vooral wil ik beginnen met te zeggen dat een Sonic schroevendraaier een handelsmerk item van Doctor Who en de BBC is. OK hopelijk dat dekt mijn kont juridisch lol.Dus ja! Mijn eerste instructable!!! Dus wees voorzichtig... maar voel je vrij
Werken van Sonic schroevendraaier

Werken van Sonic schroevendraaier

Update van 2/4/2014Versie 3.0 is gereed en klaar om te worden opgemaakt op instructables. Ik heb niet voltooien van de instructies zoals ik net school back-up begonnen ben, maar zij komen moeten, in de hoop voor vrije tijd. Ik wil echter opgemaakt va