Articles

Tout ce que vous devez savoir sur le code ArduinoBlog Postcircuito team11 mars 2018

Depuis le lancement de la plateforme open-source Arduino, la marque s’est établie au centre d’une communauté open-source expansive. L’écosystème Arduino est composé d’une combinaison diversifiée de matériel et de logiciels. La polyvalence d’Arduino et son interface simple en font un choix de premier plan pour un large éventail d’utilisateurs dans le monde entier, des amateurs aux prototypes de produits, en passant par les designers et les artistes.

La carte Arduino est connectée à un ordinateur via USB, où elle se connecte à l’environnement de développement Arduino (IDE). L’utilisateur écrit le code Arduino dans l’IDE, puis le télécharge vers le microcontrôleur qui exécute le code, en interagissant avec des entrées et des sorties telles que des capteurs, des moteurs et des lumières.

Les débutants comme les experts ont accès à une multitude de ressources et de matériels gratuits pour les aider. Les utilisateurs peuvent rechercher des informations sur la façon de configurer leur carte ou même sur la façon de coder sur Arduino. La source ouverte derrière Arduino l’a rendu particulièrement convivial pour les utilisateurs débutants et expérimentés. Des milliers d’exemples de code Arduino sont disponibles en ligne. Dans ce post, nous allons vous faire découvrir quelques principes de base du codage pour Arduino.

Planifiez votre prochain projet Arduino >>

Environnement de codage Arduino et outils de base

Quel est le langage Arduino ?

Le code Arduino est écrit en C++ avec un ajout de méthodes et de fonctions spéciales, que nous mentionnerons plus tard. Le C++ est un langage de programmation lisible par l’homme. Lorsque vous créez un  » sketch  » (le nom donné aux fichiers de code Arduino), il est traité et compilé en langage machine.

Arduino IDE

L’environnement de développement intégré (IDE) Arduino est le principal programme d’édition de texte utilisé pour la programmation Arduino. C’est là que vous allez taper votre code avant de le télécharger sur la carte que vous voulez programmer. Le code Arduino est appelé sketches.

Note : Il est important d’utiliser la dernière version de l’IDE Arduino. De temps en temps, vérifiez les mises à jour ici.

Exemple de code Arduino

Comme vous pouvez le voir, l’IDE a un design minimaliste. Il n’y a que 5 rubriques sur la barre de menu, ainsi qu’une série de boutons en dessous qui vous permettent de vérifier et de télécharger vos croquis. Essentiellement, l’IDE traduit et compile vos croquis en un code que l’Arduino peut comprendre. Une fois que votre code Arduino est compilé, il est ensuite téléchargé dans la mémoire de la carte.

Tout ce que l’utilisateur doit faire pour commencer à compiler son croquis est d’appuyer sur un bouton (un guide à ce sujet peut être trouvé ci-dessous).

S’il y a des erreurs dans le code Arduino, un message d’avertissement se signale, invitant l’utilisateur à apporter des modifications. La plupart des nouveaux utilisateurs éprouvent souvent des difficultés à compiler en raison des exigences strictes d’Arduino en matière de syntaxe. Si vous faites des erreurs dans votre ponctuation lorsque vous utilisez Arduino, le code ne sera pas compilé et vous serez confronté à un message d’erreur.

Moniteur série et traceur série

Le moniteur série d’Arduino peut être ouvert en cliquant sur l’icône de la loupe en haut à droite de l’IDE ou sous les outils. Le moniteur série est utilisé principalement pour interagir avec la carte Arduino à l’aide de l’ordinateur, et est un excellent outil pour la surveillance et le débogage en temps réel. Pour utiliser le moniteur, vous devrez utiliser la classe Serial.

Le code que vous téléchargez sur circuito.io comporte une section de test qui vous aide à tester chaque composant à l’aide du moniteur série, comme vous pouvez le voir dans la capture d’écran ci-dessous :

Le traceur série Arduino est un autre composant de l’IDE Arduino, qui vous permet de générer un graphique en temps réel de vos données série. Le traceur série vous permet d’analyser beaucoup plus facilement vos données grâce à un affichage visuel. Vous êtes en mesure de créer des graphiques, des graphiques de valeurs négatives et d’effectuer une analyse de forme d’onde.

Débogage du code et du matériel Arduino

Contrairement aux autres plateformes de programmation logicielle, Arduino ne dispose pas d’un débogueur embarqué. Les utilisateurs peuvent soit utiliser un logiciel tiers, soit utiliser le moniteur série pour imprimer les processus actifs d’Arduino pour le suivi et le débogage.

En utilisant la classe Serial, vous pouvez imprimer sur le moniteur série, les commentaires de débogage et les valeurs des variables. Sur la plupart des modèles Arduino, cela se fera en utilisant les broches série 0 et 1 qui sont connectées au port USB.

Structure du code

Librairies

Dans Arduino, un peu comme d’autres plateformes de programmation de premier plan, il existe des bibliothèques intégrées qui fournissent des fonctionnalités de base. En outre, il est possible d’importer d’autres bibliothèques et d’étendre les capacités et les fonctionnalités de la carte Arduino. Ces bibliothèques sont grossièrement divisées en bibliothèques qui interagissent avec un composant spécifique ou celles qui implémentent de nouvelles fonctions.

Pour importer une nouvelle bibliothèque, vous devez vous rendre sur Sketch > Importer une bibliothèque

En outre, en haut de votre fichier .ino, vous devez utiliser ‘#include’ pour inclure des bibliothèques externes. Vous pouvez également créer des bibliothèques personnalisées à utiliser dans des sketches isolés.

Définitions des broches

Pour utiliser les broches de l’Arduino, vous devez définir quelle broche est utilisée et sa fonctionnalité. Une façon pratique de définir les broches utilisées est d’utiliser :

‘#define pinName pinNumber’.

La fonctionnalité est soit d’entrée soit de sortie et est définie en utilisant la méthode pinMode () dans la section setup.

Déclarations

Variables

Dès que vous utilisez Arduino, vous devez déclarer des variables globales et des instances à utiliser plus tard. En un mot, une variable vous permet de nommer et de stocker une valeur qui sera utilisée dans le futur. Par exemple, vous stockez les données acquises par un capteur afin de les utiliser ultérieurement. Pour déclarer une variable, il suffit de définir son type, son nom et sa valeur initiale.

Il convient de mentionner que la déclaration de variables globales n’est pas une nécessité absolue. Cependant, il est conseillé de déclarer vos variables pour faciliter l’utilisation de vos valeurs plus tard.

Instances

En programmation logicielle, une classe est une collection de fonctions et de variables qui sont conservées ensemble en un seul endroit. Chaque classe possède une fonction spéciale connue sous le nom de constructeur, qui est utilisée pour créer une instance de la classe. Afin d’utiliser les fonctions de la classe, nous devons déclarer une instance pour celle-ci.

Setup()

Chaque sketch Arduino doit avoir une fonction de configuration. Cette fonction définit l’état initial de l’Arduino au démarrage et ne s’exécute qu’une seule fois.

Ici, nous allons définir les éléments suivants :

  1. Fonctionnalité des broches à l’aide de la fonction pinMode
  2. État initial des broches
  3. Initialiser les classes
  4. Initialiser les variables
  5. Logique du code

Loop()

La fonction loop est également un must pour chaque sketch Arduino et s’exécute une fois que setup() est terminé. C’est la fonction principale et comme son nom l’indique, elle s’exécute en boucle encore et encore. La boucle décrit la logique principale de votre circuit.

Par exemple :

Note : l’utilisation du terme ‘void’ signifie que la fonction ne renvoie aucune valeur.

Comment programmer Arduino

La logique de base du code Arduino est une structure « si-alors » et peut être divisée en 4 blocs :

Setup – sera généralement écrit dans la section de configuration du code Arduino, et effectue des choses qui ne doivent être faites qu’une seule fois, comme la calibration du capteur.

Input – au début de la boucle, lire les entrées. Ces valeurs seront utilisées comme conditions (« si »), comme la lecture de la lumière ambiante à partir d’un LDR en utilisant analogRead().

Manipuler les données – cette section est utilisée pour transformer les données dans une forme plus pratique ou effectuer des calculs. Par exemple, l’AnalogRead() donne une lecture de 0-1023 qui peut être mappée sur une plage de 0-255 pour être utilisée pour le PWM.(voir analogWrite())

Sortie – cette section définit le résultat final de la logique (« alors ») en fonction des données calculées à l’étape précédente. En regardant notre exemple de la LDR et du PWM, allumer une LED uniquement lorsque le niveau de lumière ambiante passe en dessous d’un certain seuil.

Bibliothèques du code Arduino

Structure de la bibliothèque

Une bibliothèque est un dossier composé de fichiers avec des fichiers de code C++ (.cpp) et des fichiers d’en-tête C++ (.h).

Le fichier .h décrit la structure de la bibliothèque et déclare toutes ses variables et fonctions.

Le fichier .cpp contient l’implémentation des fonctions.

Importer des bibliothèques

La première chose à faire est de trouver la bibliothèque que vous voulez utiliser parmi les nombreuses bibliothèques disponibles en ligne. Après l’avoir téléchargée sur votre ordinateur, il vous suffit d’ouvrir Arduino IDE et de cliquer sur Sketch > Include Library > Manage Libraries. Vous pouvez alors sélectionner la bibliothèque que vous souhaitez importer dans l’IDE. Une fois le processus terminé, la bibliothèque sera disponible dans le menu du sketch.

Dans le code fourni par circuito.io, au lieu d’ajouter des bibliothèques externes comme mentionné précédemment, nous leur fournissons le dossier du firmware. Dans ce cas, l’IDE sait comment les trouver en utilisant #include.

Du logiciel au matériel

Il y a beaucoup à dire sur les capacités logicielles d’Arduino, mais il est important de se rappeler que la plateforme est composée à la fois de logiciel et de matériel. Les deux travaillent en tandem pour exécuter un système d’exploitation complexe.

Code → Compilation → Upload → Run

Au cœur de l’Arduino, se trouve la capacité de compiler et d’exécuter le code.

Après avoir écrit le code dans l’IDE, vous devez le télécharger sur l’Arduino. En cliquant sur le bouton Upload (l’icône en forme de flèche orientée vers la droite), vous compilerez le code et le téléverserez s’il a passé la compilation. Une fois votre téléchargement terminé, le programme commencera à s’exécuter automatiquement.

Vous pouvez également procéder étape par étape :

  1. D’abord, compiler le code. Pour ce faire, cliquez simplement sur l’icône de vérification (ou cliquez sur l’esquisse > Vérifier / Compiler dans la barre de menu.

Comme vous pouvez le voir, l’icône de vérification est située en haut à gauche sous la balise « File » dans la section du menu.

Une fois que vous avez fait cela, Arduino commencera à compiler. Une fois qu’il a terminé, vous recevrez un message d’achèvement qui ressemble à ceci:

Comme vous pouvez le voir, la ligne verte en bas de la page vous indique que vous avez « terminé la compilation ». Si votre code ne s’exécute pas, vous en serez informé dans la même section, et le code problématique sera mis en évidence pour être édité.

Une fois que vous avez compilé votre sketch, il est temps de le télécharger.

  1. Choisissez le port série auquel votre Arduino est actuellement connecté. Pour ce faire, cliquez sur Outils > Port série dans le menu pour désigner le port série que vous avez choisi (comme indiqué précédemment ci-dessus). Vous pouvez ensuite télécharger le croquis compilé.
  2. Pour télécharger le croquis, cliquez sur l’icône de téléchargement à côté de la coche. Vous pouvez également aller dans le menu et cliquer sur File> upload. Les LEDS de votre Arduino clignoteront une fois que les données seront transférées.

Une fois terminé, vous serez accueilli par un message d’achèvement qui vous indique qu’Arduino a terminé le téléchargement.

Configuration de votre IDE

Pour connecter une carte Arduino à votre ordinateur, vous avez besoin d’un câble USB. Lorsque vous utilisez l’Arduino UNO, l’USB transfère les données du programme directement sur votre carte. Le câble USB est utilisé pour alimenter votre Arduino. Vous pouvez également faire fonctionner votre Arduino via une source d’alimentation externe.

Avant de pouvoir télécharger le code, vous devez configurer certains paramètres.

Choisissez votre carte – Vous devez désigner la carte Arduino que vous allez utiliser. Faites-le en cliquant sur Outils > Board > Your Board.

Choisissez votre processeur – Il y a certaines cartes (par exemple Arduino pro-mini) pour lesquelles vous devez préciser quel modèle de processeur vous avez. Sous outils > processeur > sélectionnez le modèle que vous avez.

Choisissez votre port – pour sélectionner le port auquel votre carte est connectée, allez dans outils > Port > COMX Arduino (C’est le port série d’Arduino).

Comment installer des cartes non natives (par ex. NodeMCU)

Certains modèles de cartes ne sont pas préinstallés dans l’IDE Arduino, vous devrez donc les installer avant de pouvoir télécharger du code.

Pour installer une carte non native telle que NodeMCU, vous devez :

  1. Cliquer sur outils > Cartes > Gestionnaire de cartes
  2. Rechercher la carte que vous voulez ajouter dans la barre de recherche et cliquer sur « installer ».

Certaines planches ne peuvent pas être trouvées via le gestionnaire de planches. Dans ce cas, vous devrez les ajouter manuellement. Pour ce faire :

  1. Cliquez sur Fichiers > Préférences
  2. Dans le champ Gestionnaire de cartes supplémentaires, collez l’URL du paquet d’installation de votre carte. Par exemple, pour nodeMCU, ajoutez l’URL suivante : http://arduino.esp8266.com/stable/package_esp8266com_index.json
  3. Cliquez sur OK
  4. Allez dans tools > Boards > Boards Manager
  5. Recherchez la planche que vous voulez ajouter dans la barre de recherche et cliquez sur « installer ».

Une fois cette étape terminée, vous verrez les cartes installées dans la liste des cartes sous outils.

Note : le processus peut différer légèrement pour différentes cartes.

Arduino : Une plateforme extrêmement polyvalente

Arduino est bien plus qu’un simple microcontrôleur. Avec un IDE expansif et une vaste gamme de configurations matérielles, Arduino est véritablement une plateforme diversifiée. La variété de ses bibliothèques et sa conception intuitive en font le favori des nouveaux utilisateurs et des makers expérimentés. Il existe des milliers de ressources communautaires pour vous aider à démarrer à la fois avec le matériel et le logiciel.

A mesure que vous progressez dans vos compétences, vous pouvez être confronté à des problèmes qui nécessitent un débogage, ce qui est un point faible de l’IDE Arduino. Heureusement, il existe plusieurs outils et méthodes pour déboguer le matériel et le logiciel Arduino. Dans le prochain article, nous allons voir comment déboguer Arduino (et comment tester le code Arduino), ainsi que comment utiliser les simulateurs et les émulateurs.

.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *