Etape 8: Connexion plus d’informations sur les bits et les pièces
Il est également possible de coudre le Arduino Lilypad et son accu directement à la veste. Le Conseil d’administration doit être imperméable à l’eau, croire le créateur Leah Buechley. Découvrez sa page Web pour plus d' info.
Tous les fil de ground(-) est mis en place. N’oubliez pas où vous avez placé le - sur le connecteur, car elle doit être placée au même endroit sur la carte Arduino. Car le Arduino Lilypad a seulement 14 connexions programmables séparées, j’ai branché la lumière sur le devant de la veste pour le signe + de la batterie. Les 12 légers et les 2 boutons sont placés sur les connexions programmables.
Sur la partie programmation, j’ai essentiellement emprunté code de Leah Buechley pour sa veste de cyclisme et compte tenu d’autres séquences lumière fantaisies, comme je suis très novice dans la programmation de l’Arduino. Au bas de cette page, j’ai collé dans mon code. Découvrez de Leah page d’accueil pour des informations plus détaillées sur la façon de relier les composants électroniques, en particulier sa veste!
Pour isoler le fil conducteur est conseillé. Ceci aide les filets toucher eachother. Peindre tous les fils avec de la peinture textile gonflés.
int BL1 = 10 ;
int BL2 = 9 ;
int L3 = 8 ;
int TL1 = 6 ;
int TL2 = 5 ;
int TL3 = 4 ;
int BR1 = 11 ;
int BR2 = 12 ;
int BR3 = 13 ;
int TR3 = 3 ;
int TR2 = 2 ;
int TR1 = 1 ;
int leftSwitch = 7 ;
int rightSwitch = 0 ;
int x, y ;
mode d’int = 0 ;
int jour = 0 ;
int nuit = 1 ;
d int ;
void setup() / / exécuter une seule fois, au démarrage de l’esquisse
{
d = 100 ;
pinMode (BL1, sortie) ;
pinMode (BL2, sortie) ;
pinMode (L3, sortie) ;
pinMode (TL1, sortie) ;
pinMode (TL2, sortie) ;
pinMode (TL3, sortie) ;
pinMode (leftSwitch, entrée) ;
digitalWrite (leftSwitch, HIGH) ;
pinMode (rightSwitch, entrée) ;
digitalWrite (rightSwitch, HIGH) ;
pinMode (TR1, sortie) ;
pinMode (TR2, sortie) ;
pinMode (TR3, sortie) ;
pinMode (BR1, sortie) ;
pinMode (BR2, sortie) ;
pinMode (BR3, sortie) ;
}
void loop() / / run maintes et maintes fois
{
checkLeft() ;
checkRight() ;
Si (mode == nuit)
Night() ;
d’autre
Day() ;
}
Sub checkLeft()
{
Si (digitalRead(leftSwitch) == faible)
{
même si (digitalRead(leftSwitch) == faible)
{
Si (digitalRead(rightSwitch) == faible)
{
même si (digitalRead(rightSwitch) == faible | digitalRead(leftSwitch) == faible) ;
mode = mode-1 ;
retour ;
}
}
leftTurn() ;
}
}
Sub checkRight()
{
Si (digitalRead(rightSwitch) == faible)
{
même si (digitalRead(rightSwitch) == faible)
{
Si (digitalRead(leftSwitch) == faible)
{
même si (digitalRead(leftSwitch) == faible | digitalRead(rightSwitch) == faible) ;
mode = mode-1 ;
retour ;
}
}
rightTurn() ;
}
}
Sub leftTurn()
{
pour (x = 0; x < 10; x ++)
{
digitalWrite (TL1, élevé) ;
digitalWrite (BL1, faible) ;
pour (y = 0; y < 10; y ++)
{
Delay(30) ;
Si (digitalRead(leftSwitch) == faible)
{
même si (digitalRead(leftSwitch) == faible) ;
digitalWrite (TL1, faible) ;
digitalWrite (BL1, faible) ;
retour ;
}
}
digitalWrite (TL1, faible) ;
digitalWrite (BL1, élevé) ;
pour (y = 0; y < 10; y ++)
{
Delay(30) ;
Si (digitalRead(leftSwitch) == faible)
{
même si (digitalRead(leftSwitch) == faible) ;
digitalWrite (TL1, faible) ;
digitalWrite (BL1, faible) ;
retour ;
}
}
digitalWrite (BL1, faible) ;
}
}
Sub rightTurn()
{
pour (x = 0; x < 10; x ++)
{
digitalWrite (TR1, élevé) ;
Delay(d) ;
digitalWrite (TR2, élevé) ;
Delay(d) ;
digitalWrite (TR3, élevé) ;
Delay(d) ;
digitalWrite (BR1, faible) ;
Delay(50) ;
digitalWrite (BR2, faible) ;
Delay(50) ;
digitalWrite (BR3, faible) ;
Delay(50) ;
digitalWrite (TL1, faible) ;
digitalWrite (BL1, faible) ;
pour (y = 0; y < 10; y ++)
{
Delay(30) ;
Si (digitalRead(rightSwitch) == faible)
{
même si (digitalRead(rightSwitch) == faible) ;
digitalWrite (TR1, faible) ;
Delay(d) ;
digitalWrite (TR2, faible) ;
Delay(d) ;
digitalWrite (TR3, faible) ;
Delay(d) ;
digitalWrite (BR1, faible) ;
Delay(d) ;
digitalWrite (BR2, faible) ;
Delay(d) ;
digitalWrite (BR3, faible) ;
Delay(d) ;
retour ;
}
}
digitalWrite (TR1, faible) ;
Delay(d) ;
digitalWrite (TR2, faible) ;
Delay(d) ;
digitalWrite (TR3, faible) ;
Delay(d) ;
digitalWrite (BR1, élevé) ;
Delay(d) ;
digitalWrite (BR2, élevé) ;
Delay(d) ;
digitalWrite (BR3, élevé) ;
Delay(d) ;
pour (y = 0; y < 10; y ++)
{
Delay(30) ;
Si (digitalRead(rightSwitch) == faible)
{
même si (digitalRead(rightSwitch) == faible) ;
digitalWrite (TR1, faible) ;
Delay(d) ;
digitalWrite (TR2, faible) ;
Delay(d) ;
digitalWrite (TR3, faible) ;
Delay(d) ;
digitalWrite (BR1, faible) ;
Delay(d) ;
digitalWrite (BR2, faible) ;
Delay(d) ;
digitalWrite (BR3, faible) ;
Delay(d) ;
retour ;
}
}
digitalWrite (BR1, faible) ;
digitalWrite (TR1, faible) ;
digitalWrite (TR2, faible) ;
digitalWrite (TR3, faible) ;
digitalWrite (BR1, faible) ;
digitalWrite (BR2, faible) ;
digitalWrite (BR3, faible) ;
}
}
Sub night()
{
digitalWrite (TR1, élevé) ;
digitalWrite (TR2, élevé) ;
digitalWrite (TR3, élevé) ;
digitalWrite (BR1, élevé) ;
digitalWrite (BR2, élevé) ;
digitalWrite (BR3, élevé) ;
digitalWrite (TL1, élevé) ;
digitalWrite (TL2, élevé) ;
digitalWrite (TL3, élevé) ;
digitalWrite (BL1, élevé) ;
digitalWrite (BL2, élevé) ;
digitalWrite (L3, élevé) ;
}
day() Sub
{
digitalWrite (TL1, élevé) ;
digitalWrite (TR1, élevé) ;
digitalWrite (BR1, élevé) ;
digitalWrite (BL1, élevé) ;
}