Les microcontrôleurs ont un potentiel de création quasiment illimité que ce sois pour automatiser, collecter des données, ou interagir avec d’autres machines, découvrez grâce a ce tutoriel les bases pour faire vos premiers projets arduino.
Sommaire
Qu’est ce qu’une carte arduino ?
Les cartes arduino sont des cartes de prototypage basées sur des microcontroleurs (circuit intégré qui rassemble les éléments essentiels d’un ordinateur) dans lesquels on téléverse un programme informatique pour interragir avec des composants electroniques ou avec d’autres ordinateurs. Elles servent généralement à automatiser des processus trop spécifiques pour lesquels il n’existe pas (ou trop chers) de produit sur le marché ou servent de base pour beaucoup de prototypes ou systèmes embarqués. Avoir les compétences pour utiliser ou au moins une idée de ce qui est possible le de faire grâce a ces cartes ouvre donc un champ de création et de réponse a des problèmes techniques énorme aussi bien dans la vie personnelle que professionnelle.
ex : ici un système d’arrosage automatisé et un drone tout deux faits grâce à une carte arduino.
Présentation matérielle de la carte
Il existe plusieures cartes arduino officielles différentes mais la plus répandue et la plus simple d’utilisation est la arduino uno comme si dessous
*par souci de clarté et pour faciliter la compréhension tout les spécificités de la carte ne sont pas libellées
Les principaux éléments à noter sur la carte sont donc
- Le port USB qui permet la communication avec un ordinateur et l’alimentation parfois
- le bouton reset qui efface le programme présent dans la carte
- les entrées sorties numériques (prennent pour valeur sois 0 sois 5v en entrée ou sortie, elles peuvent également être utilisées en PWM qui émule des signaux analogiques, il y aussi certaines entrées destinées à des normes de communication dont nous ne parlerons pas ici)
- le microcontrôleur, ici un ATmega 328p, élément principal de la carte
- les entrées sorties analogiques (prennent des valeurs entre 0 et 5v)
- les entrées sorties d’alimentation (3.3v, 5v, gnd=terre, Vin = alimentation externe)
- la prise d’alimentation externe (7v à 12v environs)
Intaller l’IDE arduino
La première étape pour installer le logiciel va être de vous rendre sur https://www.arduino.cc/en/software et choisir la version du logiciel adaptée a votre système d’exploitation.
Une fois cette étape réalisée, exécutez l’installer que vous avez téléchargé et configurez son installation celon vos préférences.
Presentation du logiciel
quand vous lancez le logiciel pour la première fois une fenetre comme celle ci se présente :
comme vous le voyez le logiciel est assez complet et rassemble tout ce dont vous avez besoin, un gestionnaire des fichiers liés au projet courant, un gestionnaire de cartes pour pouvoir prendre en charge le plus de cartes possibles, un gestionnaire de bibliothèques, un débogueur et une fonction de recherche dans le code tous rassemblés dans la barre d’outils. Pour téléverser un programme vous devez d’abord connecter votre carte physiquement à l’ordinateur puis la sélectionner avec son port dans le sélecteur de cartes, puis le vérifier et le téléverser avec les deux boutons en haut a gauche.
le moniteur série et le traceur série sont des fonctionnalités du logiciel qui permettent, une fois une connexion en série entre la carte et l’ordinateur établie, d’afficher simplement à la suite des valeurs envoyées par la carte avec le moniteur ou d’en tracer un graphique avec le traceur.
on peut voir ici la fréquence de la connexion qui est de 115200 baud et les différentes données suivies.
Programmation
Les cartes arduino se programment en C++ accompagné de la bibliothèque de développement arduino intégrée a l’IDE. Leur programmation est assez simple et grandement facilitée par le logiciel et les ressources accessibles en ligne, il serait insensé de vouloir tout expliquer ici c’est pourquoi nous ne ferons que survoler cet aspect.
on peut remarquer que lors de la création d’un nouveau programme, les lignes ci dessus sont écrites par défaut cela s’explique par le fait que la très grande majorité des programmes sur arduino seront structurés autour de ces lignes.
Comme écrit en anglais dans les commentaires (marqués par un double /) le code écrit dans la section setup ne sera exécuté qu’une fois et le code écrit dans la section loop sera exécuté a l’infini, de nombreuses fonctions, types de données et structures existent dans la bibliothèque de développement pour utiliser la carte.
En général la partie du programme avant le setup sert a initialiser les variables du projet et importer les librairies.
Certains projets nécessiterons l’importation de librairies, pour ce faire, après avoir installé la librairie dans le library manager, il faudra écrire au début du programme « #include <‘nom de votre librairie’.h>
La breadboard
Les montages électroniques sont plutôt longs et nécessitent normalement de souder ce qui est assez repoussant pour un débutant c’est pourquoi les breadboard existent, celles ci permettent de faire des connexions rapides et réversibles ce qui est pratique en cas d’erreur dans le montage.
Une breadboard se présente comme une plaque avec des trous dans lesquels on peut mettre les pattes d’un composant ou un fil, les lignes sur l’image de droite montrent les connexions électriques entre les trous.
Petit projet d’exemple
Afin d’illustrer concrètement toute la théorie vue précédemment, nous allons réaliser un petit projet simple qui consistera simplement a faire clignoter une led à un délai dépendant de la valeur d’un potentiomètre (composant dont on peut varier la résistance en le tournant).
pour cela on réalise le montage suivant :
*shema fait avec tinkercad.
(une résistance de 220 ohm est ajoutée pour ajuster l’intensité pour la led)
puis on téléverse le code suivant dans la carte :
const int ledPin = 13; // creer une constante pour stocker le pin de la led void setup() { pinMode(A0, INPUT); // on définit le pin analog 0 comme pin d'entré pinMode(ledPin, OUTPUT); // Configurer la broche 13 comme une sortie } void loop() { int valPot = analogRead(A0); // Lire la valeur du potentiomètre int delai = map(valPot, 0, 1023, 100, 1000); // Mapper la valeur qui est entre 0 et 1023 entre 100 ms et 1 s digitalWrite(ledPin, HIGH); // Allumer la LED delay(delai); // Attendre en fonction de la valeur du potentiometre digitalWrite(ledPin, LOW); // Éteindre la LED delay(delai); // Attendre en fonction de la valeur du potentiometre }
ressources complémentaires
Il existe beaucoup de sites communautaires autour des cartes arduino comme le hub de projets officiel de arduino ou instructables où les communautés postent des projets avec le code et les informations pour les reproduire. Ca peut etre une bonne source d’inspiration pour vos propres projets et la communauté pourra vous aider.
Egalement pour se procurer des composants les sites comme aliexpress sont certes peu chers mais également peu fiables en général, c’est pourquoi je conseille plutôt farnell ou gotronic.
Elève en 1ere spécialité nsi en 2023.