programmation et cablage de 2 multiplexeurs et d'un demultiplexeur sur arduino

hello je suis tres heureux de participé a cette communauté! . :smiley:
Je devellope depuis peu un projet de dirigeable autonome.pour ce projet je desir recevoir les informations de 30 capteurs et renvoyer les commandes a 18 actionneurs.
J ai un arduino mini pro 328 et trois multi/demultiplexeurs 74HC4067 acheter chez sparkfun
je me suis renseigner sur leur montage et programmation mais je ne vois pas :

  1. comment les cabler physiquement a la carte (cad si les 2 multiplexeur et le demultiplexeur vont sur les meme entrees digitales?)
  2. comment gerer ces deux groupes dans la programmation

merci a vous !
de m' aider dans ce projet!

Bonjour,

A l'intérieur du 74HC4067 tu a 16 montages à mosfet (page 3 datasheet) en gros il se comporte comme un interrupteur donc tu cable E sur le 0v (avec gnd) et vcc sur le 5v.
Ensuite tu câble la sortie analogique de ton capteur sur Y0 par exemple puis tu place l'adresse correspondante pour y accéder (0000 pour Y0) via 4 patte digital de ton arduino branché sur S0, S1, S2, S3.
Ensuite tu câble la broche commune Z sur une patte analogique de ton arduino et selon l'adresse que tu envoie tu recevra via analogRead la tension de la broche sélectionner (Y0~Y15)

datasheet: http://www.nxp.com/documents/data_sheet/74HC_HCT4067.pdf

exemple de code:

/*
S0 -> digital 7
S1 -> digital 8
S2 -> digital 9
S3 -> digital 10
Z -> analog 0

E -> 0v
gnd -> 0v
vcc -> 5v
*/

void setup(){
Serial.begin(9600);
pinMode(7,OUPUT);
pinMode(8,OUPUT);
pinMode(9,OUPUT);
pinMode(10,OUPUT);
}

void loop(){
digitalWrite(7,LOW);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(10,LOW); // Y0
Serial.println(analogRead(A0));

digitalWrite(7,HIGH);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(10,LOW); // Y1
Serial.println(analogRead(A0));

digitalWrite(7,LOW);
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
digitalWrite(10,LOW); // Y2
Serial.println(analogRead(A0));

digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
digitalWrite(10,LOW); // Y3
Serial.println(analogRead(A0));
// etc .....
}

bonsoir skywodd
merci pour tes explications tres claires et efficaces.

je pense pouvoir faire le test pour la partie capteurs
je suppose que si j'ai deux multiplexeurs je declare toujours S0, S1, S2, S3, et Y un en plus de la broche Z (dite commune) pour faire ma selection?

par contre je cherche egalement a brancher un demultiplexeur pour mes actionneurs
en meme temps que les deux multiplexeurs je m'inquiete concernant le cablage physique j'ai vu des chose sur le net mais c'est pas clair!

donc si vous avez des conseils voir des **schémas de cablage d'un multiplexeur en meme temps qu'un demultiplexeur ** cela me permettra d'éclairer un peut plus mon projet

merci a tous

Bonjour,

Alors pour contrôler tout tes démultiplexeurs tu peut utiliser 4 broches digital pour S0~S3 (commune à tous) et une broche analogique (A0 par exemple commune à tous) puis sélectionner le démultiplexeur qui t'intéresse en câblant chaque broche E sur une broche digital séparé (avec un tirage à l'état haut puis quand tu veux activer un demux -> digitalwrite(x,low)).

Pour le câblage en multiplexeur c'est le même mais dans l'autre sens tu câble ta tension "source" sur Z puis tu sélectionne l'adresse de la broche Yn sur laquelle elle doit ressortir. (je te ferait un petit schéma dans la mâtiné pour que puisse mieux comprendre :wink: )

bonjour SKYWOOD
merci
je vais suivre tes conseils
a bientot

comment faitont pour inserer des schemas ou images ?

Bonjour,

Bon j'ai un peu tué mon windows donc pour le schema je verai ce soir XD. Pour insérez une image c'est simple il faut envoyer l'image sur un hebergeur comme imageshack puis mettre l'url entre [img*][ /*img] (sans *).

merci
SKYWOOD
concernant l'insertion d"image ben j'aurais pas trouver tous seul ]:smiley:
ok pour le schema
je te fais un topo sur mon projet rapidement
a bientot

Bonjour,
Je garanti pas que le code joint compile direct je l'est fait avec ce bon vieux notepad (pas d'arduino ide au taff) alors bon :slight_smile:

  1. comment les câbler physiquement à la carte

Pour le schéma il est dans le zip

  1. comment gérer ces deux groupes dans la programmation

J'ai fait un exemple qui utilise 3 74HC4067 : 2 pour récupérer une valeur et un 3eme pour commander des trucs (petit moteurs, etc..) avec une petite fonction qui devrait t'aider :wink: en gros tu peux ^c^v c'est fait juste pour toi :).

(cad si les 2 multiplexeur et le démultiplexeur vont sur les même entrées digitales?)

3 74HC4067, 7 sorties digital, 1 entrée / sortie analogique donc beau gain de place en bonus :wink:

bonsoir
SKYWOOD

comment allez vous ?

je suis vraiment novice sur le forum :drooling_face:
je ne voit pas comment recuperer les nouvelles informations et schemas? =(

en tout cas
merci beaucoup pour votre aide !!!!

puis je avoir votre email
cela sera plus simple pour vous envoyer des elements textuels et iconographique
a bientot
merci

Bonsoir,

Je sais pas pourquoi mais mon zip semble ne pas s'être attaché à mon post bizarre ...
Je posterai le code demain matin.

demux.pde (1.1 KB)

voici une proposition de schema
basée sur un envois de CROSSROAD
(moderateur sur le forum international)
quand pense tu

je fais des essais t'envois d'image en meme temps....
![](http://C:\Users\tauliaut\Desktop\4067_mux-demux version 2.jpg)