Problème avec un décodeur 74LS138

Bonjour,

Pour une compagnie de théâtre je dois réaliser un petit montage de avec des LED qui clignotent tout ça commandé par un arduino Uno et une série de décodeurs et d’interrupteurs.

Problème, je n'arrive même pas à commander une seule LED à travers le décodeur. Je pense qu'il y à un problème dans mon raisonnement mais je ne trouve pas. J'ai réalisé un programme de test très simple juste pour allumer les pattes qu'il faut (enfin je pense) indiqués le schéma suivant :

http://www.hostingpics.net/viewer.php?id=25885674138.png

Je vous met aussi la doc du décodeur : Fairchild Semiconductor 232315, DS datasheet pdf

Et d'avance un grand merci à tous.

Tel quel, il n'y a pas la moindre chance que ça fonctionne.

Les entrées G ou Enable doivent être respectivement reliées :
G1 au +
G2-G3 au - .

Les entrées A ne doivent pas être relièes entre elles car ce sont elles qui permettent de sélectionner les sorties .

Mes entrées A sont bien reliées à l'arduino. J'ai juste voulu préciser que pour allumer la LED en Y0 la combinaison sur ces pattes devaient être L,L,L.

Pour l'entrée G1 elle est aussi sur l'arduino et à H pour activer le décodeur.

J'avais un doute pour les entrées G2 et G3 (dont je ne comprends pas l’intérêt d'ailleurs) donc j'ai essayé plusieurs choses mais ça n’a pas marché.

En fait pour le moment je cherche juste à allumer la LED sortie du décodeur. Quand je met directement la masse sur la patte ça s'allume mais c'est plus trop commandable dans ce cas là^^.

Désolé si mon schéma n'était pas clair. Je vous rajoute en plus mon programme afin de voir si je ne me suis pas planté à ce niveau là (c'est la première fois que j'utilise un arduino)

void cmd(int i)
{
  switch(i)
  {
  case 1 :
    digitalWrite(10, LOW);
    digitalWrite(11, LOW);
    digitalWrite(12, LOW);
    break;

  case 2 :
    digitalWrite(10, HIGH);
    digitalWrite(11, LOW);
    digitalWrite(12, LOW);
    break;
...

}

void setup()
{
  pinMode(13, OUTPUT); 
  pinMode(12, OUTPUT); 
  pinMode(11, OUTPUT); 
  pinMode(10, OUTPUT); 
  pinMode(1, OUTPUT); 
}

void loop()
{
    //analogRead(i); = Lecture des entrées analogiques 
      cmd(1);
      digitalWrite(1, HIGH);
      delay(500);
      digitalWrite(1,LOW);
      delay(500);
}

Pour l'entrée G1 elle est aussi sur l'arduino et à H pour activer le décodeur.

J'avais un doute pour les entrées G2 et G3 (dont je ne comprends pas l’intérêt d'ailleurs) donc j'ai essayé plusieurs choses mais ça n’a pas marché.

Il faudrait commencer par bien comprendre les composants que tu utilises.
On active une sortie par la sélection de son adresse sur AO,1,2. La sortie sélectionnée recopie l'état des entrée E1,2,3 en suivant l'équation E3 & /E2 & /E1.
Donc pour aller au plus simple.
Pour allumer la sortie 00, tu place 0 sur A0,1,2 et tu mets E3=1, E2=0, E1=0

Oui j'avais compris j'avais juste un doute sur les pattes E1 et E2 (ou G2 et G3) et après modification ça ne marche toujours pas...

Ok merci pour le coup des entrées G2A et G2B ça marche selon si je bouge ou pas le demux (faut que je revois mes soudures). Je vous raconterais quoi une fois le montage entièrement fini.