Studsa effekt Night lampa (2 / 4 steg)
Steg 2: kod
Skapa matrisen för LED stift
byte ledPin [] = {4, 5, 6, 7, 8, 9};
int delayLed(50); Fördröjning mellan förändringar
int currentLed1 = 0;
int currentLed2 = 5;
int direction1 = 1;
int direction2 =-1;
int sensePin = A0;
osignerade långa changeTime;
void setup()
{/ / lägga installationen koden här, om du vill köra en gång:
för (int jag = 0, j = 5; jag < 3 & & j > 2; i ++, j--) //set alla stift till utgång
{pinMode (ledPin [i], produktionen);
pinMode (ledPin [j] produktionen); }
changeTime=millis();
}
void loop()
{/ / sätta din huvudsakliga kod här, för att köra flera gånger:
int val=analogRead(sensePin); läsa av värdet av LDR
IF(Val>1000) //setting villkor för LDR
{if((millis()-changeTime) > delayLed) //if det har varit delayLed ms sedan senaste ändringen
{
för (int jag = 0, j = 5; jag < 6 & & j > 2; i ++, j--) //turn av alla lysdioder
{
digitalWrite (ledPin [i], låg);
digitalWrite (ledPin [j], låg);
}
digitalWrite (ledPin [currentLed1], hög); slå på den nuvarande LED
digitalWrite (ledPin [currentLed2], hög);
currentLed1 += direction1; ökas med värdet riktning
currentLed2 += direction2;
om (currentLed1 == 0) //to ändra riktning om vi når slutet
{
direction1 = 1;
}
IF(currentLed2==5)
{
direction2 =-1;
}
IF(currentLed1==2)
{
direction1 =-1;
}
IF(currentLed2==3)
{
direction2 = 1;
}
changeTime=millis();
}
}
annat
{
för (int jag = 0; jag < 6; i ++)
{
digitalWrite (ledPin [i], låg);
}
}
}