Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Arduino
  3. Applications à quelques petits projets
Extrait - Arduino Apprenez à coder avec mBlock (projets robotiques, créatifs et scientifiques) (2e édition)
Extraits du livre
Arduino Apprenez à coder avec mBlock (projets robotiques, créatifs et scientifiques) (2e édition)
1 avis
Revenir à la page d'achat du livre

Applications à quelques petits projets

L’Arduino comme base technique pour le prototypage

Devant le nombre croissant de plates-formes techniques, au vu des comparatifs publiés tous les six mois environ dans les revues spécialisées, la question du choix de l’Arduino comme base technique pour le prototypage peut se poser. La réponse est assez simple : il y a un avantage à choisir la base technique la plus large et surtout la plus simple pour progresser rapidement dans l’acquisition de compétences et sécuriser la réalisation de ses montages.

Un Arduino UNO, dont la capacité en termes de puissance de calcul et de stockage de données est assez faible comparativement à un nano-PC de type Raspberry Pi est largement suffisant pour la plupart des applications domestiques et immédiatement utilisable, que l’on se contente de faire clignoter une LED ou que l’on veuille piloter un ou plusieurs moteurs.

Si le frein que peut représenter l’apprentissage de la programmation textuelle par le langage C est levé avec un outil de programmation visuelle, alors la réalisation de montages évolués comme une mesure de distance ou le pilotage d’un moteur en Modulation de Largeur d’Impulsion (MLI) est très rapidement à la portée du programmeur novice dont la préoccupation première ne sera pas forcément la sophistication du code.

Si des contraintes particulières de performance ou de capacité en nombre de ports ouverts vers l’environnement sont à prendre en compte, alors un voire plusieurs essais comparatifs s’avèrent utiles et même nécessaires. En revanche, lorsque le projet visé correspond à ce qui a déjà été réalisé et peut se retrouver dans la somme des exemples documentés par la communauté et accessibles dans le playground, alors le choix direct de cette plate-forme évitera de passer du temps à étudier le marché.

Dans tous les cas, l’objectif est de consacrer plus de temps au codage et à la réalisation des projets qu’à discuter des choix techniques, même si ce sujet reste en soi très intéressant.

Le choix du modèle d’Arduino ne devrait pas non plus prendre trop de temps. Des tableaux-guides...

De la plaque d’expérimentation (breadboard) au circuit imprimé

Les plaques d’expérimentation sont une aide appréciable pour tester des montages et se familiariser avec toutes sortes de composants. Une fois que le fonctionnement correct a pu être démontré, ce qui suppose que les problèmes de câblage ou de dimensionnement des composants, voire de leur alimentation aient été résolus, il est temps de passer à une implémentation « en dur » avec un circuit imprimé.

Une première étape consiste à élaborer le circuit électrique qui va permettre de réaliser et de contrôler le câblage du circuit. Un outil libre et gratuit comme fritzing permet de réaliser facilement ce circuit en s’aidant d’une bibliothèque de composants prédessinés.

Un schéma réalisé avec Fritzing

Un schéma réalisé avec Fritzing

La construction du circuit est ensuite facilitée en positionnant les composants sur la plaque d’expérimentation et en assurant les liaisons avec des connecteurs (straps).

Le montage sur plaque d’expérimentation avec Fritzing

Le montage sur plaque d’expérimentation avec Fritzing

Les utilitaires comme Fritzing ou ceux fournis par les principaux sites de vente en ligne permettent d’obtenir le dessin du circuit imprimé correspondant au schéma électronique. Il est alors possible...

Déployer à grande échelle et miniaturiser : l’ESP8266

À peine plus grand qu’un Arduino NANO et pour moins d’une dizaine d’euros à la date de rédaction de cet ouvrage, l’ESP8266 embarque un module Wi-Fi piloté par un microcontrôleur dont l’architecture est comparable à celle d’un ATmega328, utilisé pour la fabrication des cartes Arduino UNO et NANO.

Un module ESP8266 du fabricant AI-Thinker

Un module ESP8266 du fabricant AI-Thinker

Un zoom sur la puce permet de lire les caractéristiques de ce circuit et notamment ses paramètres Wi-Fi.

Le détail du circuit

Le détail du circuit

Le nombre de ports est plus limité, mais L’ESP8266 peut être utilisé pour communiquer par Wi-Fi et gérer directement un afficheur LCD, par exemple, avec une liaison SPI ou d’autres circuits en utilisant un multiplexeur. Sa petite taille le prédispose à être utilisé dans des objets de taille réduite et connectés à Internet.

Une application intéressante qui fait l’objet de nombreux articles et ouvrages est le développement de capteurs connectés en réseau via Internet dans une architecture prévue pour Internet des objets (décrite plus loin) et qui permet la remontée de données locales vers un serveur central, à un intervalle défini. Ce principe est utilisé depuis quelque temps...

Quelques projets courants

1. Commander un moteur avec un transistor et un pont en H

Un moyen efficace de commander la puissance d’un moteur est de couper le courant qui l’alimente à intervalles réguliers. De cette façon, la tension à ses bornes diminue en moyenne et la vitesse de rotation également. Ce principe est celui de la modulation de largeur d’impulsion (MLI ou PWM en anglais pour Pulse Width Modulation) qui permet de déterminer la puissance fournie avec une précision qui dépend de la résolution du circuit qui pilote le moteur.

Pour un Arduino, une sortie peut être à l’état haut et délivrer une cinquantaine de milliampères sous 3,3 ou 5 volts, ce qui ne conviendra qu’aux tout petits moteurs et ne permettra pas de commander des moteurs suffisamment puissants pour animer un robot de taille moyenne.

Pour pallier le manque de puissance en sortie de l’Arduino, il suffit de découpler le circuit qui l’alimente de celui qui alimentera le ou les moteurs. On crée alors un circuit de commande qui fonctionnera en très basse tension et avec des courants très faibles, et un circuit de puissance avec des tensions plus élevées et des courants forts gérés par des composants ad hoc. C’est le principe d’une carte de commande de puissance d’un moteur qui permet de piloter une ou plusieurs « voies » à partir de signaux en courant faible.

Cette configuration nécessite de prendre plusieurs précautions :

  • Les masses des deux circuits d’alimentation, commande et puissance, ainsi que celle de l’Arduino doivent être impérativement reliées.

  • Le circuit à courant fort doit être filtré et régulé, de la manière expliquée plus loin dans cet ouvrage, et les moteurs doivent être « antiparasités » par des condensateurs.

  • Dans certains cas, le circuit de commande doit être mis sous tension avant le circuit de puissance. Cette contrainte dépend du type de carte de puissance utilisé et est signalée par le fabricant dans la notice d’utilisation.

L’utilisation d’un pont en H est assez simple. Historiquement, elle se basait sur l’utilisation de quatre commutateurs synchronisés...

Gérer des capteurs : distance, lumière, son, température

Les capteurs sont très largement utilisés de façon courante et sont essentiels pour la robotique. Ils sont les yeux, les oreilles, les doigts et dans certains cas peu courants l’odorat et le goût d’un système robotique. L’Arduino sait gérer un grand nombre de capteurs et de nombreuses librairies sont venues simplifier leur utilisation au cours des dernières années.

En effet, là où il fallait faire des calculs de conversion et de mise à l’échelle des signaux reçus, il suffit d’appeler une fonction qui les réalisera à la place et de récupérer un résultat. Comme dans d’autres domaines de l’informatique, la réutilisation de code éprouvé et optimisé joue un rôle de levier très important dans le développement d’applications dont les fonctionnalités peuvent s’étoffer et devenir de plus en plus riches dans un environnement d’exécution de plus en plus compact avec des microcontrôleurs de la taille d’un Arduino NANO ou MICRO.

Il reste trois préoccupations essentielles dans l’utilisation des capteurs qui sont leur robustesse, leur fiabilité et leur précision.

  • La robustesse est proche de la fiabilité, mais un capteur fiable peut donner des signaux réguliers et à un niveau reflétant bien la grandeur physique qui le fait agir et tomber en panne à la moindre chute de température ou après quelques heures de fonctionnement.

  • À l’inverse, un capteur robuste et résistant à toute épreuve peut donner de temps en temps des valeurs fantaisistes et se laisser divertir par des perturbations de son environnement. Sa fiabilité est à vérifier ou à améliorer par une redondance.

  • La précision est le résultat d’un compromis. Du capteur grand public à l’instrument de mesure de laboratoire, il y a un monde et détecter une présence n’est pas forcément équivalent à mesurer une distance au millimètre près. La précision, comme les deux autres facteurs, influe fortement sur le coût de ces équipements et sur l’effort...

Des projets moins courants

1. Utiliser un accéléromètre

a. Qu’est-ce qu’un accéléromètre  ?

Une indication est contenue dans le nom même de ce composant : il mesure une accélération exprimée en mètres par seconde au carré et dont l’unité de base est le « g » qui vaut 9,81 m/s2. Cette valeur correspond à la force à laquelle sont soumis naturellement tous les corps présents sur notre planète, avec quelques variations locales, et que l’on désigne sous le terme d’accélération statique puisqu’au repos sur une chaise, elle n’est pas ressentie bien qu’elle s’exerce en permanence.

Une accélération dynamique résultera d’un mouvement ou de l’arrêt d’un mouvement, dans le cas d’un choc par exemple. La détection de choc est utilisée depuis longtemps pour déclencher les airbags d’une voiture, plus récemment avec le déploiement des smartphones pour détecter une chute à moto ou à vélo et prévenir les secours. Il faut distinguer le choc de la chute libre qui peut elle aussi être détectée (cf. l’expérience de Galilée décrite dans le chapitre Les projets pédagogiques et scientifiques) et permettre de mettre en sécurité les têtes de lecture d’un disque dur avant un choc fatal, par exemple.

Entre le début des années 1980, où ce composant a permis le développement des airbags, des systèmes de navigation en aéronautique et son intégration dans des objets de plus en plus petits comme un smartphone ou une manette de jeu, le prix et l’encombrement des accéléromètres n’ont cessé de décroître jusqu’à un prix plancher de 1 ou 2 euros pour un circuit dont l’encombrement ne dépasse pas quelques centimètres carrés. Cette progression spectaculaire a été permise par la mise au point de systèmes microélectromécaniques (Micro Electro Mechanical Systems ou MEMS) basés sur des composants piézoélectriques et qui permettent d’intégrer un gyroscope et un accéléromètre...