• 15 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 08/11/2019

Appréhendez l’électronique de commande

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Le robot nécessite une électronique de commande. Nous allons commencer à nous y intéresser dans ce chapitre. Nous découvrirons dans un premier temps l’univers Arduino et sa richesse.

Nous passerons en revue les nombreuses cartes mères et cartes d'applications disponibles. Nous parlerons également de façon un peu plus détaillée de la carte Arduino Uno, utilisée dans notre robot autonome.

Pour finir, nous verrons que l'univers Arduino est un monde collaboratif, favorisant l’échange entre les utilisateurs.

Présentation de l'environnement Arduino

L’environnement Arduino correspond à un vaste projet dans l’esprit Fablab ou Makers qui vise à mettre le monde des microcontrôleurs à la portée de tous. Il s’agit d’une plateforme open source, simple à utiliser, faite de cartes électroniques et de logiciels dont les applications sont sans limite, si ce n’est celles de l’imagination humaine. :magicien:

Un projet Arduino tourne toujours autour de signaux électriques issus de capteurs (“les entrées”) dans le sens le plus large et de parties opératives (“les sorties”) commandées électriquement en fonction de l’état des entrées, et d’algorithmes qui sont définis par le concepteur du projet.

En tant qu’univers collaboratif et ouvert, l’environnement bénéficie de multiples avantages :

  • abondance de la documentation des matériels et logiciels ;

  • Une très vaste bibliothèque d’exemples de projets des plus simples jusqu’aux plus complexes. Ainsi, dans un projet Arduino, on ne part pas d’une feuille blanche, mais on peut procéder par adaptation de projets existants ;

  • de nombreux tutoriels, des groupes d’utilisateurs, des blogs, des forums dynamiques qui aident à s’approprier la connaissance, les compétences et qui aident concrètement sur les problèmes qu’on pourrait rencontrer ;

  • en tant qu’environnement open source, les matériels et logiciels sont entièrement documentés et évoluent au rythme des modifications proposées par l’ensemble de la communauté ;

  • l’environnement Arduino tourne sur Windows, Mac OS et Linux ;

  • les cartes achetées toutes faites sont relativement peu chères, mais on peut aussi les fabriquer soi-même, puisque les schémas électriques sont libres de droit. Le coût peu élevé de l’environnement explique sans doute en grande partie son succès international.

Pour finir ce paragraphe, on recommande aux lecteurs de ce cours de fréquenter régulièrement la page officielle : https://www.arduino.cc/ pour se familiariser avec l’univers Arduino et pour rester au contact de son actualité.

Le proverbe dit : “abondance de biens ne nuit pas”. Parfois, on peut se sentir perdu devant la surabondance d’informations techniques. Il faut sans doute renoncer à vouloir d’abord tout comprendre avant de se lancer dans un projet concret. L’environnement Arduino suit la philosophie “Learning by doing”. Les connaissances théoriques et compétences opérationnelles ne peuvent ici résulter d’une patiente étude théorique et intellectuelle. Il faut pratiquer. C’est précisément ce que propose ce SPOC.:magicien:

Introduction aux différents modèles de cartes

Il n’est pas question ici de faire le panorama exhaustif de tous les produits officiels proposés par l’environnement Arduino. Nous nous efforçons de brosser un tableau synthétique mais cohérent de l’univers Arduino, pour que le lecteur ait une idée raisonnable du paysage avant d’attaquer concrètement le projet Robot.

L’univers Arduino est décliné sur le plan matériel (ou hardware, en anglais, par opposition au logiciel, software en anglais) en cartes et shields essentiellement.

Les cartes mères

Les cartes sont architecturées autour d’un microcontrôleur, le cœur du système. C’est ce composant qui exécute le code ou programme, sur des variables contenues dans la mémoire du microcontrôleur.

La carte Arduino Leonardo et son microcontrôleur. Cette illustration est une dérivée de l'image du site Arduino couverts par une licence CC-BY-SA 3.0.
La carte Arduino Leonardo et son microcontrôleur. Cette illustration est une dérivée de l'image du site Arduino couverte par une licence CC-BY-SA 3.0.

Dans un niveau de description simplifié qui vise l’opérationnel, il faut comprendre qu’il existe sur le marché des milliers de références de microcontrôleurs qui diffèrent les uns des autres par une multitude de caractéristiques. Nous nous contentons d’en citer quelques-unes, les plus importantes, qui permettent de faire une taxonomie des microcontrôleurs :

  • taille du mot

Les microcontrôleurs travaillent sur des signaux électriques logiques regroupés en mots. Les microcontrôleurs les plus basiques sont organisés en mots de 8 bits (8 bits = 1 octet). À l’autre extrémité, les plus complexes gèrent des mots de 32 bits. Les microprocesseurs de nos ordinateurs ont aujourd’hui des mots de 64 bits. On se contente de comprendre intuitivement que la puissance de traitement est d’autant plus grande que le mot est de taille importante ;

  • vitesse d’horloge

L’exécution du programme ou code est cadencée par une horloge. Pour faire simple, la fréquence d’horloge dit combien d’instructions du code sont exécutées par seconde. Les vitesses ou fréquences d’horloge vont de quelques dizaines de MHz au GHz, typiquement. On comprend aisément que la puissance de traitement est très directement liée à la fréquence d’horloge. Les microprocesseurs de nos ordinateurs de type PC tournent aujourd’hui à environ 3 GHz ;

  • capacité mémoire RAM (de l’anglais Random-access memory)

Un programme implique des variables dont le contenu évolue au gré de l’exécution. Ces variables sont stockées dans la mémoire RAM du microcontrôleur. Un programme basique d’un petit automatisme peut se contenter de quelques dizaines de variables. Aujourd’hui, la mémoire RAM des microcontrôleurs les plus simples est d'une capacité de l’ordre de quelques kilooctets. Pour des microcontrôleurs puissants qui doivent gérer des programmes complexes, la capacité RAM peut atteindre quelques mégaoctets. À noter que nos ordinateurs de type PC sont pourvus de plusieurs gigaoctets ;

  • capacité de mémoire ROM (de l’anglais Read-only memory)

Un programme est fait d’instructions qui sont stockées dans la mémoire ROM du microcontrôleur. Un petit programme simple peut être fait de quelques centaines d’instructions. Un programme complexe peut nécessiter beaucoup plus. Concrètement, les microcontrôleurs basiques comportent quelques Ko de mémoire ROM, tandis que les modèles complexes peuvent atteindre quelques Mo de mémoire ROM.

La figure ci-dessous représente les différentes cartes de l'univers Arduino dans la gamme "Entry level". Ce sont des cartes qui embarquent des microcontrôleurs peu puissants et peu coûteux, idéales pour les tout premiers projets lorsqu’on débute.

Les produits Arduino de la gamme “Entry level”. Source : https://www.arduino.cc/en/Main/Products
Les produits Arduino de la gamme “Entry level”. Cette image provient du site Arduino, elle est couverte par une licence CC-BY-SA 3.0.

Pour en extraire les principales caractéristiques, il suffit de cliquer sur le modèle envisagé et on trouve dans la page cible un onglet “Tech Specs” qui donne des informations assez détaillées en regard du niveau de description de ce SPOC.

Le chemin vers un onglet “Tech Specs”
Le chemin vers un onglet “Tech Specs”. Cette illustration est une dérivée des images du site Arduino couvertes par une licence CC-BY-SA 3.0.

Dans la section 3 du présent chapitre, nous exploiterons ces informations pour décrire la carte Arduino Uno, qui est en quelque sorte le point d’entrée de l’univers Arduino.

Les shields

Ce sont des cartes d’extension qui sont connectées aux cartes du paragraphe précédent, et qui permettent de s’interfacer avec le monde extérieur.

Le Shield
Les différents modèles de Shields. Ces images proviennent du site Arduino, elles sont couvertes par une licence CC-BY-SA 3.0.

Il y en a de toutes sortes pour une multitude d’applications. Il n’est pas question d’en faire la liste. On peut citer quelques fonctions :

  • commande de moteurs ;

  • traitement audio ;

  • interfaçage de caméra embarquée.

Les shields sont architecturés de manière à être connectés très simplement (souvent broche à broche) sur les broches de cartes à microcontrôleurs.

Les modules

Pour réaliser des projets concrets, il est souvent nécessaire d’y incorporer des modules électroniques qui donnent accès à des fonctions classiques et importantes.

Dans notre robot, nous voulons mettre en œuvre une communication Bluetooth via le module HC05 qui n’appartient pas à l’univers Arduino au sens strict. En effet, ce module peut être connecté à d’autres plateformes électroniques concurrentes à l’environnement Arduino. Néanmoins, il est aisé de le connecter à une carte Arduino.

Citons quelques-unes de ces fonctions classiques qui font maintenant partie du monde de l’électronique :

  • positionnement GPS ;

  • Wi-Fi ;

  • Bluetooth ;

  • centrales inertielles (pour la navigation) ;

  • communications radio (433 MHz) ;

  • communications bas débit pour l’IoT (Internet of Things) ;

  • réseau cellulaire GSM.

Les principales caractéristiques techniques de la carte Arduino Uno

La carte Arduino Uno est une carte à microcontrôleur architecturée autour d’un microcontrôleur ATmega328P du constructeur Microchip. C’est un microcontrôleur 8 bits. Le microcontrôleur est pourvu de 32 Ko de mémoire ROM (sous forme de mémoire Flash) et de 2 Ko de mémoire RAM

La carte Arduino Uno et ses éléments. Cette illustration est une dérivée de l'image du site Arduino couverte par une licence CC-BY-SA 3.0.
La carte Arduino Uno et ses éléments. Cette illustration est une dérivée de l'image du site Arduino couverte par une licence CC-BY-SA 3.0.

La carte est pourvue :

  • de 14 broches entrées/sorties (E/S) logiques, dont 6 peuvent être commandées en MLI ou PWM (cf. partie 1, chapitre 2) ;

  • de 6 entrées analogiques et cadencées par un quartz de 16 MHz ;

  • d’un connecteur USB pour la connexion avec un ordinateur ;

  • d’un connecteur d’alimentation JACK ;

  • d’un bouton Reset.

En résumé

Nous avons découvert de façon très succincte l’univers Arduino pour comprendre comment la carte Arduino Uno se situe dans un ensemble beaucoup plus vaste. Nous avons également décrit les caractéristiques techniques de la carte Arduino Uno qui est utilisée dans notre robot.

Dans la suite, nous allons l’utiliser et acquérir ainsi nos premières compétences opérationnelles. Le chapitre suivant est consacré à la mise en place de la plateforme de programmation et à la prise en main rapide du langage de programmation, de manière à devenir très rapidement capables d'écrire nos tout premiers codes. :magicien:

Exemple de certificat de réussite
Exemple de certificat de réussite