Introduction à Arduino
Pour faciliter la recherche et correspondre aux spécificités du langage de programmation C/C++, certains termes sont écrits en anglais dans ce texte.
Arduino est une plateforme qui facilite la création d'appareils électroniques personnalisés. Elle vous permet de donner vie à vos idées sans avoir besoin d'une expertise approfondie en électronique.
Avec Arduino, vous utilisez un petit ordinateur appelé microcontrôleur que vous programmez pour effectuer différentes tâches.
La force d'Arduino réside dans sa convivialité. Vous n'avez pas besoin d'être un expert en programmation ou en électronique pour commencer. La plateforme Arduino fournit des outils simples, des exemples de code et une communauté de soutien, ce qui la rend accessible à toutes les personnes qui souhaitent explorer le monde de la création électronique. Que ce soit le bricolage, la domotique ou simplement l'apprentissage de la programmation qui vous intéresse, Arduino offre une excellente introduction au monde de l'électronique.
Kit de départ
Carte Arduino : Il existe de nombreux modèles, le plus courant étant l'Arduino Uno.
Alimentation : L'Arduino peut être alimenté via le port USB (5 volts) ou une source d'alimentation externe (7 à 12 volts).
Entrées/Sorties (E/S) : Les broches d'E/S (analogues ou numériques) permettent de lire des données à partir de capteurs et de contrôler des actionneurs.
Arduino UNO : Caractéristiques techniques | |
---|---|
Microcontrôleur | ATmega328P |
Tension de fonctionnement | 5V |
Tension d'entrée (recommandée) | 7-12V |
Tension d'entrée (limite) | 6-20V |
Pins d'E/S numériques | 14 (dont 6 fournissent une sortie PWM) |
Pins d'E/S numériques PWM | 6 |
Pins d'entrée analogique | 6 |
Courant continu par broche d'E/S | 20 mA |
Courant continu pour la broche 3,3V | 50 mA |
Mémoire Flash | 32 Ko (ATmega328P) dont 0,5 Ko utilisés par le chargeur d'amorçage |
SRAM | 2 Ko (ATmega328P) |
EEPROM | 1 Ko (ATmega328P) |
Fréquence d'horloge | 16 MHz |
LED_BUILTIN | 13 |
Longueur | 68,6 mm |
Largeur | 53,4 mm |
Poids | 25 g |
Capteurs : Utilisez des capteurs tels que des boutons, des capteurs de lumière, de température, de mouvement, etc.
Actionneurs : Utilisez une diode électroluminescente (DEL), des moteurs, des relais, et plus encore pour effectuer des actions physiques.
Plaque de prototypage (breadboard) : Un outil utile lors du prototypage pour créer des connexions temporaires entre les composants électroniques.
Arduino IDE
Arduino IDE est un environnement de développement intégré spécifiquement conçu pour programmer des microcontrôleurs Arduino.
IDE (Integrated Development Environment, en anglais) signifie Environnement de développement intégré, en français.
L'Arduino IDE offre un ensemble d'outils pour écrire, compiler et téléverser du code sur les cartes Arduino. Voici quelques-unes de ses caractéristiques :
Éditeur de code : L'IDE dispose d'un éditeur de code avec des fonctionnalités telles que la coloration syntaxique, la numérotation des lignes et l'autocomplétion, ce qui facilite l'écriture du code Arduino.
Gestionnaire de bibliothèques : Il offre un gestionnaire de bibliothèques intégré qui permet aux utilisateurs d'ajouter des bibliothèques tierces pour étendre les fonctionnalités de base de l'Arduino.
Moniteur série : L'IDE inclut un moniteur série qui permet de visualiser les données envoyées et reçues par la carte Arduino via le port série.
Téléversement (Upload) : Il simplifie le processus de téléversement du code sur la carte Arduino connectée à l'ordinateur.
Exemples de code : L'IDE propose de nombreux exemples de code préinstallés, ce qui facilite l'apprentissage et la compréhension des concepts Arduino.
Compatibilité multi-plateforme : L'Arduino IDE est compatible avec plusieurs systèmes d'exploitation, notamment Windows, MacOS et Linux.
Téléchargez et installez l’IDE depuis le site Web officiel d'Arduino.
Écriture du code
Arduino utilise un langage de programmation basé sur C/C++.
Variables : Définissez un type de données (int, double) et déclarez une variable (maVariable) pour stocker des données.
Les règles générales pour nommer les variables en C++ sont les suivantes :
Caractères autorisés : Les noms de variables peuvent contenir des lettres (majuscules ou minuscules), des chiffres et des soulignés (_).
Premier caractère : Un nom de variable doit commencer par une lettre ou un souligné (_).
Sensibilité à la casse : Les noms de variables sont sensibles à la casse. Cela signifie que les majuscules et les minuscules sont distinctes. Par exemple, maVariable et mavariable sont considérés comme deux variables différentes.
Caractères spéciaux : Les noms de variables ne peuvent pas contenir d'espaces blancs ni de caractères spéciaux tels que !, #, %, etc.
Mots réservés : Vous ne pouvez pas utiliser des mots réservés du langage C++ (comme les mots-clés tels que int, if, else, etc.) comme noms de variables.
int monNum = 5; // Entier (nombre entier)
float monNumFloatant = 5.99; // Nombre à virgule flottante 6-7 chiffres décimaux
double monDoubleNum = 9.98; // Nombre à virgule flottante jusqu'à 15 chiffres décimaux
char maLettre = 'D'; // Caractère
bool monBoolean = true; // Booléen = vrai ou faux (true or false)
std::string monTexte = "Bonjour"; // Chaîne de caractères
const int maConstante = 10;
/* const : Indique que la variable ne peut pas être modifiée après son initialisation. */
volatile int maVariableVolatile = 5;
/* volatile : Indique que la variable peut être modifiée à l'extérieur du programme,
ce qui est important lorsque la variable peut être modifiée par une autre partie du programme ou par du matériel externe. */
signed int entierSigne;
unsigned int entierNonSigne;
// signed / unsigned : Modifient la portée des types entiers pour être signés ou non signés.
short int entierCourt;
long int entierLong;
// short / long : Modifient la taille d'un type entier.
long long int entierTresLong;
// long long : Modifie la taille d'un type entier pour être particulièrement long.
float nombreFlottant;
double nombreDouble;
long double nombreDoubleLong;
// float / double / long double : Modifient la précision et la taille des types de données à virgule flottante.
auto x = 5; // x est du type int
// auto : Permet au compilateur d'inférer automatiquement le type d'une variable à partir de son initialisation.
register int compteur;
//register : Suggère au compilateur de stocker la variable dans un registre plutôt que dans la mémoire principale.
Fonctions : Créez des fonctions pour organiser votre code en blocs réutilisables. Chaque programme Arduino doit contenir au moins deux fonctions : setup() et loop().
setup() : Cette fonction est exécutée une fois au démarrage de la carte Arduino. Elle est généralement utilisée pour configurer les broches et les paramètres initiaux.
loop() : Cette fonction est exécutée en boucle après que setup() est terminé. C'est là que vous placez le code qui sera exécuté en permanence.
Boucles : Utilisez des boucles for, while ou do-while pour répéter des actions.
Conditions : Utilisez des instructions if, else if et else pour prendre des décisions dans votre code.
Commentaires : Utilisez des commentaires (// pour des commentaires en ligne et /* ... */ pour des commentaires multilignes) pour documenter votre code.
Exemple
Pour faire clignoter une DEL avec Arduino IDE, vous pouvez utiliser le code suivant. Assurez-vous d'avoir une DEL connectée à la broche appropriée de votre carte Arduino (par exemple, la broche 13 sur une carte Arduino Uno) :
Matériel requis : |
---|
Arduino Uno (ou tout autre modèle compatible) |
Une DEL |
Une résistance de 220 ohms |
Quelques fils de raccordement |
Une plaque de prototypage (breadboard) |
// Définir et déclarer une variable pour la broche de la DEL
const int pinDel = 13;
void setup() {
// Définir la broche de la DEL comme une sortie
pinMode(pinDel, OUTPUT);
}
void loop() {
// Allumer la DEL
digitalWrite(pinDel , HIGH);
delay(1000); // Attendre 1 seconde (1000 millisecondes)
// Éteindre la DEL
digitalWrite(pinDel , LOW);
delay(1000); // Attendre 1 seconde (1000 millisecondes)
}
Ce code utilise la broche 13 pour la DEL, mais vous pouvez utiliser une autre broche si vous le souhaitez. Assurez-vous simplement de la mettre à jour dans la variable pinDel et de connecter correctement la DEL à la nouvelle broche.
Ce programme fait clignoter la DEL a un intervalle d’une seconde, il répète cette séquence en boucle dans la fonction loop().
Téléversement
Avant de téléverser votre code, assurez-vous que la carte Arduino est correctement sélectionnée dans l’IDE.
Appuyez sur le bouton « Téléverser » pour compiler et charger votre code sur la carte Arduino.
Débogage
Utilisez le moniteur série de l'IDE pour afficher des messages de débogage.
Étapes de connexion de la carte à l’IDE pour l’injection de code:
Exercice
L'objectif de cet exercice est de créer un programme Arduino qui permet de changer la couleur d'une DEL RVB en utilisant un bouton-poussoir.
Matériel requis : |
---|
Arduino Uno (ou tout autre modèle compatible) |
Une DEL RVB (DEL RVB) |
Une résistance de 220 ohms |
Un bouton-poussoir |
Quelques fils de raccordement |
Une plaque de prototypage (breadboard) |
Connectez la DEL RVB à la plaque de prototypage avec la résistance de 220 ohms en série avec la cathode commune selon la DEL que vous avez. Connectez les anodes de la DEL RVB à des broches de sortie de l'Arduino (par exemple, Rouge à D9, Vert à D10, Bleu à D11).
Connectez une extrémité du bouton-poussoir à une broche d'entrée de l'Arduino (par exemple, D2) et l'autre extrémité à la masse (GND).
Dans le programme Arduino, initialisez les broches de la DEL RVB et du bouton-poussoir en tant que sorties et entrées respectivement.
Écrivez un code qui lit l'état du bouton-poussoir. Lorsque le bouton est enfoncé, le programme devrait faire changer la couleur de la DEL RVB en passant d'une couleur à une autre (par exemple, de rouge à vert, de vert à bleu, de bleu à rouge).
Assurez-vous que le programme inclut une temporisation pour éviter des changements de couleur trop rapides. Vous pouvez utiliser la fonction delay() pour cela.
Testez le programme en téléversant le code sur l'Arduino et en appuyant sur le bouton-poussoir pour observer les changements de couleur de la DEL RVB.
Ce projet vous permet de pratiquer la lecture de l'état des entrées, la gestion des sorties, et la manipulation des DEL RVB pour créer un changement de couleur en utilisant un bouton-poussoir.
Exemple de code
Ressources
Le site Web d'Arduino propose des tutoriels, des exemples de code et une documentation complète.
De plus, de nombreuses communautés en ligne, forums et groupes de discussion sont disponibles pour obtenir de l'aide et partager des idées.