Paso 8: más sobre la conexión de los bits y piezas
También es posible coser el Arduino Lilypad y su batterypack directamente a la chaqueta. La Junta debe ser resistente al agua, hemos de creer el creador Leah Buechley. Revisa su página web para obtener más información.
Todo el agarre de la tierra se juntan. Recuerde que colocar - en el conector, como tiene que ser colocado en el mismo lugar en la placa Arduino. Como el Arduino Lilypad tiene sólo 14 conexiones programables independientes, he conectado la luz en la parte delantera de la camisa para el + de la batería. 12 luz y 2 pulsadores se ponen en las conexiones programables.
En la parte de programación, básicamente he prestado código de Leah Buechley para su chaqueta de ciclismo y dado más secuencias de luces de lujo, como soy muy novata en la programación de Arduino. En la parte inferior de esta página he pegado en mi código. Salida de Leah Página para información más detallada sobre cómo conectar los componentes electrónicos, particularmente su chaqueta!
Para aislar el hilo conductor es recomendable. Esto ayuda a los hilos de rosca tocando unos de otros. Pintar todos los hilos con la pintura textil hinchados.
int BL1 = 10;
int BL2 = 9;
int BL3 = 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;
int modo = 0;
int dia = 0;
int noche = 1;
int d;
void setup() / / ejecuta una vez, cuando comienza el bosquejo
{
d = 100;
pinMode (BL1, salida);
pinMode (BL2, salida);
pinMode (BL3, salida);
pinMode (TL1, salida);
pinMode (TL2, salida);
pinMode (TL3, salida);
pinMode (leftSwitch, entrada);
digitalWrite (leftSwitch, HIGH);
pinMode (rightSwitch, entrada);
digitalWrite (rightSwitch, HIGH);
pinMode (TR1, salida);
pinMode (TR2, salida);
pinMode (TR3, salida);
pinMode (BR1, salida);
pinMode (BR2, salida);
pinMode (BR3, salida);
}
void loop() / / ejecuta una y otra vez
{
checkLeft();
checkRight();
Si (modo == noche)
Night();
otra cosa
Day();
}
void checkLeft()
{
Si (digitalRead(leftSwitch) == LOW)
{
mientras que (digitalRead(leftSwitch) == LOW)
{
Si (digitalRead(rightSwitch) == LOW)
{
mientras que (digitalRead(rightSwitch) == baja | digitalRead(leftSwitch) == LOW);
Mode = modo 1;
retorno;
}
}
leftTurn();
}
}
void checkRight()
{
Si (digitalRead(rightSwitch) == LOW)
{
mientras que (digitalRead(rightSwitch) == LOW)
{
Si (digitalRead(leftSwitch) == LOW)
{
mientras que (digitalRead(leftSwitch) == baja | digitalRead(rightSwitch) == LOW);
Mode = modo 1;
retorno;
}
}
rightTurn();
}
}
void leftTurn()
{
para (x = 0; x < 10; x ++)
{
digitalWrite (TL1, alto);
digitalWrite (BL1, LOW);
para (y = 0; y < 10; y ++)
{
Delay(30);
Si (digitalRead(leftSwitch) == LOW)
{
mientras que (digitalRead(leftSwitch) == LOW);
digitalWrite (TL1, LOW);
digitalWrite (BL1, LOW);
retorno;
}
}
digitalWrite (TL1, LOW);
digitalWrite (BL1, alto);
para (y = 0; y < 10; y ++)
{
Delay(30);
Si (digitalRead(leftSwitch) == LOW)
{
mientras que (digitalRead(leftSwitch) == LOW);
digitalWrite (TL1, LOW);
digitalWrite (BL1, LOW);
retorno;
}
}
digitalWrite (BL1, LOW);
}
}
void rightTurn()
{
para (x = 0; x < 10; x ++)
{
digitalWrite (TR1, alto);
Delay(d);
digitalWrite (TR2, alto);
Delay(d);
digitalWrite (TR3, alto);
Delay(d);
digitalWrite (BR1, LOW);
Delay(50);
digitalWrite (BR2, LOW);
Delay(50);
digitalWrite (BR3, LOW);
Delay(50);
digitalWrite (TL1, LOW);
digitalWrite (BL1, LOW);
para (y = 0; y < 10; y ++)
{
Delay(30);
Si (digitalRead(rightSwitch) == LOW)
{
mientras que (digitalRead(rightSwitch) == LOW);
digitalWrite (TR1, LOW);
Delay(d);
digitalWrite (TR2, LOW);
Delay(d);
digitalWrite (TR3, LOW);
Delay(d);
digitalWrite (BR1, LOW);
Delay(d);
digitalWrite (BR2, LOW);
Delay(d);
digitalWrite (BR3, LOW);
Delay(d);
retorno;
}
}
digitalWrite (TR1, LOW);
Delay(d);
digitalWrite (TR2, LOW);
Delay(d);
digitalWrite (TR3, LOW);
Delay(d);
digitalWrite (BR1, alto);
Delay(d);
digitalWrite (BR2, alto);
Delay(d);
digitalWrite (BR3, alto);
Delay(d);
para (y = 0; y < 10; y ++)
{
Delay(30);
Si (digitalRead(rightSwitch) == LOW)
{
mientras que (digitalRead(rightSwitch) == LOW);
digitalWrite (TR1, LOW);
Delay(d);
digitalWrite (TR2, LOW);
Delay(d);
digitalWrite (TR3, LOW);
Delay(d);
digitalWrite (BR1, LOW);
Delay(d);
digitalWrite (BR2, LOW);
Delay(d);
digitalWrite (BR3, LOW);
Delay(d);
retorno;
}
}
digitalWrite (BR1, LOW);
digitalWrite (TR1, LOW);
digitalWrite (TR2, LOW);
digitalWrite (TR3, LOW);
digitalWrite (BR1, LOW);
digitalWrite (BR2, LOW);
digitalWrite (BR3, LOW);
}
}
void night()
{
digitalWrite (TR1, alto);
digitalWrite (TR2, alto);
digitalWrite (TR3, alto);
digitalWrite (BR1, alto);
digitalWrite (BR2, alto);
digitalWrite (BR3, alto);
digitalWrite (TL1, alto);
digitalWrite (TL2, alto);
digitalWrite (TL3, alto);
digitalWrite (BL1, alto);
digitalWrite (BL2, alto);
digitalWrite (BL3, alto);
}
day() vacío
{
digitalWrite (TL1, alto);
digitalWrite (TR1, alto);
digitalWrite (BR1, alto);
digitalWrite (BL1, alto);
}