À l’aide de LilyPad Arduino, pour créer des tons dans l’intervalle d’une octave basés sur un positionnement de pouce.
FOURNITURES
Gants en tricot de coton noir
Fil conducteur
LilyPad Arduino
Aiguille à coudre
Haut-parleur piézo
COMMUTATEURS
1. Placer la droite LilyPad vers le haut sur le dos du gant tels que broches 5-13 sont près les doigts. Le texte « LilyPad Arduino » devrait être tête en bas lorsque vous placez le gant avec les doigts vers le haut.
2. prendre un long brin de fil conducteur et l’attacher autour de port de la LilyPad 13. Il une ou deux fois nouez solidement autour du port afin que s’il est fermement connecté.
3. mettre les deux extrémités du noeud dans l’aiguille et recoudre avec du fil sur l’index. Lorsque vous arrivez près du haut de l’index, rentrer le fil autour du côté gauche à l’avant du doigt.
4. faites quelques points de suture sur le bout du doigt pour donner une plus grande surface pour le commutateur.
5. Lorsque vous avez terminé, nouer le fil et couper les deux bouts.
6. Répétez les étapes 2 à 5 avec les autres interrupteurs. C’est où ils vont :
12 milieu d’index
Top 11 du doigt du milieu
10 milieu du doigt du milieu
9 haut de la bague au doigt
8 milieu de bague au doigt
Top 7 du petit doigt
Top 6 des palmiers entre peu et annulaire
Être sûr de ne pas laisser un des chemins des filets Croix.
HAUT-PARLEUR
1. connecter la broche de terre jusqu'à l’extrémité du pouce en utilisant la même méthode que ci-dessus, en contournant le LilyPad. Laisser un espace dans la couture sous broche 2 où le thread sera sur l’envers du tissu, car vous aurez besoin d’aller dessus à l’étape suivante.
2. Brancher la fiche 2 à une place sur le poignet du gant, passant par l’espace que vous avez laissé dans le fil de terre.
3. en utilisant un autre morceau de fil conducteur, coudre à partir de n’importe quel point sur le fil de terre au poignet, faire un noeud sur un centimètre à la gauche de l’endroit où vous avez connecté broche 2.
4. Poussez les broches de l’orateur dans le poignet du gant, telle que le + est connectée à la broche 2 et – est relié à la terre.
CONSEILS
-Tissu du gant s’étire quand vous le mettez, donc coudre le fil conducteur avec un peu de mou.
-Assurez-vous que vous cousez seulement sur un côté du gant – ne laissez pas le fil passer de l’autre côté, car alors vous permet de coudre votre robinet gant.
-Ne pas placer le LilyPad trop loin vers le haut sur le gant ; Gardez-le plus près à votre poignet que vos phalanges.
CODE
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, sortie) ;
pinMode (speakerPin, sortie) ;
pinMode (switchPin12, entrée) ;
pinMode (switchPin13, entrée) ;
pinMode (switchPin6, entrée) ;
pinMode (switchPin7, entrée) ;
pinMode (switchPin8, entrée) ;
pinMode (switchPin9, entrée) ;
pinMode (switchPin10, entrée) ;
pinMode (switchPin11, entrée) ;
int i = 6 ;
tandis que (j’ai 13 <) {}
digitalWrite (i, HIGH) ;
i ++ ;
}
}
void loop() {}
digitalWrite (ledPin, HIGH) ;
tandis que (1) {}
Si (digitalRead(switchPin6) == faible) {}
digitalWrite (ledPin, basse) ;
makeNoise (6, 2093) ;
digitalWrite (ledPin, HIGH) ;
rupture ;
}
Si (digitalRead(switchPin7) == faible) {}
makeNoise (7, 2349) ;
rupture ;
}
Si (digitalRead(switchPin8) == faible) {}
makeNoise (8, 2637) ;
rupture ;
}
Si (digitalRead(switchPin9) == faible) {}
makeNoise (9, 2793) ;
rupture ;
}
Si (digitalRead(switchPin10) == faible) {}
makeNoise (10, 3136) ;
rupture ;
}
Si (digitalRead(switchPin11) == faible) {}
makeNoise (11, 3520) ;
rupture ;
}
Si (digitalRead(switchPin12) == faible) {}
makeNoise (12, 3951) ;
rupture ;
}
Si (digitalRead(switchPin13) == faible) {}
makeNoise (13, 4186) ;
rupture ;
}
}
}
Sub makeNoise (int switchPin, int frequencyInHertz) {}
long delayAmount = (long)(1000000/frequencyInHertz) ;
booléenne y = true ;
tandis que (y) {}
digitalWrite(speakerPin,HIGH) ;
delayMicroseconds(delayAmount) ;
digitalWrite(speakerPin,LOW) ;
delayMicroseconds(delayAmount) ;
y = checkforchange(switchPin) ;
}
int switchValues [7] ;
int i = 0 ;
tandis que (j’ai < 7) {}
switchValues [i] = digitalRead(switchPins[i]) ;
i ++ ;
}
}
Boolean checkforchange (int currentSensor) {}
Si (digitalRead(currentSensor) == HIGH) {}
retourne la valeur false ;
}
retourne la valeur true ;
}