LinKit één Chiptunes met zoemer (4 / 5 stap)

Stap 4: Upload Code


De code hieronder om uw linkit één te uploaden. De code hieronder zal spelen de mario theme tune. De switches moeten UART, SPI en USB-posities.

#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 hoofdthema melodie
int melodie [] {} =
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 hen 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,
};
Onderwereld melodie
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, OUTPUT); //buzzer
pinMode (13, OUTPUT); //led-indicator als zingen een notitie

}
void loop
{
zingen de liedjes
Sing(1);
Sing(1);
Sing(2);
}
int lied = 0;

VOID zingen (int s) {}
itereren over de noten van de melodie:
lied = s;
Als (lied == 2) {}
Serial.println ("' Underworld thema'");
int size = sizeof(underworld_melody) / sizeof(int);
voor (int thisNote = 0; thisNote < grootte; thisNote ++) {}

voor het berekenen van de duur van de opmerking, neem één seconde
gedeeld door het type opmerking.
bijvoorbeeld kwartnoot = 1000 / 4, achtste noot = 1000/8, enz.
int noteDuration = 1000 / underworld_tempo [thisNote];

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

om te onderscheiden van de notities, stel een minimuminterval tussen hen.
de nota's duur + 30% schijnt goed te werken:
int pauseBetweenNotes = noteDuration * 1.30;
delay(pauseBetweenNotes);

Stop het afspelen van de Toon:
Buzz (melodyPin, 0, noteDuration);

}

} else {}

Serial.println ("' Mario Theme');
int size = sizeof(melody) / sizeof(int);
voor (int thisNote = 0; thisNote < grootte; thisNote ++) {}

voor het berekenen van de duur van de opmerking, neem één seconde
gedeeld door het type opmerking.
bijvoorbeeld kwartnoot = 1000 / 4, achtste noot = 1000/8, enz.
int noteDuration = 1000 / tempo [thisNote];

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

om te onderscheiden van de notities, stel een minimuminterval tussen hen.
de nota's duur + 30% schijnt goed te werken:
int pauseBetweenNotes = noteDuration * 1.30;
delay(pauseBetweenNotes);

Stop het afspelen van de Toon:
Buzz (melodyPin, 0, noteDuration);

}
}
}

VOID buzz (int targetPin, lange frequentie, lange lengte) {}
digitalWrite (13, hoge);
lange delayValue = 1000000 / frequentie / 2; berekenen van de vertragingswaarde tussen overgangen
1 seconde het waard van microseconden, gedeeld door de frequentie, vervolgens gesplitst in tweeën sinds
Er zijn twee fasen aan elke cyclus
lange numCycles = frequentie * lengte / 1000; Bereken het aantal cycli voor juiste timing
vermenigvuldigen cycli frequentie, die is echt per seconde, door het aantal seconden
het totale aantal cycli te produceren
voor (lang ik = 0; ik < numCycles; i ++) {/ / voor de berekende lengte van tijd...
digitalWrite (targetPin, hoge); Schrijf de zoemer pin hoog te duwen uit de diaphram
delayMicroseconds(delayValue); wachten op de berekende vertragingswaarde
digitalWrite (targetPin, laag); Schrijf de zoemer pin lage zich terugtrekken van de diaphram
delayMicroseconds(delayValue); weer wachten of de berekende vertragingswaarde
}
digitalWrite (13, laag);

}

Gerelateerde Artikelen

LinkIt ONE - communicatie met python

LinkIt ONE - communicatie met python

Hallo collega makers!Mediatek het nieuwe bestuur, LinkIt ONE biedt grote mogelijkheden - GPS, WiFi, Bluetooth, GSM, uitbreidbaarheid met gpio, sterke processor en meer. Maar soms moet je nog steeds het comfort van python voor parseren bestanden of te
LinKit one - vergelijking met schilden

LinKit one - vergelijking met schilden

LinKit één is een aardig pak van alle antennes en in bouwen schilden om te maken van vele mobiele apparaten. Met slechts 59$ het verstrek de faciliteit van ongeveer 214$. Planken zijn stand als een unieke board met geïntegreerde veel. Zelfs het maken
LinKit één Baics: Audio zoemer

LinKit één Baics: Audio zoemer

Maakt eenvoudige melodieënStap 1: materialen1Kohm weerstandZoemerLinKit eenBreadboardDraadNPN-transistorStap 2: Stap 1: aansluitenEerst sluit de zoemer, transistor en weerstanden. Volg de bovenstaande afbeelding.Stap 3: Aansluiten van voortgezet Verb
Muziek spelen met zoemer gebruikt Webserver (met behulp van WIZwiki-W7500-board)

Muziek spelen met zoemer gebruikt Webserver (met behulp van WIZwiki-W7500-board)

Ik zal een spelen piano Webserver.U kunt spelen piano met behulp van de webserver die hebben een dit WIZwiki-W7500 project door gewoon openning de website als u deze inhoud te volgen.Het is zeer gemakkelijk en eenvoudig manier.Laten we beginnen!Stap
Upgraden van oude multimeter met zoemer

Upgraden van oude multimeter met zoemer

Ik heb deze multimeter gebruikt aangezien ik over de elektronica weet. Ik denk dat het manifactured in 1974 dus ik 1 jaar ouder dan mijn multimeter ben. Het is een duurzaam gereedschap en heb ik besloten om het te upgraden met buzer circuit.Stap 1: S
LinkIT één capaciteit Meter

LinkIT één capaciteit Meter

Condensatoren kunnen lastig zijn. Soms de etikettering aan de kant van hen kunt wrijven of smelten af en nu bent u geplakt met een condensator die je niet dat de capaciteit van weet. In deze handleiding gaan we door middel van het instellen van een c
Hoe gemakkelijk om muziek te spelen met zoemer op arduino (The imperial March - STAR WARS)

Hoe gemakkelijk om muziek te spelen met zoemer op arduino (The imperial March - STAR WARS)

Hallo, ik heb onlangs ontworpen een soort "bibliotheek" om het gemakkelijker maken om de exacte noten spelen op arduino met de zoemer.Ik opgenomen de frequenties van de toelichting (aangenaam om gehoord te worden) met #defines.Ik heb vervolgens
Afstand Detector met zoemer en LED-meter.

Afstand Detector met zoemer en LED-meter.

Overzicht:Dit is een eenvoudige afstand detectie circuit met het gebruik van een ultrasone sensor, een zoemer, een rij voor LEDs, en 2 Relais (optioneel).De ultrasone afstandssensor brandt een rij van LEDs afhankelijk van afstand. Dan als een verande
LinKit ONE: Voltage Meter

LinKit ONE: Voltage Meter

Voltage Meter met behulp van een potentiometerStap 1: materiaal potentiometerweerstanddraadbreadboardLinKit eenStap 2: verbinding makenSluit eerst de potmeter. Omdat het de grootste is het moeilijkst te krijgen op. Nadat die de draden en weerstand he
Experiment 2 Experiment met zoemer

Experiment 2 Experiment met zoemer

de componenten zijn een zoemer, twee jumper draden en een breadboard.Stap 1: schema's De lange pin van de zoemer is positief, en de kortere is negatief. Dit is ook aangegeven op de bodem van de zoemer.Stap 2: Bedradingsschema De positieve pin van de
LPG / Biogas detectiesysteem met MediaTek LinKIt One

LPG / Biogas detectiesysteem met MediaTek LinKIt One

De LinKIt een ontwikkelplatform werd ontworpen en gelanceerd door MediaTek Labs met een kleine footprint, waarmee de oprichting van wearables en IoT apparaten, met rijke connectiviteit. Instructables HQ hebben bezaaid met ongeveer 250 leden van de Ge
Geluid – niveau gouverneur en deur Alarm systeem met behulp van LINKIT één

Geluid – niveau gouverneur en deur Alarm systeem met behulp van LINKIT één

Zet de linkit een als een controle-eenheid als een geluid gouverneur!Stap 1: InleidingLINKIT een bord is eenéén-steen-meesterwerk die u gebruiken kunt om te doden van vele vogels! Dit forum heeft verbazingwekkende architectuur waarin haar enorme moge
Digitale Object item LDR Interfacing met Mediatek LinkIt One

Digitale Object item LDR Interfacing met Mediatek LinkIt One

In dit Instructable zult u kunnen aan Mediatek Linkit een interfacekaart met behulp van LDR en digitale Object Counter die kan tellen objecten t/m 9999.Stap 1: vereisten General-Purpose PCB Board4 CD 4026 Johnson decennium teller.4 gemeenschappelijke
Twilight schakelaar met linkit een

Twilight schakelaar met linkit een

Een schemering switch is degene die zichzelf volgens dag en nacht schakelt. De hoeveelheid licht op de LDR valt helpt ons om te weten of het dag of nacht. U kunt het ook gebruiken als een donker sensor. Het is een led aangesloten. Wanneer meer licht