Musikaliska handske
Använda LilyPad Arduino, ett sätt att skapa toner i spänna av en oktav baserat på tummen positionering.
LEVERANSER
Svart bomull handske
Ledande tråd
LilyPad Arduino
Synål
Piezo speaker
SWITCHAR
1. Placera LilyPad höger sida upp på baksidan av handsken så att stiften 5-13 är nära fingrarna. "LilyPad Arduino" texten bör vara upp och ner när du håller handsken med fingrarna.
2. ta en lång strand av ledande tråd och knyta den runt den LilyPad port 13. Knut det gånger tätt runt hamnen så att det är ordentligt ansluten.
3. sätta båda ändarna av Knut genom nålen och sy med tråden på pekfingret. När du kommer nära toppen av pekfingret, sy tråden runt på vänster sida på framsidan av fingret.
4. gör några stygn på finger spetsen ger en större yta för växeln.
5. När du är klar, knyt tråden i en Knut och skära av lösa ändar.
6. Upprepa steg 2 till 5 med de andra växlarna. Hit går de:
12 mitt pekfinger
11 upp på långfingret
10 mitt långfinger
9 toppen av ringfingret
8 mitten av ringfingret
7 upp på lillfingret
6 toppen av palm mellan lite och ringfinger
Var noga med att inte låta någon av trådarna vägar kors.
HÖGTALARE
1. Anslut marken PIN-koden till toppen av tummen med samma metod som ovan, går runt LilyPad. Lämna ett utrymme i sömmen under stift 2 där tråden på undersidan av tyget, därför måste du gå över den i nästa steg.
2. Anslut stift 2 till en plats på handleden av handsken, gå över det utrymme du kvar i marken tråd.
3. använda en annan bit av ledande tråden, sy från varje punkt på marken tråd till handleden, att göra en knut om en centimeter till vänster på där du anslutit stift 2.
4. Skjut talarens stift i handleden av handsken, sådan att den + är ansluten till stift 2 och – är ansluten till marken.
TIPS
-Handskens tyg kommer sträcka när du sätter det på, så sy ledande tråden med lite slack.
-Se till att du bara sy på ena sidan av handsken – låt inte tråden gå igenom till andra sidan eftersom då du kommer att sy din handske shut.
-Placera inte LilyPad för långt upp på handsken; Håll det närmare till handleden än fingrarna.
KODEN
int speakerPin = 2;
int switchPin6 = 6;
int switchPin7 = 7.
int switchPin8 = 8;
int switchPin9 = 9;
int switchPin10 = 10;
int switchPin11 = 11;
int switchPin12 = 12;
int switchPin13 = 13.
int ledPin = 13.
int switchPins [7] = {6, 7, 8, 9, 10, 11, 12};
void setup() {
pinMode (ledPin, produktionen);
pinMode (speakerPin, produktionen);
pinMode (switchPin12, ingång);
pinMode (switchPin13, ingång);
pinMode (switchPin6, ingång);
pinMode (switchPin7, ingång);
pinMode (switchPin8, ingång);
pinMode (switchPin9, ingång);
pinMode (switchPin10, ingång);
pinMode (switchPin11, ingång);
int jag = 6;
medan (jag < 13) {
digitalWrite i, hög.
i ++;
}
}
void loop() {
digitalWrite (ledPin, hög);
samtidigt (1) {
om (digitalRead(switchPin6) == låg) {
digitalWrite (ledPin, låg);
makeNoise (6, 2093);
digitalWrite (ledPin, hög);
bryta;
}
om (digitalRead(switchPin7) == låg) {
makeNoise (7, 2349);
bryta;
}
om (digitalRead(switchPin8) == låg) {
makeNoise (8, 2637);
bryta;
}
om (digitalRead(switchPin9) == låg) {
makeNoise (9, 2793);
bryta;
}
om (digitalRead(switchPin10) == låg) {
makeNoise (10, 3136);
bryta;
}
om (digitalRead(switchPin11) == låg) {
makeNoise (11, 3520);
bryta;
}
om (digitalRead(switchPin12) == låg) {
makeNoise (12, 3951);
bryta;
}
om (digitalRead(switchPin13) == låg) {
makeNoise (13, 4186);
bryta;
}
}
}
void makeNoise (int switchPin, int frequencyInHertz) {
lång delayAmount = (long)(1000000/frequencyInHertz);
booleska y = sant;
medan (y) {
digitalWrite(speakerPin,HIGH);
delayMicroseconds(delayAmount);
digitalWrite(speakerPin,LOW);
delayMicroseconds(delayAmount);
y = checkforchange(switchPin);
}
int switchValues [7].
int jag = 0;
medan (jag < 7) {
switchValues [i] = digitalRead(switchPins[i]);
i ++;
}
}
booleska checkforchange (int currentSensor) {
om (digitalRead(currentSensor) == hög) {
returnera false;
}
return true;
}