IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Est-ce que la liaison USB sert seulement à charger le programme ?


Sujet :

Arduino

  1. #1
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 874
    Points : 3 721
    Points
    3 721
    Par défaut Est-ce que la liaison USB sert seulement à charger le programme ?
    Salut,

    Je découvre Arduino (je découvre ---> même pas encore débutant)...

    J'aurais une question : est-ce que la liaison USB sert seulement à charger le programme ? Ou bien on peut l'utiliser pour communiquer entre le microcontrôleur et un PC ?

    Par exemple pour faire une carte d'acquisition : genre par exemple le microcontrôleur mesure des tensions analogiques avec son CAN et transfère les mesures (en live si possible) au PC via la connexion USB...

    Merci.

  2. #2
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    bonsoir,

    effectivement tu peux utiliser l'usb pour communiquer avec l'Arduino en lecture et écriture. Pour cela tu as les fonctions de la classe Serial.

  3. #3
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 874
    Points : 3 721
    Points
    3 721
    Par défaut
    Merci. Je lis ceci :
    To use these pins to communicate with your personal computer, you will need an additional USB-to-serial adaptor, as they are not connected to the Mega's USB-to-serial adaptor.
    Je voudrais être sûr, l'adaptateur supplémentaire dont il est question cela concerne seulement le cas où on voudrait plusieurs liaisons séries ? Ou bien il en faut un dans tous les cas ?

    En tous cas je trouverais dommage qu'on ne puisse pas utiliser la liaison USB qui sert à charger le programme, ce serait une sous-utilisation surtout que si j'ai bien compris il y a un micro dédié à cela...

  4. #4
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 874
    Points : 3 721
    Points
    3 721
    Par défaut
    J'ai l'impression que la communication proposée est une liaison série comme celles d'autrefois assez limitées par rapport à l'USB ou je me trompe ?

  5. #5
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    Certaines cartes ont plusieurs port série. Exemples :
    - Uno : 1 port série (USB) que tu retrouves sur les pins 0 (rx) et 1 (tx) de la carte.
    - Leonardo : 2 ports série : le port USB et le second sur les pins 0 (rx) et 1 (tx).
    - Mega, 3 ports série.


    En quoi ces liaisons seraient limitées ? Les ports supplémentaires ont pour défaut de ne pas posséder les voies RTS, DTS, CTS, DSR que l'on peut quand même obtenir avec un peu d'astuces. Il faut également faire attention aux niveaux de tension de ces sorties.

  6. #6
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 874
    Points : 3 721
    Points
    3 721
    Par défaut
    Merci.

    Citation Envoyé par Auteur Voir le message
    En quoi ces liaisons seraient limitées ?
    Ce que je veux dire c'est que la liaison USB est plus rapide que les liaisons séries d'autrefois... En fait je me demandais quel était le taux transfert max (le nombre d'octets par seconde)...

    Citation Envoyé par Beginner. Voir le message
    En tous cas je trouverais dommage qu'on ne puisse pas utiliser la liaison USB qui sert à charger le programme, ce serait une sous-utilisation surtout que si j'ai bien compris il y a un micro dédié à cela...
    Est-ce bien la liaison USB servant au chargement du programme qu'on peut utiliser ou bien celle-ci est dédié ?

  7. #7
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 874
    Points : 3 721
    Points
    3 721
    Par défaut
    Je viens de voir ça ; https://www.arduino.cc/en/Serial/Begin

    D’après les exemples donnés on pourrait aller jusqu’à 115200 bit par seconde mais il est aussi dit qu'on choisir un autre taux...

    Du coup il semble que ce port série n'est pas le port USB servant au chargement du programme???

  8. #8
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    Le port série "RS232" est émulé sur le port USB. Le port USB de ces cartes sert à la fois pour le transfert du programme et pour la communication.

  9. #9
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 191
    Points : 11 577
    Points
    11 577
    Par défaut
    Salut,
    Il y a plusieurs Arduino, il faudrait que tu nous disent le quel tu découvres.

    Pour le port USB, il sert bien à la fois au chargement du programme par l'environnement de développement et pour ce que le programme est sensé faire.

    To use these pins to communicate with your personal computer, you will need an additional USB-to-serial adaptor, as they are not connected to the Mega's USB-to-serial adaptor.
    Je ne connais pas le contexte de cette phrase, il faudrait donner le lien de la source pour savoir ce que sont ces these pins mais je suis sur à 99.99% que c'est bien ce que tu as compris. Ces broches en question sont reliées sur les connecteurs où tu enfiches des fils.

    Citation Envoyé par Beginner
    J'ai l'impression que la communication proposée est une liaison série comme celles d'autrefois assez limitées par rapport à l'USB ou je me trompe ?
    Je pense comprendre ce que tu veux dire. J'ai assisité à la disparition des ports séries qui ont laissé place à l'USB, seulement ça a posé de gros problèmes aux électroniciens car les ports séries étaient tellement répandus et utilisés dans l'industrie qu'il était impensable de renouveler tous les appareillages au nom d'un nouveau protocole de communication. De plus, le protocole USB a aussi apporter, dans l'informatique, une profonde modification de l'accès aux ports d'entrées sorties. C'est là que des fabricants de composants comme FTDI ont su s'imposer en fabricant des bridges USB/UART. Le PC voit ce bridge comme un port série virtuel, ce qui arrange l'informaticien, quant à l'électronicien il voit un bon vieux UART relié à son microcontrôleur et ce qui l'arrange aussi ! Et bien aujourd'hui on en est encore là

    Je pense que c'est ce que tu veux dire par une liaison série comme celles d'autrefois.

    Il existe des microcontrôleurs comme celui du Arduino Leonardo, si je ne dis pas de bêtises, qui possède un vrai port USB capable d'implémenter les classes HID (clavier, souris joystik...), CDC (port série virtuel, modem, autres bridges de communication), MSC(clé USB, disque dure, autre périphérique de stockage). Généralement, sur ce genre de micro, il se passe des choses complexes lors du chargement du programme mais le même câble USB sert pour tout.
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  10. #10
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 804
    Points
    30 804
    Par défaut
    Citation Envoyé par Auteur Voir le message
    - Mega, 3 ports série.
    Non 4, comme le Due, dont 1 utilisé pour la communication avec l'USB comme les autres Arduino.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  11. #11
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    Citation Envoyé par Vincent PETIT Voir le message
    Il existe des microcontrôleurs comme celui du Arduino Leonardo, si je ne dis pas de bêtises, qui possède un vrai port USB capable d'implémenter les classes HID (clavier, souris joystik...)
    pour Leonardo, je confirme.

    Pour UNO par exemple, la carte dispose de 2 microcontrôleurs : le 1er ATmega16u qui dispose d'une entrée USB (D+, D-, 5V et GND) et de sorties Rx et Tx destinées au second microcontôleur ATmega 328P que tu retrouves sur les pins 0 et 1. C'est dans ce second microcontrôleur que ton programme sera stocké (sur le site Arduino, les schémas sont fournis). C'est d'ailleurs pour cela que tu ne peux pas utiliser les voies 0 et 1 en même temps que la classe Serial.

    Pour Leonardo, tu n'as qu'un seul microcontrôleur sur la carte ATmega32u4 avec un vrai port USB et 1 port série complètement distinct.

    Citation Envoyé par Vincent PETIT Voir le message
    To use these pins to communicate with your personal computer, you will need an additional USB-to-serial adaptor, as they are not connected to the Mega's USB-to-serial adaptor.
    Je ne connais pas le contexte de cette phrase, il faudrait donner le lien de la source pour savoir ce que sont ces these pins mais je suis sur à 99.99% que c'est bien ce que tu as compris.
    Pour le lien : https://www.arduino.cc/en/Reference/Serial C'est sur les ports série disponibles de l'Arduino Mega.

    Mais je pense que cette remarque est valable aussi pour l'Arduino Mini qui ne dispose pas de port USB. Il faut lui ajouter cet adaptateur.

  12. #12
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 874
    Points : 3 721
    Points
    3 721
    Par défaut
    Citation Envoyé par Auteur Voir le message
    Le port série "RS232" est émulé sur le port USB. Le port USB de ces cartes sert à la fois pour le transfert du programme et pour la communication.
    Citation Envoyé par Vincent PETIT Voir le message
    Pour le port USB, il sert bien à la fois au chargement du programme par l'environnement de développement et pour ce que le programme est sensé faire.
    Merci pour la confirmation. Entre temps j'ai vu que l'IDE propose un moniteur/traceur série et que finalement on peut aller jusqu'à 250 000 baud...

    Citation Envoyé par Vincent PETIT Voir le message
    Il y a plusieurs Arduino, il faudrait que tu nous disent le quel tu découvres.
    Pour l'instant je regarde un peu de tout mais c'est vrai que j'ai surtout regardé la version "uno"...


    Citation Envoyé par Vincent PETIT Voir le message
    Je pense comprendre ce que tu veux dire. J'ai assisité à la disparition des ports séries qui ont laissé place à l'USB, seulement ça a posé de gros problèmes aux électroniciens car les ports séries étaient tellement répandus et utilisés dans l'industrie qu'il était impensable de renouveler tous les appareillages au nom d'un nouveau protocole de communication. De plus, le protocole USB a aussi apporter, dans l'informatique, une profonde modification de l'accès aux ports d'entrées sorties. C'est là que des fabricants de composants comme FTDI ont su s'imposer en fabricant des bridges USB/UART. Le PC voit ce bridge comme un port série virtuel, ce qui arrange l'informaticien, quant à l'électronicien il voit un bon vieux UART relié à son microcontrôleur et ce qui l'arrange aussi ! Et bien aujourd'hui on en est encore là :D

    Je pense que c'est ce que tu veux dire par une liaison série comme celles d'autrefois.

    Il existe des microcontrôleurs comme celui du Arduino Leonardo, si je ne dis pas de bêtises, qui possède un vrai port USB capable d'implémenter les classes HID (clavier, souris joystik...), CDC (port série virtuel, modem, autres bridges de communication), MSC(clé USB, disque dure, autre périphérique de stockage). Généralement, sur ce genre de micro, il se passe des choses complexes lors du chargement du programme mais le même câble USB sert pour tout.
    Oui c'est ça, tu m'as bien compris... Alors le taux du port série virtuel est inférieur à ce que peut faire un port USB mais c'est quand même pas mal, c'est supérieur me semble-t-il aux liaisons séries d'autrefois...

    Merci encore...

    EDIT ; Je vois que la "Leonardo" n'est pas plus cher que la "UNO", étonnant ?

  13. #13
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 191
    Points : 11 577
    Points
    11 577
    Par défaut
    Pour la différence de prix ce n'est pas étonnant. Il y a d'autres fabricants qui proposent la même chose, en plus performant et moins cher.
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  14. #14
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 874
    Points : 3 721
    Points
    3 721
    Par défaut
    Salut et merci.


    Je pense qu'au début c'est mieux de travailler avec une version officielle mais après je ne dis pas non à ces autres fabricants...
    Je ne sais pas si on a le droit de donner des liens de ce genre mais si oui cela m'intéresse...

  15. #15
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    Méfie toi des copies ou les clones : les contrôles qualités sont souvent inexistants (soudures mal faites par exemple ou des soudures qui débordent sur le composant voisin ).

    Autant te prévenir donc : tu peux avoir des mauvaises surprises et surtout les composants que tu peux acheter sont très souvent vendus sans notice : on voit souvent sur ce forum des sujets du style "j'ai acheté ce truc pas cher sur tel site et je ne sais pas m'en servir". Et trouver une documentation sans référence c'est un sacré casse-tête !
    Donc avant d'acheter regarde s'il existe une référence et des notices et si ce que tu achètes correspond à la description. Les sites officiels sont certes un peu plus chers mais tu peux travailler sur ces cartes l'esprit tranquille.

  16. #16
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 874
    Points : 3 721
    Points
    3 721
    Par défaut
    Merci pour les conseils. Oui de toute façon au début je comptais bien travailler sur des versions officielles...

    Ah oui je mets le fil en résolu car j'ai eu la réponse à ma question mais par rapport à l'autre question que je me pose c'est vrai que ce n'est pas évident de savoir quel est le taux max, certains donnent des chiffres supérieurs au 250 000 baud que j'ai vu dans l'ide...

  17. #17
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    Citation Envoyé par Beginner. Voir le message
    certains donnent des chiffres supérieurs au 250 000 baud que j'ai vu dans l'ide...
    250000 ça me parait beaucoup. La documentation de la classe serial indique un taux de 115200 bauds maximum.

  18. #18
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 191
    Points : 11 577
    Points
    11 577
    Par défaut
    Citation Envoyé par Vincent PETIT Voir le message
    Pour la différence de prix ce n'est pas étonnant. Il y a d'autres fabricants qui proposent la même chose, en plus performant et moins cher.
    Je ne parlais pas de clônes low cost genre de chez aliexpress, ebay etc...

    Je parlais de concurrence sérieuses, Microchip, Texas Instruments, ST etc...
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  19. #19
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 874
    Points : 3 721
    Points
    3 721
    Par défaut
    Citation Envoyé par Auteur Voir le message
    250000 ça me parait beaucoup. La documentation de la classe serial indique un taux de 115200 bauds maximum.
    Oui j'ai aussi vu ce taux ici : https://www.arduino.cc/en/Serial/Begin mais il est aussi dit qu'on peut choisir un autre taux...

    Et le taux de 250 000 bauds je l'ai vu dans l'ide, on peut le sélectionner dans le moniteur ou traceur série...

    Et certains disent que ça peut aller jusqu'à 1 Mbts qu'on peut même doubler mais là ils se basent seulement sur la doc du microcontrôleur...

    Citation Envoyé par Vincent PETIT Voir le message
    Je ne parlais pas de clônes low cost genre de chez aliexpress, ebay etc... :aie:

    Je parlais de concurrence sérieuses, Microchip, Texas Instruments, ST etc...
    Ah oui je m'en doute, je ferais une recherche avec ces fabricants...

  20. #20
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 874
    Points : 3 721
    Points
    3 721
    Par défaut
    Citation Envoyé par Beginner. Voir le message
    Oui j'ai aussi vu ce taux ici : https://www.arduino.cc/en/Serial/Begin mais il est aussi dit qu'on peut choisir un autre taux...

    Et le taux de 250 000 bauds je l'ai vu dans l'ide, on peut le sélectionner dans le moniteur ou traceur série...

    Et certains disent que ça peut aller jusqu'à 1 Mbts qu'on peut même doubler mais là ils se basent seulement sur la doc du microcontrôleur...
    Je viens de voir ce lien ici dans lequel il y a une comparaison avec Arduino Leonardo, on peut y lire :

    All communication is performed at full native 12 Mbit/sec USB speed. Serial includes built-in flow control, so the effective speed will be as fast as your code can read, but unlike Arduino, you will not lose incoming data if your sketch does not use Serial.read() quickly. When implementing Serial mode, maximum speeds of approximately 1 Mbit/sec are commonly achievable.
    Cela pourrait aller jusqu'à 12 Mbit/sec ???

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Est-ce que l'API de MySQL sert aussi à écrire dans la BD?
    Par Chrysostome dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 12/06/2016, 10h33
  2. Réponses: 2
    Dernier message: 01/06/2015, 17h20
  3. Le C à quoi est-ce que ça sert?
    Par vg-matrix dans le forum C
    Réponses: 3
    Dernier message: 29/05/2008, 09h53
  4. Qu'est-ce que "virtual printer port for usb"
    Par Asdorve dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 20/07/2006, 13h07
  5. Réponses: 3
    Dernier message: 19/07/2002, 15h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo