Arduino tutorial Arduino Tutorial bundel.: Arduino experimenten Kit:. (ARDX) (8 / 13 stap)

Stap 8:.: muziek:. -(Pieze-Element) - CIRC06



Wat We doen:
Op dit punt hebben we gecontroleerde licht, beweging en elektronen, laat pakken geluid vervolgens. Maar gezond is een analoge verschijnselen, hoe zal onze digitale Arduino omgaan? We zullen eens te meer vertrouwen op de ongelooflijke snelheid waarmee het analoge-gedrag wordt nagebootst. Om dit te doen, zullen wij een piëzo-element hechten aan één van de digitale pinnen van de Arduino. Een piëzo-element maakt een klikken geluid elke keer dat het is gepulseerde met huidige. Als we het op de juiste frequentie pulse (bijvoorbeeld 440 keer een tweede om de opmerking midden A) deze klikken zal stormloop tezamen om te produceren van notities. Laat krijgen om te experimenteren met het en je Arduino spelen 'Twinkle Twinkle Little Star'.

(u kunt ook de fiche breadboard lay-out van de onderkant van deze stap)

De delen:

  • CIRC-06 Breadboard blad
  • 2 pin Header (x4)
  • Piëzo-Element (x1)
  • Draad

Het Circuit en alles inpluggen In:
Een kleine Video van alles wordt aangesloten

De Code: - bestand > Sketchbook > voorbeelden > digitale > melodie

 /* Melody * (cleft) 2005 D. Cuartielles for K3 * * This example uses a piezo speaker to play melodies. It sends * a square wave of the appropriate frequency to the piezo, * generating the corresponding tone. * * The calculation of the tones is made following the * mathematical operation: * * timeHigh = period / 2 = 1 / (2 * toneFrequency) * * where the different tones are described as in the table: * * note frequency period timeHigh * c 261 Hz 3830 1915 * d 294 Hz 3400 1700 * e 329 Hz 3038 1519 * f 349 Hz 2864 1432 * g 392 Hz 2550 1275 * a 440 Hz 2272 1136 * b 493 Hz 2028 1014 * C 523 Hz 1912 956 * * http://www.arduino.cc/en/Tutorial/Melody */ int speakerPin = 9;int length = 15; // the number of noteschar notes[] = "ccggaagffeeddc "; // a space represents a restint beats[] = { 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 4 };int tempo = 300;void playTone(int tone, int duration) { for (long i = 0; i < duration * 1000L; i += tone * 2) { digitalWrite(speakerPin, HIGH); delayMicroseconds(tone); digitalWrite(speakerPin, LOW); delayMicroseconds(tone); }}void playNote(char note, int duration) { char names[] = { 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C' }; int tones[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956 }; // play the tone corresponding to the note name for (int i = 0; i < 8; i++) { if (names[i] == note) { playTone(tones[i], duration); } }}void setup() { pinMode(speakerPin, OUTPUT);}void loop() { for (int i = 0; i < length; i++) { if (notes[i] == ' ') { delay(beats[i] * tempo); // rest } else { playNote(notes[i], beats[i] * tempo); } // pause between notes delay(tempo / 2); }} 

Niet werkt?

  • Er klinkt geen geluid - gegeven de grootte en vorm van het piezo element is het gemakkelijk om de juiste gaten op het breadboard te missen. Probeer dubbele controle van de plaatsing.
  • Can't denken terwijl de melodie is Playing. -Gewoon trek omhoog het piëzo-element terwijl u denken, uw programma uploaden dan steek de stekker terug in.
  • Moe van Twinkle Twinkle Little Star? -Als de code is geschreven, zodat u gemakkelijk uw eigen liedjes, Controleer de code hieronder kunt om te beginnen.

Waardoor het beter:
Spelen met de snelheid:
De timing voor elke noot is berekend op basis van variabelen, zoals we het geluid van elke noot of de timing kunt aanpassen. De snelheid van de melodie die u wilt wijzigen voor slechts één regel wijzigen.

 int tempo = 300; ---> int tempo = (new #) 

Verandering het in een groter getal te vertragen van de melodie of een kleiner aantal te versnellen.
Het afstemmen van de toelichting:
Als u zich zorgen maakt over de notities wordt een beetje uit van tune kan dit ook worden vastgesteld. De toelichting hebben zijn berekend op basis van een formule in de opmerkingenblok aan de bovenkant van het programma. Maar om af te stemmen individuele nota's net pas hun waarden in de matrix van de [] tonen omhoog of omlaag totdat ze goed recht. (elke noot wordt geëvenaard door de naam in de [namen] (dwz array. c = 1915)

 char names[] = { 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C' };int tones[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956 }; 

Het samenstellen van uw eigen melodieën:
Het programma is vooraf ingesteld om te spelen 'Twinkle Twinkle Little Star' echter de manier waarop het geprogrammeerde maakt het liedje gemakkelijk wijzigen. Elk nummer is gedefinieerd in een int en twee arrays, de int lengte definieert het aantal notities, de eerste matrix notities [] definieert elke noot en de tweede beats [] definieert hoe lang elke noot wordt gespeeld. Enkele voorbeelden:
Twinkle Twinkle Little Star

 int length = 15; char notes[] = "ccggaagffeeddc "; int beats[] = { 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 4 }; 

Happy Birthday (eerste lijn)

 int length = 13; char notes[] = "ccdcfeccdcgf "; int beats[] = {1,1,1,1,1,2,1,1,1,1,1,2,4}; 

Gerelateerde Artikelen

Arduino experimenten (Superformaat Instructable)

Arduino experimenten (Superformaat Instructable)

Massa's, zo niet alle Arduino experimenten gedaan op mijn manier, die wordt iedereen carry van uit naar de volgende persoon verschillende experimenten hebben als zodanig dit instructable zal een heleboel video's, en foto's evenals gedetailleerde besc
Hoe de "harnas voor Arduino/Seeeduino kit" te monteren door zaad Studio

Hoe de "harnas voor Arduino/Seeeduino kit" te monteren door zaad Studio

deze instructables is op hoe de "harnas voor Arduino/Seeeduino kit" door zaad Studio te monteren.Het harnas is een frame ontworpen om te houden van een Arduino en een 9 V batterij pack.Wat die u nodig hebt:"Benutten voor Arduino/Seeeduino k
Drukknop knipperend licht

Drukknop knipperend licht

dit instructable wordt uitgelegd hoe u een LED licht knipperen in- en uitschakelen voor tien seconden door op te drukken.  Het licht kan ook worden uitgeschakeld door een afzonderlijke uit-knop in te drukken.In dit voorbeeld is vergelijkbaar met het
Onderzoekers gids voor Arduino als uitgevoerd op OIT

Onderzoekers gids voor Arduino als uitgevoerd op OIT

middelenAdafruit ARDX - v1.3 experimenten Kit voor ArduinoOnderzoekers gids voor Arduino (PDF)Brood bord lay-outs (PDF)Arduino tutorial Arduino Tutorial bundel (Instructable)Deze Arduino Tutorial is gonna be zeer vergelijkbaar met de Arduino Tutorial
Arduino Chiptune Song

Arduino Chiptune Song

deze tutorial is om je te leren over transistoren, flyback dioden en basisfuncties van de Arduino. Dit Instructable is gebaseerd off van een circuit uit de Arduino experimenten Kit.Dit is een goede tutorial voor iedereen beginnen met Arduino. Deze on
Klimplant Catcher

Klimplant Catcher

Ooit wonder als iemand buiten uw huis "peering" door het raam in de deuropening staat? Nou, voor mijn instructable, ik zal het creëren van een Creeper Catcher. Dit instructable laat u weten wanneer iemand op uw front stap staat. Niet meer kruipe
Kabouter Trap!

Kabouter Trap!

17 maart komt rond eenmaal per jaar en een kabouter overvulling is altijd op mijn familie te doen lijst. We zijn het ontwerpen van een project dat zal lokken in een stiekeme kleine groene gold digger en trap ze in hun onuitblusbaar lust voor goud. We
Aan de slag van Arduino Kit (Absolute Beginner)

Aan de slag van Arduino Kit (Absolute Beginner)

Hallo is kerels, de Arduino Starter Kit geleverd door ElecFreaks (focus op Open hardware 4 jaar) een groot materiaal om gebruikers in het leren van stapsgewijze gunstig. Voor deze kit, er is geen noodzaak voor het solderen, steek gebruik, de aanleg v
Fiets - aangedreven arduino waterzuiveringsinstallatie (met UVC licht)

Fiets - aangedreven arduino waterzuiveringsinstallatie (met UVC licht)

Dit instructable toont hoe de macht van een UV-C waterzuivering met een fiets en arduino controle. Een dynamo aan de achterzijde van de fiets laadt een batterij (die wij hebben in eerste instantie al betalen voor dit project), die loopt van de arduin
Arduino all-in-One Getting Started Guide

Arduino all-in-One Getting Started Guide

een alles-in-één tutorial aan de slag met de Arduino open-source elektronica prototyping platform. Deze handleiding is bedoeld voor de beginner, maar moet ook worden nuttig voor u als u al met elektronica prutsen maar wilt aan de slag met de Arduino.
Paperduino 2.0 met Circuit Scribe - papier Arduino

Paperduino 2.0 met Circuit Scribe - papier Arduino

wat als het maken van een Arduino of bedrading van een Arduino net zo eenvoudig was als het afdrukken van een uit? In deze tutorial afgedrukt we onze eigen Pro Mini Arduino board met behulp van een penplotter en het Electroninks Circuit Scribe (een r
Arduino bot Android afstandsbediening

Arduino bot Android afstandsbediening

Hallo daar,In dit instructable wil de verbinding tussen de Arduino en Android verkennen. Beide zijn open, gemakkelijk-aan-programma omgeving (Nou ja, Android niet zo eenvoudig, maar heel), en de interactie tussen hen interessante human-to-device inte
Arduino SDcard eenvoudige Wav speler 2

Arduino SDcard eenvoudige Wav speler 2

Eerder introduceerden we "Arduino eenvoudige Wav speler", die eigenlijk niet de naam "wav player" verdient omdat het niet flexibel is helemaal voor de beperking van Arduino flash. Deze tutorial en set van kits, vormt een aanvulling op
BlueDuino de Android gecontroleerd Arduino Robot

BlueDuino de Android gecontroleerd Arduino Robot

Om te beginnen dit is mijn eerste instructable, en mijn eerste tutorial algemene. Met dit gezegd wijzen in de commentaren wat u in dit bericht niet begreep.Een paar weken geleden kreeg ik nieuwsgierig over hoe Bluetooth controleren op arduino werkt,