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 :

L'univers Arduino - Partie I [Tutoriel]


Sujet :

Arduino

  1. #1
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 601
    Points : 56 698
    Points
    56 698
    Billets dans le blog
    40
    Par défaut L'univers Arduino - Partie I
    Bonjour à tous,

    Elle a tout d'une grande la pt'ite, non ?



    Voici un premier article de présentation de la carte Arduino et son écosystème :

    L'univers Arduino
    Partie I : Aperçu de la plateforme Arduino et ses cartes d'interface ( shields)


    Véritable mini-ordinateur au succès planétaire, traitant les données provenant de composants et capteurs divers (capteur de température, luminosité, mouvement ou boutons poussoir, etc.) et communiquant des ordres pour allumer des lampes ou actionner des moteurs électriques, la carte électronique Arduino permet de créer et prototyper de véritables objets numériques interagissant avec le milieu extérieur.
    L'environnement de programmation qui l'accompagne propose un IDE et un langage basé sur les langages C/C++.
    La communauté libre du monde Arduino contribue largement à diffuser les ressources permettant la création d'objets numériques à moindre coût et accessibles à toutes personnes motivées ayant même des connaissances modestes dans les domaines de l'informatique et l'électronique.
    Vos impressions et commentaires sont attendues dans ce fil.

    et bonne lecture.


    Les meilleurs cours et tutoriels pour apprendre les systèmes embarqués

    Les meilleurs cours et tutoriels pour apprendre Arduino

  2. #2
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Points : 4 732
    Points
    4 732
    Par défaut
    IV-C. Le langage de programmation


    Le langage arduino ca NEXISTE PAS.

    Arduino est un microcontroleur. les libs et sources sont soient écrites en C ou en C++ et compilees qvec avr-gcc ou avr-g++ selon la nature.


    Apres, pour uploader, faut dumper une partie du elf pour avoir un hex et flasher le tout avec avr-dude. Bref, tu tres classique.



    Ensuite, la lib de base arduino fournit en plus en main pre rempli qui appelle les fameuses fonctions init et loop et lide génère une partie des includes et prototypes qu il faut d'habitude écrire a la main.



    bref, il est tout a fait possible de coder sur arduino avec Emacs/Vim/whatever , un bon vieux makefile tant qu on a les outils..
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  3. #3
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Points : 4 732
    Points
    4 732
    Par défaut
    On pourrait éventuellement préciser qu'Arduino est une marque déposée et que n'importe qui ne peut pas créer une carte sous le nom arduino. Il existe en réponse à cette problématique de nombreux clones des cartes arduino
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 601
    Points : 56 698
    Points
    56 698
    Billets dans le blog
    40
    Par défaut
    bonjour,

    Citation Envoyé par Davidbrcz Voir le message
    On pourrait éventuellement préciser qu'Arduino est une marque déposée et que n'importe qui ne peut pas créer une carte sous le nom arduino. Il existe en réponse à cette problématique de nombreux clones des cartes arduino
    Les schémas des cartes sont fournis sous licence C.C, on peut donc les utiliser librement pour bidouiller une nouvelle carte sans demander la permission.
    Par contre, oui, "Arduino" est une marque déposée. Si on veut créer une variante officielle, il faudra contacter l’équipe Arduino.
    Voir So you want to make an Arduino.

    Citation Envoyé par Davidbrcz Voir le message
    Le langage arduino ca NEXISTE PAS.

    Arduino est un microcontroleur. les libs et sources sont soient écrites en C ou en C++ et compilees qvec avr-gcc ou avr-g++ selon la nature.
    On est bien d’accord sur le fond. Seulement Arduino, c’est aussi un IDE dans lequel des instructions comme setup, loop, pinmode, digitalRead, etc. apparaissent avec une coloration syntaxique comme des mots-clés d’un langage spécifique "Arduino" qui enveloppe le langage C++ (wrapper).

    Je reprends les termes de la page d’accueil :
    The microcontroller on the board is programmed using the Arduino programming language (based on Wiring) …
    Avec les références du langage

    En coulisse de l’IDE et comme tu l’as dit, include , compilation gcc AVR et tout le bazar habituel pour un microcontrôleur...

    Merci de ton intérêt

  5. #5
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Points : 4 732
    Points
    4 732
    Par défaut
    On est bien d’accord sur le fond. Seulement Arduino, c’est aussi un IDE dans lequel des instructions comme setup, loop, pinmode, digitalRead, etc. apparaissent avec une coloration syntaxique comme des mots-clés d’un langage spécifique "Arduino" qui enveloppe le langage C++ (wrapper).
    J'ai passé un an à faire de la robotique sur Arduino en codant avec Emacs et uploand mon code à coup de Makefile et j'avais toute la coloration syntaxique que je voulais.

    L'IDE est juste là pour faire croire aux gens qui n'y connaissent rien et qui veulent allumer 3 leds que c'est simple et/ou magique.

    Sur un site comme developpez.com, évoquer la vraie nature de la chose ne me semble pas superflu.
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  6. #6
    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 789
    Points
    30 789
    Par défaut
    Citation Envoyé par Davidbrcz Voir le message
    L'IDE est juste là pour faire croire aux gens qui n'y connaissent rien et qui veulent allumer 3 leds que c'est simple et/ou magique.
    C'est pour cela que j'ai choisi Arduino pour développer un routeur MIDI pour mes besoins personnels... Parce que je n'avais pas envie de me plonger dans les tréfonds de la programmation d'un micro-contrôleur et que je voulais me contenter d'un minimum d'instructions pour obtenir mon résultat.

    De la même manière qu'il peut paraitre magique d'utiliser le langage SQL pour interroger une base de données, alors qu'on pourrait tout à fait faire la même chose en programmant chaque étape du plan d'exécution en C (ou en langage d'assemblage, encore plus performant), avec parcours d'arbres et autres joyeusetés.
    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.

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 647
    Points : 11 136
    Points
    11 136
    Par défaut
    J'ai récemment utilisé un Arduino UNO pour réaliser une petite application professionnelle : j'ai gagné du temps et de l'argent. En effet, j'aurai pu utiliser des composants électroniques traditionnels pour cette application mais les composants nécessaires se sont révélés assez couteux (et volumineux ).
    J'ai donc programmé l'Arduino pour qu'il réalise les opérations voulues puis je l'ai intégré (sans sa plateforme) dans le système.

    En plus avec les nouveaux "shields" des idées d'applications de ce micro-contrôleur apparaissent.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Consultant
    Inscrit en
    Mars 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant

    Informations forums :
    Inscription : Mars 2013
    Messages : 5
    Points : 24
    Points
    24
    Par défaut
    Excellent article, bravo !

    Pour revenir sur 2 points évoqués plus haut :

    Arduino est plusieurs choses à la fois :
    1. Du matériel, plutôt ancien (8 bits) et coûteux
    2. Un environnement de développement basé sur Processing, simple mais limité
    3. Un ensemble de librairiesframework— inspiré de Wiring, véritable couche d'abstraction matériellehardware abstraction layer
    4. Une marque, avec les soucis classiques de protection et de rentabilité.


    Ce qui fait la véritable force d'Arduino, c'est la couche d'abstraction matérielle, également disponible pour de multiples autres micro-contrôleurs comme:




    Avec les suites d'outils —toolchains— au standard GCC et l'ensemble de librairies —framework—, il est possible d'utiliser des environnements de développement classiques comme

    Ces configurations sont parfaites pour du prototype rapide.

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