Étape 2: Code
Créer tableau pour les broches de la LED
ledPin Byte = {4, 5, 6, 7, 8, 9} ;
int delayLed(50) ; Délai entre les changements
int currentLed1 = 0 ;
int currentLed2 = 5 ;
int direction1 = 1 ;
int direction2 =-1 ;
int sensePin = A0 ;
unsigned long changeTime ;
void setup()
{/ / Mettez votre code de configuration ici, pour exécuter une fois :
pour (int i = 0, j = 5; j’ai < 3 & & j > 2; i ++, j--) //set toutes les broches de sortie
{pinMode (ledPin [i], sortie) ;
pinMode (ledPin [j], sortie) ; }
changeTime=millis() ;
}
void loop()
{/ / Mettez votre code principal ici, pour exécuter à plusieurs reprises :
int val=analogRead(sensePin) ; lire la valeur de la LDR
if(Val>1000) //setting condition de LDR
{if((millis()-changeTime) > delayLed) //if on delayLed ms depuis le dernier changement
{
pour (int i = 0, j = 5; j’ai < 6 & & j > 2; i ++, j--) //turn de toutes les LEDs
{
digitalWrite (ledPin [i], faible) ;
digitalWrite (ledPin [j], faible) ;
}
digitalWrite (ledPin [currentLed1], HIGH) ; allumer la LED actuelle
digitalWrite (ledPin [currentLed2], HIGH) ;
currentLed1 += direction1 ; incrémenter la valeur de la direction
currentLed2 += direction2 ;
Si (currentLed1 == 0) //to changer le sens, si nous parvenons à la fin
{
direction1 = 1 ;
}
if(currentLed2==5)
{
direction2 =-1 ;
}
if(currentLed1==2)
{
direction1 =-1 ;
}
if(currentLed2==3)
{
direction2 = 1 ;
}
changeTime=millis() ;
}
}
d’autre
{
pour (int i = 0; i < 6; i ++)
{
digitalWrite (ledPin [i], faible) ;
}
}
}