Linkit en Chiptunes med Summer (4 / 5 steg)

Steg 4: Ladda upp koden



Ladda upp koden nedan till din linkit en. Koden nedan kommer att spela i mario tema tune. Växlarna bör i SPI, USB och UART positioner.

#define NOTE_B0 31
#define NOTE_C1 33
#define NOTE_CS1 35
#define NOTE_D1 37
#define NOTE_DS1 39
#define NOTE_E1 41
#define NOTE_F1 44
#define NOTE_FS1 46
#define NOTE_G1 49
#define NOTE_GS1 52
#define NOTE_A1 55
#define NOTE_AS1 58
#define NOTE_B1 62
#define NOTE_C2 65
#define NOTE_CS2 69
#define NOTE_D2 73
#define NOTE_DS2 78
#define NOTE_E2 82
#define NOTE_F2 87
#define NOTE_FS2 93
#define NOTE_G2 98
#define NOTE_GS2 104
#define NOTE_A2 110
#define NOTE_AS2 117
#define NOTE_B2 123
#define NOTE_C3 131
#define NOTE_CS3 139
#define NOTE_D3 147
#define NOTE_DS3 156
#define NOTE_E3 165
#define NOTE_F3 175
#define NOTE_FS3 185
#define NOTE_G3 196
#define NOTE_GS3 208
#define NOTE_A3 220
#define NOTE_AS3 233
#define NOTE_B3 247
#define NOTE_C4 262
#define NOTE_CS4 277
#define NOTE_D4 294
#define NOTE_DS4 311
#define NOTE_E4 330
#define NOTE_F4 349
#define NOTE_FS4 370
#define NOTE_G4 392
#define NOTE_GS4 415
#define NOTE_A4 440
#define NOTE_AS4 466
#define NOTE_B4 494
#define NOTE_C5 523
#define NOTE_CS5 554
#define NOTE_D5 587
#define NOTE_DS5 622
#define NOTE_E5 659
#define NOTE_F5 698
#define NOTE_FS5 740
#define NOTE_G5 784
#define NOTE_GS5 831
#define NOTE_A5 880
#define NOTE_AS5 932
#define NOTE_B5 988
#define NOTE_C6 1047
#define NOTE_CS6 1109
#define NOTE_D6 1175
#define NOTE_DS6 1245
#define NOTE_E6 1319
#define NOTE_F6 1397
#define NOTE_FS6 1480
#define NOTE_G6 1568
#define NOTE_GS6 1661
#define NOTE_A6 1760
#define NOTE_AS6 1865
#define NOTE_B6 1976
#define NOTE_C7 2093
#define NOTE_CS7 2217
#define NOTE_D7 2349
#define NOTE_DS7 2489
#define NOTE_E7 2637
#define NOTE_F7 2794
#define NOTE_FS7 2960
#define NOTE_G7 3136
#define NOTE_GS7 3322
#define NOTE_A7 3520
#define NOTE_AS7 3729
#define NOTE_B7 3951
#define NOTE_C8 4186
#define NOTE_CS8 4435
#define NOTE_D8 4699
#define NOTE_DS8 4978

#define melodyPin 2
Mario huvudtemat melodi
int melodi [] = {
NOTE_E7, NOTE_E7, 0, NOTE_E7,
0, NOTE_C7, NOTE_E7, 0,
NOTE_G7, 0, 0, 0,
NOTE_G6, 0, 0, 0,

NOTE_C7, 0, 0, NOTE_G6,
0, 0, NOTE_E6, 0,
0, NOTE_A6, 0, NOTE_B6,
0, NOTE_AS6, NOTE_A6, 0,

NOTE_G6, NOTE_E7, NOTE_G7,
NOTE_A7, 0, NOTE_F7, NOTE_G7,
0, NOTE_E7, 0, NOTE_C7,
NOTE_D7, NOTE_B6, 0, 0,

NOTE_C7, 0, 0, NOTE_G6,
0, 0, NOTE_E6, 0,
0, NOTE_A6, 0, NOTE_B6,
0, NOTE_AS6, NOTE_A6, 0,

NOTE_G6, NOTE_E7, NOTE_G7,
NOTE_A7, 0, NOTE_F7, NOTE_G7,
0, NOTE_E7, 0, NOTE_C7,
NOTE_D7, NOTE_B6, 0, 0
};
Mario main dem tempo
int tempo [] = {
12, 12, 12, 12,
12, 12, 12, 12,
12, 12, 12, 12,
12, 12, 12, 12,

12, 12, 12, 12,
12, 12, 12, 12,
12, 12, 12, 12,
12, 12, 12, 12,

9, 9, 9,
12, 12, 12, 12,
12, 12, 12, 12,
12, 12, 12, 12,

12, 12, 12, 12,
12, 12, 12, 12,
12, 12, 12, 12,
12, 12, 12, 12,

9, 9, 9,
12, 12, 12, 12,
12, 12, 12, 12,
12, 12, 12, 12,
};
Underjorden melodi
int underworld_melody [] = {
NOTE_C4, NOTE_C5, NOTE_A3, NOTE_A4,
NOTE_AS3, NOTE_AS4, 0,
0,
NOTE_C4, NOTE_C5, NOTE_A3, NOTE_A4,
NOTE_AS3, NOTE_AS4, 0,
0,
NOTE_F3, NOTE_F4, NOTE_D3, NOTE_D4,
NOTE_DS3, NOTE_DS4, 0,
0,
NOTE_F3, NOTE_F4, NOTE_D3, NOTE_D4,
NOTE_DS3, NOTE_DS4, 0,
0, NOTE_DS4, NOTE_CS4, NOTE_D4,
NOTE_CS4, NOTE_DS4,
NOTE_DS4, NOTE_GS3,
NOTE_G3, NOTE_CS4,
NOTE_C4, NOTE_FS4, NOTE_F4, NOTE_E3, NOTE_AS4, NOTE_A4,
NOTE_GS4, NOTE_DS4, NOTE_B3,
NOTE_AS3, NOTE_A3, NOTE_GS3,
0, 0, 0
};
Underwolrd tempo
int underworld_tempo [] = {
12, 12, 12, 12,
12, 12, 6,
3,
12, 12, 12, 12,
12, 12, 6,
3,
12, 12, 12, 12,
12, 12, 6,
3,
12, 12, 12, 12,
12, 12, 6,
6, 18, 18, 18,
6, 6,
6, 6,
6, 6,
18, 18, 18, 18, 18, 18,
10, 10, 10,
10, 10, 10,
3, 3, 3
};

void setup(void)
{
pinMode (2, utgång); //buzzer
pinMode (13, OUTPUT); //led indikator när sjunger en anteckning

}
void loop()
{
sjunga låtarna
Sing(1);
Sing(1);
Sing(2);
}
int låten = 0;

void sjunga (int s) {
iterera över tonerna i melodin:
Låt = s;
om (låten == 2) {
Serial.println ("" Underworld tema"");
int storlek = sizeof(underworld_melody) / sizeof(int);
för (int thisNote = 0; thisNote < storlek; thisNote ++) {

för att beräkna noterar varaktighet, ta en sekund
dividerat med Noteringstyp.
e.g. fjärdedelsnot = 1000 / 4, åttondelen noterar = 1000/8, etc.
int noteDuration = 1000 / underworld_tempo [thisNote];

Buzz (melodyPin, underworld_melody [thisNote], noteDuration);

Ange en minsta tid mellan dem för att skilja anteckningar.
tonens längd + 30% verkar fungera bra:
int pauseBetweenNotes = noteDuration * 1,30;
Delay(pauseBetweenNotes);

stoppa tonen uppspelningen:
Buzz (melodyPin, 0, noteDuration);

}

} annat {

Serial.println ("' Mario Theme'");
int storlek = sizeof(melody) / sizeof(int);
för (int thisNote = 0; thisNote < storlek; thisNote ++) {

för att beräkna noterar varaktighet, ta en sekund
dividerat med Noteringstyp.
e.g. fjärdedelsnot = 1000 / 4, åttondelen noterar = 1000/8, etc.
int noteDuration = 1000 / tempo [thisNote];

Buzz (melodyPin, melody [thisNote], noteDuration);

Ange en minsta tid mellan dem för att skilja anteckningar.
tonens längd + 30% verkar fungera bra:
int pauseBetweenNotes = noteDuration * 1,30;
Delay(pauseBetweenNotes);

stoppa tonen uppspelningen:
Buzz (melodyPin, 0, noteDuration);

}
}
}

{Ogiltig buzz (int targetPin, lång frekvens, lång längd)
digitalWrite 13, hög.
lång delayValue = 1000000 / frekvens / 2; beräkna dröjsmål värdet mellan övergångar
1 sekund är värt mikrosekunder, dividerat med frekvensen, sedan kluvna sedan
Det finns två faser till varje cykel
lång numCycles = frekvens * längd / 1000; beräkna antalet cykler för rätt tid
multiplicera cykler frekvens, som är verkligen per sekund, med antalet sekunder för att
få det totala antalet cykler att producera
för (länge jag = 0; jag < numCycles; i ++) {/ / för den beräknade längden av tid...
digitalWrite (targetPin, hög); Skriv Summer pin hög att driva ut diaphram
delayMicroseconds(delayValue); vänta tills beräknad försening värde
digitalWrite (targetPin, låg); Skriv summern pin låg att dra tillbaka diaphram
delayMicroseconds(delayValue); vänta igen eller beräknad försening värde
}
digitalWrite 13, låg.

}

Se Steg
Relaterade Ämnen

Linkit en Baics: Ljud Summer

Gör grundläggande melodierSteg 1: material1kOhm ResistorSummernLinkit enSkärbrädaWireNPN transistorSteg 2: Steg 1: anslutaAnslut först Summer, transistor och motstånd. Följ bilden ovan.Steg 3: Ansluta fortsatte Anslut dessa tre sladdar på Linkit ONE....

LinkIt en - kommunikation med python

Hej Karl beslutsfattare!Mediateks nya styrelse, LinkIt en erbjuder stora möjligheter - GPS, WiFi, Bluetooth, GSM, utbyggbarhet med gpio, stark processor och mer. Men ibland måste du fortfarande bekvämligheten av python för parsning filer eller rita g...

Arduino avstånd detektor med Summer och LED'S

detta är en enkel guide om hur man gör en avstånd detektor med en Arduino, en HC-SRO4 Ultrasonic Sensor, en Summer och vissa lysdioder. Det slutliga målet med denna handledning är att använda summern och LED för att visa hur långt objektet är från ul...

Musik spelas med Summer används Webserver (med WIZwiki-W7500 styrelsen)

Jag kommer att presentera en spela piano Webserver.Du kan spela piano med webserver som har en denna WIZwiki-W7500 projekt av bara openning webbplatsen om du följer detta innehåll.Det är väldigt lätt och enkelt sätt.Låt oss börja!Steg 1: Förbered met...

Uppgradera gamla multimeter med Summer

Jag har använt denna multimeter eftersom jag vet om elektronik. Jag tror att det är manifactured 1974 så jag är 1 år äldre än min multimeter. Det är ett slitstarkt verktyg och jag beslöt att uppgradera den med buzer krets.Steg 1: Steg: 1 jag hittade...

Experiment 2 Experiment med Summer

komponenterna är en Summer, två hoppare ledningar och en skärbräda.Steg 1: scheman Den långa pin av summern är positiva, och den kortare är negativa. Detta markeras också på undersidan av summern.Steg 2: Kopplingsschema Den positiva pin av summern är...

Alkohol detektering med Linkit en

En Alkoholmätare är en enhet för skattning av blodalkoholhalten (BAC) från ett utandningsprov. Bevisinstrument mäta inte direkt blodalkoholkoncentration eller koncentration, vilket kräver en analys av ett blodprov. Istället, de uppskattar BAC indirek...

LPG detektor med LinkIt en

Den nya IoT styrelsen LinkIt en co-designade av Mediatek och utsäde Studios är en öppen källkod, högpresterande styrelsen för prototyptillverkning Wearables och IoT enheter. Det är en liten styrelse baserat på SoC som kommer med inbyggda Wi-Fi, GSM o...

Linkit en - jämförelse med sköldar

Linkit en är en trevlig förpackning av alla antenner och bygga shields att göra många mobila enheter. Med bara 59$ det ge anläggningen av omkring 214$. Med massa integrerad styrelser sin monter som en unik ombord. Även göra mobiltelefon med lätt berö...

Solar Power LinkIt (med Tracking)

Mediatek LinkIt en har en hel massa häftiga funktioner, tillsammans med inbyggd GPS och GPRS, medföljande batteri och laddare gjorde verkligen min dag, strömförsörjning till ett projekt om ofta ett elände, så det är bra att bokstavligen ha "batterier...

Grove startpaket med LinkIt en

När jag började med IoT jag var alla förvirrade om elektronik tyger, motstånd och kretsar, då jag fick Seeed Studio's Grove Starter Kit plus. Med detta har vi att bara koppla in modulerna som sensor istället för att hantera det genom lödning eller ba...

Snabbare detektering med LinkIt en

Med IR-sensorn kan vi upptäcka hastigheten på motor. Jaghar en liten rover som drivs av Intel Edison och jag var nyfiken på dess hastighet så låt oss skapa en enhet som kommer att upptäcka hastigheten hos ett fordon. I denna ansökan kommer vi att anv...

Fisa maskin (med Linkit en)

Ja, du läste titeln rätt. Detta är en automatisk fart brusgenerator. Det är en linkit en med en av två rörelsedetektorer ansluten till den. När någon eller något rör sig i närheten leker det en fjärt buller.Detta kan naturligtvis vara något buller oc...

Komma igång med en LinkIt - servon

Vad är poängen med att ha en utveckling styrelse om du skränande flytta saker med det?Detta är den guide som kommer att komma igång med att använda servon (inriktning digitalt styrda motorer) i ditt projekt med hjälp av en LinkIt styrelsen.Detta är å...

Uppgradera Firmware-Over-the-Air på LinkIt 7688 med MediaTek Cloud Sandbox

Hej alla! Detta är mitt första inlägg på instructables och jag skulle vilja dela med dig olika program på LinkIt Smart 7688 med MediaTek Cloud sandlåda.Idag, jag vill börja med hur att uppgradera firmware på din LinkIt Smart 7688 utveckling styrelse....

LeapTek: Leap Motion gränssnittet med MediaTek LinkIt en styrelse!

Hej alla,Jag Geeve George en 15 år gammal Maker/elektronik Hobbyist.I kärlek datorseende, Android-utveckling och algoritm Design.I är för närvarande i 11th Grade datavetenskapdeltagare på Little Rock Indian School. :) Hitta mer om mig på: www.geevege...

Hur handeln på Pokemon Silver och guld med en Gameboy Color link-kabel.

Detta visar att det är möjligt att handeln på pokemon guld och silver med gameboy förskott. Allt du behöver är en gameboy color link-kabel. Game Boy color link-kabeln fungerar med GBA aslong som du spelar en gameboy color spel. Det fungerar även med...

Mediatek linkit en - Bygg din egen spårning webbplats med hjälp av linkit en GPS, GPRS och JSP med Google karta

Först och främst mycket tack för Mediatek för skicka mig en Mediatek Linkit en styrelse. Jag är mycket glad å öppna förpackningen och arbeta med WIFI, Bluetooth, GPS, GSM, GPRS. Det är mycket trevligt. Ser utdata från varje kod har mitt sinne hoppa a...

Ljud-nivå guvernör och dörr larm System använder LINKIT en

Sätta linkit som en styrenhet som en sund regulator!Steg 1: IntroduktionLINKIT en board är enen-sten-mästerverk som du kan använda för att döda många fåglar! Denna styrelse har fantastiska arkitektur som definierar dess enorma kapacitet. Det lyser bl...