Bonjour,
Je suis en train de faire un chenillard avec ma carte Arduino Uno.
Mon chenillard contient 16 Leds, donc j'utilise un démultiplexeur 4514 ( 4 entrée pour 16 sorties).
Dans un premier temps pour tester mon système j'ai attribué manuellement les valeurs au entrées du 4514:
void loop()
{
digitalWrite(inhibPin6, LOW);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, LOW);
digitalWrite(ledPin4, LOW);
digitalWrite(ledPin5, LOW);
delay(500);
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin3, LOW);
digitalWrite(ledPin4, LOW);
digitalWrite(ledPin5, LOW);
delay(500);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, HIGH);
digitalWrite(ledPin4, LOW);
digitalWrite(ledPin5, LOW);
delay(500);
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin3, HIGH);
digitalWrite(ledPin4, LOW);
digitalWrite(ledPin5, LOW);
delay(500);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, LOW);
digitalWrite(ledPin4, HIGH);
digitalWrite(ledPin5, LOW);
delay(500);
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin3, LOW);
digitalWrite(ledPin4, HIGH);
digitalWrite(ledPin5, LOW);
delay(500);
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin3, HIGH);
digitalWrite(ledPin4, HIGH);
digitalWrite(ledPin5, LOW);
delay(500);
...
Ok super avec ça j'ai un beau chenillard!
Je veux améliorer mon code maintenant:
const int LED[4]={2,3,4,5};
int compteur=0;
void setup()
{
for (int i=0; i<=3; i++)
{
pinMode(LED[i], OUTPUT);
}
}
void loop()
{
for (int i=0; i<=3; i++)
{
digitalWrite(LED[i], bitRead(compteur,i));
}
compteur=compteur+1;
if (compteur>=15) compteur=0;
delay(1000);
}
Avec ce code, le chenillard se fait, mais je n'ai plus d'intensité lumineuse sur mes leds...
Savez vous pourquoi ce phénomène se produit ?
(J'alimente le 4514 par la sortie 5V de l'arduino)
Merci !