Ljus för livet: glödande knapp cykel jacka (8 / 9 steg)
Steg 8: Ansluta mer om smått och gott
Det går också att sy den Arduino Lilypad och dess jonbatteri direkt till jacka. Styrelsen bör vara vattentät, ska vi tro skaparen Leah Buechley. Kolla in hennes hemsida för mer information.
Alla ground(-) theads sätts samman. Kom ihåg var du placerar den - på kontakten, eftersom det måste placeras på samma ställe på Arduino ombord. Arduino Lilypad har endast 14 separata programmerbara anslutningar, har jag anslutit lampan på framsidan av jackan till + på batteriet. 12 ljus och 2 tryckknappar sätts på programmerbara förbindelserna.
På produktens programmeringsdel, har jag i princip lånat Leah Buechley koden för sin cykling-jacka och får lite mer fancy ljus sekvenser, som jag är väldigt novis i Arduino programmering. Längst ner på denna sida har jag klistrat in i min kod. Kolla in Leah's hemsida för mer detaljerad information om hur du ansluter den elektroniska komponenter tillsammans, särskilt hennes jacka!
För att isolera den ledande tråden är tillrådligt. Detta hjälper trådar röra varandra. Måla alla trådar uppsvullna textil.
int BL1 = 10;
int BL2 = 9.
int BL3 = 8.
int TL1 = 6;
int balkonger 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 läge = 0;
int dag = 0;
int natt = 1;
int d;
void setup() / / kör en gång, när skissen startar
{
d = 100;
pinMode (BL1, OUTPUT);
pinMode (BL2, OUTPUT);
pinMode (BL3, OUTPUT);
pinMode (TL1, OUTPUT);
pinMode (balkonger TL2, OUTPUT);
pinMode (TL3, OUTPUT);
pinMode (leftSwitch, ingång);
digitalWrite (leftSwitch, hög);
pinMode (rightSwitch, ingång);
digitalWrite (rightSwitch, hög);
pinMode (TR1, OUTPUT);
pinMode (TR2, OUTPUT);
pinMode (TR3, OUTPUT);
pinMode (BR1, OUTPUT);
pinMode (BR2, OUTPUT);
pinMode (BR3, OUTPUT);
}
void loop() / / kör om och om igen
{
checkLeft();
checkRight();
om (läge == natt)
Night();
annat
Day();
}
void checkLeft()
{
om (digitalRead(leftSwitch) == låg)
{
medan (digitalRead(leftSwitch) == låg)
{
om (digitalRead(rightSwitch) == låg)
{
medan (digitalRead(rightSwitch) == låg | digitalRead(leftSwitch) == låg);
läge = 1-läge;
hemkomst.
}
}
leftTurn();
}
}
void checkRight()
{
om (digitalRead(rightSwitch) == låg)
{
medan (digitalRead(rightSwitch) == låg)
{
om (digitalRead(leftSwitch) == låg)
{
medan (digitalRead(leftSwitch) == låg | digitalRead(rightSwitch) == låg);
läge = 1-läge;
hemkomst.
}
}
rightTurn();
}
}
void leftTurn()
{
för (x = 0; x < 10; x ++)
{
digitalWrite (TL1, hög);
digitalWrite (BL1, låg);
för (y = 0; y < 10; y ++)
{
Delay(30);
om (digitalRead(leftSwitch) == låg)
{
medan (digitalRead(leftSwitch) == låg);
digitalWrite (TL1, låg);
digitalWrite (BL1, låg);
hemkomst.
}
}
digitalWrite (TL1, låg);
digitalWrite (BL1, hög);
för (y = 0; y < 10; y ++)
{
Delay(30);
om (digitalRead(leftSwitch) == låg)
{
medan (digitalRead(leftSwitch) == låg);
digitalWrite (TL1, låg);
digitalWrite (BL1, låg);
hemkomst.
}
}
digitalWrite (BL1, låg);
}
}
void rightTurn()
{
för (x = 0; x < 10; x ++)
{
digitalWrite (TR1, hög);
Delay(d);
digitalWrite (TR2, hög);
Delay(d);
digitalWrite (TR3, hög);
Delay(d);
digitalWrite (BR1, låg);
Delay(50);
digitalWrite (BR2, låg);
Delay(50);
digitalWrite (BR3, låg);
Delay(50);
digitalWrite (TL1, låg);
digitalWrite (BL1, låg);
för (y = 0; y < 10; y ++)
{
Delay(30);
om (digitalRead(rightSwitch) == låg)
{
medan (digitalRead(rightSwitch) == låg);
digitalWrite (TR1, låg);
Delay(d);
digitalWrite (TR2, låg);
Delay(d);
digitalWrite (TR3, låg);
Delay(d);
digitalWrite (BR1, låg);
Delay(d);
digitalWrite (BR2, låg);
Delay(d);
digitalWrite (BR3, låg);
Delay(d);
hemkomst.
}
}
digitalWrite (TR1, låg);
Delay(d);
digitalWrite (TR2, låg);
Delay(d);
digitalWrite (TR3, låg);
Delay(d);
digitalWrite (BR1, hög);
Delay(d);
digitalWrite (BR2, hög);
Delay(d);
digitalWrite (BR3, hög);
Delay(d);
för (y = 0; y < 10; y ++)
{
Delay(30);
om (digitalRead(rightSwitch) == låg)
{
medan (digitalRead(rightSwitch) == låg);
digitalWrite (TR1, låg);
Delay(d);
digitalWrite (TR2, låg);
Delay(d);
digitalWrite (TR3, låg);
Delay(d);
digitalWrite (BR1, låg);
Delay(d);
digitalWrite (BR2, låg);
Delay(d);
digitalWrite (BR3, låg);
Delay(d);
hemkomst.
}
}
digitalWrite (BR1, låg);
digitalWrite (TR1, låg);
digitalWrite (TR2, låg);
digitalWrite (TR3, låg);
digitalWrite (BR1, låg);
digitalWrite (BR2, låg);
digitalWrite (BR3, låg);
}
}
void night()
{
digitalWrite (TR1, hög);
digitalWrite (TR2, hög);
digitalWrite (TR3, hög);
digitalWrite (BR1, hög);
digitalWrite (BR2, hög);
digitalWrite (BR3, hög);
digitalWrite (TL1, hög);
digitalWrite balkonger (TL2, hög);
digitalWrite (TL3, hög);
digitalWrite (BL1, hög);
digitalWrite (BL2, hög);
digitalWrite (BL3, hög);
}
void day()
{
digitalWrite (TL1, hög);
digitalWrite (TR1, hög);
digitalWrite (BR1, hög);
digitalWrite (BL1, hög);
}