Usando LilyPad Arduino, una manera de crear tonos en la gama de una octava basada en posicionamiento de pulgar.
SUMINISTROS
Guante del knit del algodón negro
Hilo conductor
LilyPad Arduino
Aguja de coser
Altavoz piezoeléctrico
INTERRUPTORES
1. Coloque el lado derecho de LilyPad arriba en la parte posterior del guante que pernos 5-13 están cerca de los dedos. El texto "LilyPad Arduino" debe estar boca abajo cuando levantar el guante con los dedos.
2. tomar una hebra larga de hilo conductor y atar alrededor del puerto de LilyPad 13. Nudo lo una o dos veces firmemente alrededor del puerto para que esté firmemente conectado.
3. colocar ambos extremos del nudo a través de la aguja y coser con el hilo en el dedo índice. Al llegar cerca de la parte superior del dedo índice, coser el hilo alrededor del lado izquierdo hacia el frente del dedo.
4. Haga unas puntadas en la punta del dedo para dar una superficie más grande para el interruptor.
5. Cuando termines, ata el hilo en un nudo y cortar cabos sueltos.
6. Repita los pasos 2-5 con los otros interruptores. Esto es donde van:
12 medio del dedo índice
11 tapa del dedo medio
10 media del dedo medio
Top 9 de dedo anular
8 medio de dedo anular
7 tapa del dedo meñique
Top 6 de Palma entre poco y dedos del anillo
Asegúrese de no dejar que ninguno de caminos los hilos cruzados.
ALTAVOZ
1. Conecte el conector de tierra hasta la punta del pulgar, utilizando el mismo método como arriba, recorriendo el LilyPad. Deje un espacio en la costura debajo de pin 2 donde el hilo estará en la parte inferior de la tela, porque tendrás que pasar en el siguiente paso.
2. Conecte el pin 2 en un punto en la muñeca del guante, sobre el espacio que dejaste en el hilo de tierra.
3. utilizando otro trozo de hilo conductor, coser desde cualquier punto del hilo de tierra a la muñeca, haciendo un nudo sobre un centímetro a la izquierda del donde ha conectado pin 2.
4. Introduzca los pernos del orador en la muñeca del guante, tal que el + está conectada al pin 2 y el-está conectado a tierra.
CONSEJOS
-Se estira la tela al el guante cuando se pone, así que coser el hilo conductor con cierta holgura.
-Asegúrese de que sólo cose en un lado del guante, no deje que el hilo vaya a través al otro lado porque entonces será coser el cierre del guante.
-No coloque el LilyPad demasiado arriba sobre el guante; Mantenga lo más cerca a la muñeca de tus nudillos.
CÓDIGO
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, salida);
pinMode (speakerPin, salida);
pinMode (switchPin12, entrada);
pinMode (switchPin13, entrada);
pinMode (switchPin6, entrada);
pinMode (switchPin7, entrada);
pinMode (switchPin8, entrada);
pinMode (switchPin9, entrada);
pinMode (switchPin10, entrada);
pinMode (switchPin11, entrada);
int i = 6;
mientras (i < 13) {}
digitalWrite (i, alto);
i ++;
}
}
void loop() {}
digitalWrite (ledPin, HIGH);
mientras que {} (1)
Si (digitalRead(switchPin6) == LOW) {}
digitalWrite (ledPin, LOW);
makeNoise (6, 2093);
digitalWrite (ledPin, HIGH);
rotura;
}
Si (digitalRead(switchPin7) == LOW) {}
makeNoise (7, 2349);
rotura;
}
Si (digitalRead(switchPin8) == LOW) {}
makeNoise (8, 2637);
rotura;
}
Si (digitalRead(switchPin9) == LOW) {}
makeNoise (9, 2793);
rotura;
}
Si (digitalRead(switchPin10) == LOW) {}
makeNoise (10, 3136);
rotura;
}
Si (digitalRead(switchPin11) == LOW) {}
makeNoise (11, 3520);
rotura;
}
Si (digitalRead(switchPin12) == LOW) {}
makeNoise (12, 3951);
rotura;
}
Si (digitalRead(switchPin13) == LOW) {}
makeNoise (13, 4186);
rotura;
}
}
}
{} void makeNoise (int switchPin, int frequencyInHertz)
delayAmount largo = (long)(1000000/frequencyInHertz);
y booleano = true;
al mismo tiempo (y) {}
digitalWrite(speakerPin,HIGH);
delayMicroseconds(delayAmount);
digitalWrite(speakerPin,LOW);
delayMicroseconds(delayAmount);
y = checkforchange(switchPin);
}
int switchValues [7];
int i = 0;
mientras (i < 7) {}
switchValues [i] = digitalRead(switchPins[i]);
i ++;
}
}
Boolean checkforchange (int currentSensor) {}
Si (digitalRead(currentSensor) == HIGH) {}
devuelven el valor false;
}
verdaderas;
}