Salut a tous voila avec des amis on a un petit projet en tête mais on manque de connaissance dans certain domaine pour pouvoir passé le cas de l'idée et étudié la faisabilité du truc.
En fait on voudrait récupéré via un arduino (mega 2560 Rev3) les informations de pas mal de potentiomètres (on table sur 40) pour les envoyer sur un PC qui interpréterai les données reçu (via processing ou pure data on sait pas trop encore) pour jouer des sons.
Nos questions se pose sur différents points techniques qui nous échappes complètement.
Premièrement les valeurs des potentiomètres sont analogique et la méga ne gère que 16 entrés analogique.
On se demandait si un multiplexeur de se type http://www.robotshop.com/productinfo.aspx?pc=RB-Spa-214&lang=fr-CA ferait l'affaire car on a besoin que TOUT les potentiomètres puissent envoyer les données de manière simultanée (ils sont soit connecté mécaniquement entre eux soit ils vont bouger en même temps)
Deuxième grosse interrogation on a strictement aucune connaissance en se qui concerne la liaison entre l'arduino et le PC, on peut apprendre c'est pas le soucis mais on se demandait si l'usb pouvait gérer autant d'information surtout que les retards dans les informations nous serait relativement préjudiciable (on a des gros doute sur ce point, surtout qu'on envisage de renvoyer des données vers la carte). Si le taux de transfert de l'USB n'est pas suffisant pour pour géré les 40 variables envoyé vers quoi doit on s'orienter ? l’Ethernet ? le wifi (on aime pas trop l'idée) ?
Le multiplexeur analogique est un bon choix. Il en faudra 3 pour gérer 3x16 entrées.
La liaison série Arduino/PC est paramétrable jusqu'à un baud rate de 115200, ce qui devrait largement passer pour un projet de type 'table de mixage' ou équivalent.
J'avais lut cet référence mais il y a pas mal de notion qui m'échappent.
Si j'ai bien compris le baud rate correspond (dans le cas de l'usb) a des bytes par seconde mais il y a des bytes "réservé" (pour le départ et l'arrêt) et surtout je ne sais pas ce que consomme comme byte un potentiomètre donc je nage
Pour la liaison série voila de quoi éclairer ta lanterne :
un octet en communication série "classique" (8N1) prend 10 bits (1 bit de start, 8 bit de données, 1 bit de stop)
115200 bauds = 115 200 Bits Par Seconde (abrégé "bps")
115 200 / 10 = 11 520 octets par secondes
En partant du principe que tu fait une trame de ce style :
<n° du potentiomètre (1 octet)> <valeur du potentiomètre (2 octets MSBFIRST)>
cela fait 3 octet, soit 3840 trames par seconde à 115200 bauds.
Si on table sur du 40 potentiomètre il te faudra un peu moins de 11 millisecondes pour tout envoyer, tu as donc de la marge
Ce qui prendra le plus de temps en réalité c'est la lecture de la valeur analogique et la sélection du canal des différents multiplexeur.
Mais même avec ça tu auras de la marge et tu devrais t'en sortir avec un bon 50Hz de rafraichissement