Bonjour,
J'essaye de récupérer les données de 8 capteurs analogiques via un multiplexeur 4051 vers mon patch
J'ai essayé pduino 6 capteurs évidemment ça marche bien
Maintenant je suis bloqué
Quelle est la meilleur solution ?
Merci d'avance
Hors ligne
Salut et bienvenue sur le forum,
Je pense que tu as tout ce qu'il faut en main.
Tu branches les pins de contrôle du 4051 (pins 9 à 11) sur trois pins digitaux de l'arduino (sauf les pins 0 et 1) qui servent à la liaison série.
(sans oublier évidemment de brancher l'alimentation (pin 7 et 16) et la masse (pin 8)du 4051. Le pin 6 (inhibit) doit être à la masse pour faire les mesures.
Tu branches sur les pins analogiques du 4051 ce que tu dois mesurer. Et tu relies le pin 3 à une des entrées analogiques de l'arduino.
Ensuite en donnant l'état des trois pins de l'arduino (output 0/1) tu dois pouvoir sélectionner le canal du multiplexeur et faire la lecture sur le canal analogique ensuite (un [trigger] et sans doute un petit [delay] et seront sans doute utiles).
Il faudra sans doute aussi prévoir de coller une étiquette à la valeur qui représente le canal ou un autre système d'orientation parce que tu vas tout recevoir sur le même canal analogique de l'arduino.
J'espère que ça te permet de démarrer. Bon courage.
Notice technique du 4051 ci-joint.
"6" page 4 : branchements
"7" page 5 : sélection du canal
Hors ligne
CMOS : une petite avancée pour l'homme, un grand pas pour l'électronique .
(je crois que j'avais dis à quand j'ai marché dedans la première fois)
Hors ligne
Si tu veux aller a 48 entré/sortie , tu as ça :
http://shop.snootlab.com/arduino/188-mux-shield.html
http://mayhewlabs.com/products/arduino-mux-shield
Hors ligne
C'est là, qu'à mon avis, utiliser pduino ou firmata devient un peu compliqué et surcharge inutilement le lien série, et qu'il faut commencer à programmer l'arduino directement plutôt que de le commander à distance.
Hors ligne
pob a écrit:
Ensuite en donnant l'état des trois pins de l'arduino (output 0/1) tu dois pouvoir sélectionner le canal du multiplexeur et faire la lecture sur le canal analogique ensuite (un [trigger] et sans doute un petit [delay] et seront sans doute utiles).
Juste pour rebondir là-dessus (boïng), il faut effectivement prévoir un peu de temps entre la sélection d'un canal et la lecture de sa valeur, spécialement si tu vérifies la valeur des canaux à très haute fréquence et que tu as des fils un peu longs entre l'arduino et le 4051 (expérience perso, j'ai dû mettre 5ms de délai parce qu'un de mes 4051 était 10cm plus loin de l'arduino que les autres).
Un exemple ci-dessous pour lire jusqu'à six 4051 (48 entrées) et envoyer le résultat via une vraie sortie midi : le filtrage des valeurs est fait dans l'arduino, càd que si la valeur lue ne change pas d'un tour à l'autre, elle n'est pas ré-envoyée (on pourrait aussi faire un filtre en moyennant sur plusieurs lectures).
Dernière modification par dwan (2012-08-19 12:10:30)
Hors ligne
Bonjour,
Merci pour toutes les réponses!
grace à vous j'ai pu vérifier que mes branchements sont bons
j'ai testé avec du midi c'est bon
Le truc sur lequel je bloque c'est pour router les données dans pure data avec [comport]
et je ne suis pas sur de mon code arduino pour du ascii
j'y retourne
Hors ligne
Sans ton patch, ou au moins la partie concernée, c'est vachement plus difficile de t'aider...
Hors ligne
Bonjour,
J'ai résolu mon problème avec du côté arduino
Serial.print(pot,DEC); // pot number
Serial.print(" ");
Serial.print(data_send,DEC); // send data value
Serial.println();
et du côté puredata
[convert.ascii2pd CR]
il me reste quelques réglages et c'est bon
merci à tous
Hors ligne