Driver Serial USB

Salut à tous

J'ai fabriqué un petit montage (très simple!) qui consiste à allumer des LEDs via une interface Windows! L'application est codée en C# et se connecte à l'Arduino (Presque comme un grand!) en paramétrant le port et la vitesse. J'envoie quelques octets et tout marche!! Je joui profondément de ma réussite!! Tout fonctionne.

Voila que...

Je me dit" Il faut que je montre sa aux copains histoire de les épater" et de me la péter par la même occasion!!

Mais...

Lorsque je branche le bordel sur le PC du collègue et que je lance l'exécutable de l'application, il m'est impossible de me connecter!!! Son PC ne reconnaissait pas la liaison USB! et pour cause, le driver n’était pas installé! La honte quoi!

DONC! Moi se que je comprend pas c'est: Pourquoi faut il un Driver de la "mort qui tue" pour envoyer 3 bouts d'octets sur une simple liaison série???!

MA QUESTION EST DONC: Existe t-il pas un driver de BASE pour émuler un port COM à travers une laision USB?????

Je veux bien avoir le driver spécifique à l'arduino pour le programmer mais un driver simple pour une communication simple!! C'est pas possible?!! Je me suis balader sur le site : http://www.ftdichip.com/ j'ai bidouiller qqe truc mais rien de concluant.

Voila =)

Malheureusement l’USB c’est très loin d’être aussi simple qu’une liaison série. C’est comme vouloir comparé un téléphone mobile et un talkie walkie, même si dans les deux cas ça reste des ondes radio.
Fait un petit tour sur google et tu verras que rien que côté PC ça demande déjà bien plus de ligne de code …
En plus l’USB nécessite pas mal de ressource. La leonardo par exemple n’utilise pas de FTDI, l’atmega32u ayant un USB hardware intégré. Mais tout n’est pas perdu je suis justement tombé sur ça ce soir : http://www.frank-zhao.com/usnoobie/index.php j’ai ouvert un topic dans le bar sur le sujet parce que je trouve ça super (mais pas testé).

Ok Ok

En faite je suis un peu con, car effectivement j’ai bien un ATMega32U (http://www.pjrc.com/store/teensy.html) . Et dedans y a pas de FTDI du coup.

J’ai du mal a concevoir l’USB, je pense que je soit mélanger plein de truc. Je croyais que dans l’arduino c’était un convertisseur USB/RS232.

Je pouvais passer ma vie à selectionner un driver!! xD
Voir image

Pourtant c’etait presque bien partis, il me disait que c’etait bien installé mais mais pas possible de me connecter…
Tant pis…

Screen.png

Ah bin oui tu pouvez toujours essayer la xD

Le convertisseur USB/Série TLL (nuance avec le RS-232 : polarités inversées et +/-12V) était “anciennement” un FT232RL. Ensuite à partir des UNO et MEGA2560 ils les ont remplacés par des atmega32u (moins cher). Il n’y a que la leonardo qui est n’a qu’un chip pour tout faire.

Après dans l’USB il y a différence classe, et notamment la CDC (communications device class) qui en fait permet d’émuler justement un port série sur le pc et de s’en servir d’une manière transparente comme tel. D’ailleurs il faut pas se leurrer, le FT232RL est un microcontroleur juste chargé avec le bon programme :wink:

Bonjour,

Le bus USB est bien plus complexe qu'un simple port série ;)

Les seules "classes" de périphériques USB qui ne demandent pas de drivers spécialisés sont les classes HID (claviers, souris, raw HID , ...). Pour tout le reste il faut un driver.

A noter que windows possède de base un driver ACM-CDC pour émuler un port série via usb, mais il faut toujours un fichier .inf pour dire à windows "tel périphérique = driver CDC générique".

Parenthèse : Le passage à un ATmega32U4 qui coute moins cher à produire est très bien, mais il ne faut pas oublier la licence pour obtenir un identifiant usb (VID) qui elle est de 4000$ (paiement unique heureusement) ;)