Stap 2: Arduino Circuit
• 1 luidspreker of 1 piezo
• 1 LilyPad Arduino w / de 328 ATmega met de juiste kabels verbinden met de computer
• 2" voor vrouwelijke headers
• 10 LEDs
• 1 ft van draad
• Soldeer
Procedure
Stap 1:
Download en installeer de Arduino software. Openen van Arduino en gebruiken de http://www.sparkfun.com/tutorial/AIK/ARDX-EG-SPAR-WEB.pdf om te oefenen maken van CIRC-06 "Piezo elementen."
Stap 2:
Arduino open en ga naar bestand > voorbeelden > digitale > knop. Instellen van de Arduino, de LED en de knop zoals is opgedragen in de commentaren. Probeer te compileren van de code, je arduino verbinding met de computer en het uploaden van de code naar je Arduino board gebruik ctrl U. Tip: ga je naar tools > bestuur en tools > seriële poort om ervoor te zorgen dat de juiste opties zijn geselecteerd. In dit geval gebruikt u de LilyPad Arduino w / 328 ATmega en de GMO voor welke poort u hebt aangesloten je Arduino aan.
Stap 3:
Nu bent u bereid uw eigen circuit maken. We willen maken van een combinatie van beide voorbeelden in een koeler. Het punt is alle LEDs oplichten wanneer de Arduino is het afspelen van muziek maken, en dat het afspelen van muziek alleen wanneer geactiveerd om dit te doen. Hier voor pin 2, in plaats van met behulp van een knop, zullen wij alleen ons een draad die zal werken als een antenne, menselijke capaciteit of motion sensing. Voor pin 3-8 en 10-13 verbinden we LED's die zal worden aangesloten op de grond. De spreker, blijft de verbinding pin 9 op grond. Ten slotte moet macht (de 3V-batterij) worden aangesloten van + naar-. Tip: zodat alle verbindingen robuuste het is effectief een vrouwelijke header die heeft zijn gesoldeerd op de bodem (al te sluiten zijn pinnen) te gebruiken. Als u verbinding maakt met deze kolomkop om te aarden, en sluit in de grond voor elke LED, zullen de spreker, en de macht, foutopsporing een veel eenvoudiger taak.
Stap 4:
Kopie plak deze code aan Arduino, compileren, en deze uploaden naar je board.
/ * Melody
* (gespleten) 2005 overleden Cuartielles voor K3
*
* Dit voorbeeld wordt een piëzo-luidspreker melodieën spelen. Het stuurt
* een blokgolf van de juiste frequentie naar de piezo, genereren
* de overeenkomstige Toon.
*
* De berekening van de tonen is gemaakt na de wiskundige
* bewerking:
*
* timeHigh = periode / 2 = 1 / (2 * toneFrequency)
*
* waar de verschillende tonen worden beschreven als in de tabel:
*
* Opmerking frequentie periode 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
* een 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 ledPin1 = 3;
int ledPin2 = 4;
int ledPin3 = 5;
int ledPin4 = 6;
int ledPin5 = 7;
int ledPin6 = 8;
int ledPin7 = 10;
int ledPin8 = 11;
int ledPin9 = 12;
int ledPin0 = 13;
Const int buttonPin = 2;
int buttonState = 0; moet variabelen declareren
int lengte = 15; het aantal notities
char merkt [] = "ccggaagffeeddc"; een ruimte vertegenwoordigt een rust
int verslaat [] = {1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 4};
int tempo = 300;
VOID playTone (int Toon, int duur) {}
voor (lang ik = 0; ik < duur * 1000L; ik += Toon * 2) {}
digitalWrite (speakerPin, hoge);
digitalWrite (ledPin1, hoge);
digitalWrite (ledPin2, hoge);
digitalWrite (ledPin3, hoge);
digitalWrite (ledPin4, hoge);
digitalWrite (ledPin5, hoge);
digitalWrite (ledPin6, hoge);
digitalWrite (ledPin7, hoge);
digitalWrite (ledPin8, hoge);
digitalWrite (ledPin9, hoge);
digitalWrite (ledPin0, hoge);
delayMicroseconds(tone);
digitalWrite (speakerPin, laag);
digitalWrite (ledPin1, laag);
digitalWrite (ledPin2, laag);
digitalWrite (ledPin3, laag);
digitalWrite (ledPin4, laag);
digitalWrite (ledPin5, laag);
digitalWrite (ledPin6, laag);
digitalWrite (ledPin7, laag);
digitalWrite (ledPin8, laag);
digitalWrite (ledPin9, laag);
digitalWrite (ledPin0, laag);
delayMicroseconds(tone);
}
}
VOID playNote (char opmerking, int duur) {}
char names [] = {'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C'};
int tonen [] = {1915 1700, 1519, 1432, 1275, 1136, 1014, 956};
spelen van de Toon die overeenkomt met de naam van de noot
for (int i = 0; ik < 8; i ++) {}
Als (namen [i] == Opmerking) {}
playTone (tonen [i], duur);
}
}
}
VOID Setup {}
pinMode (buttonPin, INPUT);
pinMode (speakerPin, OUTPUT);
pinMode (ledPin1, OUTPUT);
pinMode (ledPin2, OUTPUT);
pinMode (ledPin3, OUTPUT);
pinMode (ledPin4, OUTPUT);
pinMode (ledPin5, OUTPUT);
pinMode (ledPin6, OUTPUT);
pinMode (ledPin7, OUTPUT);
pinMode (ledPin8, OUTPUT);
pinMode (ledPin9, OUTPUT);
pinMode (ledPin0, OUTPUT);
}
void loop {}
buttonState = digitalRead(buttonPin);
while(buttonState==High) {}
for (int i = 0; ik < lengte; i ++) {}
Als (notities [i] == "") {}
vertraging (beats [i] * tempo); rest
buttonState = digitalRead(buttonPin);
}
else {}
playNote (notities [i], beats [i] * tempo);
buttonState = digitalRead(buttonPin);
}}
digitalWrite (speakerPin, hoge);
digitalWrite (ledPin1, hoge);
digitalWrite (ledPin2, hoge);
digitalWrite (ledPin3, hoge);
digitalWrite (ledPin4, hoge);
digitalWrite (ledPin5, hoge);
digitalWrite (ledPin6, hoge);
digitalWrite (ledPin7, hoge);
digitalWrite (ledPin8, hoge);
digitalWrite (ledPin9, hoge);
digitalWrite (ledPin0, hoge);
}
while(buttonState==low) {}
digitalWrite (speakerPin, laag);
digitalWrite (ledPin1, laag);
digitalWrite (ledPin2, laag);
digitalWrite (ledPin3, laag);
digitalWrite (ledPin4, laag);
digitalWrite (ledPin5, laag);
digitalWrite (ledPin6, laag);
digitalWrite (ledPin7, laag);
digitalWrite (ledPin8, laag);
digitalWrite (ledPin9, laag);
digitalWrite (ledPin0, laag);
buttonState = digitalRead(buttonPin);
}
}
Stap 5:
Test uw circuit! Probeer aanraken van de antenne en zien of het licht op en begint te spelen Twinkle Twinkle Little Star.