Étape 6: Le logiciel
int OUTPUT1 = 2 ;
int OUTPUT2 = 3 ;
int OUTPUT3 = 4 ;
int E1 = 5 ; //PWM1
int E2 = 6 ; //PWM2
int E3 = 7 ; //PWM3
void setup()
{
pinMode (sortie 1, sortie) ;
pinMode (OUTPUT2, sortie) ;
pinMode (OUTPUT3, sortie) ;
pinMode (E3, sortie) ;
}
void selectLED (int num) { / / Sélectionner une LED de contrôle
Si ((num & 1)! = 0) digitalWrite (OUTPUT1, élevé) ; d’autre digitalWrite (OUTPUT1, faible) ;
Si ((num & 2)! = 0) digitalWrite (OUTPUT2, élevé) ; d’autre digitalWrite (OUTPUT2, faible) ;
Si ((num & 4)! = 0) digitalWrite (OUTPUT3, élevé) ; d’autre digitalWrite (OUTPUT3, basse) ;
}
une fonction case pour définir la puce de la sorcière à s’estomper les 1, 2 ou 3.
void doFade (int Pwm_num) {}
Switch(Pwm_num)
{
cas 1 :
pour (byte fadeValue = 0; fadeValue < = 255 ; fadeValue += 5)
{
analogWrite (E1, fadeValue) ;
Delay(30) ;
}
pour (fadeValue octets = 255 ; fadeValue > = 0; fadeValue-=5)
{
analogWrite (E1, fadeValue) ;
Delay(30) ;
}
rupture ;
cas 2 :
pour (byte fadeValue = 0; fadeValue < = 255 ; fadeValue += 5)
{
analogWrite (E2, fadeValue) ;
Delay(30) ;
}
pour (fadeValue octets = 255 ; fadeValue > = 0; fadeValue-=5)
{
analogWrite (E2, fadeValue) ;
Delay(30) ;
}
rupture ;
cas 3 :
pour (byte fadeValue = 0; fadeValue < = 255 ; fadeValue += 5)
{
analogWrite (E3, fadeValue) ;
Delay(30) ;
}
pour (fadeValue octets = 255 ; fadeValue > = 0; fadeValue-=5)
{
analogWrite (E3, fadeValue) ;
Delay(30) ;
}
rupture ;
}
}
une fonction si la led s’estomper de façon aléatoire
void loop()
{
int a = random(0,21) ;
Si (a couru < 8) {}
selectLED(ran) ;
doFade(1) ;
}
Si (7 < couru 17 <) {}
selectLED (ran - 8) ;
doFade(2) ;
}
Si (16 < couru < 22) {}
selectLED (ran - 17) ;
doFade(3) ;
}
}